{"_id":"@flowfuse/nr-launcher","_rev":"1047-c89fd457616e1583ee44369e0b1ebfa6","name":"@flowfuse/nr-launcher","dist-tags":{"pre-staging-main":"2.12.1-b590868-202501021116.0","pre-staging-e6a01673fd80d6e39f2563db97df0d9b7bcbd84c":"2.12.1-b590868-202501021203.0","pre-staging-aa5ed0371c6feea06c5bc1e72e384b905c43e783":"2.12.1-b590868-202501021228.0","pre-staging-ae720376f54f9ed37be4f984c1f552e07a2e5991":"2.12.1-b590868-202501022118.0","pre-staging-bf65df07a0fa9b654cdac621565b2d23ca3f4d20":"2.12.1-b590868-202501031009.0","pre-staging-feat-3":"2.12.1-dc5fec7-202501031020.0","pre-staging-092def3c9b03364c6b26da7ebc6c319ee7993b52":"2.12.1-b590868-202501081844.0","pre-staging-2a307be4f2b9d1d24d568c4f8f044fc789ec2c0f":"2.12.1-b590868-202501081951.0","pre-staging-da6ee4825281569d115b7d51d14f5b54210b4b7b":"2.12.1-b590868-202501082055.0","pre-staging-nr-resource-api":"2.17.1-3e29caa-202505141403.0","pre-staging-fix-startup-metrics-output":"2.21.3-b6b69a5-202509160939.0","pre-staging-feat-readiness-endpoint":"2.23.2-c04c8ba-202511191119.0","pre-staging-593586d869d4a85fec765df18e9e6e56e36ee001":"2.27.1-326cb1c-202602161604.0","pre-staging-ppawlowski-patch-1":"2.27.1-10e05f2-202602162042.0","pre-staging-3531fc902ba54a494e5590a0bfbbf5a2532346b8":"2.27.1-43173f6-202602170703.0","pre-staging-d218b14b7799aa155a977f6f439dc2394c4ed86d":"2.27.1-43173f6-202602171129.0","pre-staging-1a85ac674a21982c06074f81f5458ebd9bebdaaa":"2.27.1-43173f6-202602171636.0","pre-staging-a24fc7340fcb033a42f3051157573add859107c1":"2.27.1-d0412a6-202602261456.0","pre-staging-c94518c6504e3d128d3be866bd38458c98ed917c":"2.27.1-d0412a6-202602261608.0","pre-staging-f93555c13c1fdd5a3c2a6bb8214fe6c61b474df2":"2.27.1-d0412a6-202602261629.0","pre-staging-27aeb2f1db841216734f6c4aa5abd02de6d37a0e":"2.29.2-7f1c187-202605051831.0","latest":"3.1.0","nightly":"3.1.1-933ab2b-202610011653.0"},"versions":{"1.13.3":{"name":"@flowfuse/nr-launcher","version":"1.13.3","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@1.13.3","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"fa6a3263d8d258660e6b3d0c56c5884f2d3f5c54","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-1.13.3.tgz","fileCount":40,"integrity":"sha512-t69L0OpMsLWdnRe1oxR7dr8YZPQOpUSQ1E8cUfldCfYJh/vMfszWGYYCetXhAO61umlDYAfkAZCnPqMmxmp1Gg==","signatures":[{"sig":"MEUCIH81+BCCE7XHKONgsAzwOicM+8DSVFzFkrvZDCsza7l1AiEAtjurmqdtytYaqm3iV81fWfFS1Fqb0YX7WzDWCF823Bk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":547358},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"a177f3ee42683dff51583330d7942717cf8960a0","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","prom-client":"^15.0.0","@node-red/util":"^3.1.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"^0.0.5","@flowfuse/nr-project-nodes":"^0.5.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_1.13.3_1700659499639_0.6682713672609213","host":"s3://npm-registry-packages"}},"1.13.4-cca7609-202311221351.0":{"name":"@flowfuse/nr-launcher","version":"1.13.4-cca7609-202311221351.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@1.13.4-cca7609-202311221351.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"dca60b3449afb27455eb97f8a7ad2a430b2fc77a","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-1.13.4-cca7609-202311221351.0.tgz","fileCount":40,"integrity":"sha512-BGnEwOPkkl506W3auXKrL+YnaDYd4fGyhZ9+iDDYmlu/Lk10yRss3C6scR9kcP8C3jvdCn81ACzv3LiAPvOtmg==","signatures":[{"sig":"MEYCIQC/Bl+mGXy9DTV4OO1pSyjZkpDseA2uBjoX6Z27jGRfxQIhALcryzCpwoKPpmAZOgQMeD3f+i9lmWP7pwl0DhgO5Qg3","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":547143},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"cca7609f315f69e8e4404ddec67c8de71f5a2b9c","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","prom-client":"^15.0.0","@node-red/util":"^3.1.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_1.13.4-cca7609-202311221351.0_1700661109301_0.5815916791124831","host":"s3://npm-registry-packages"}},"1.13.4-cca7609-202311221358.0":{"name":"@flowfuse/nr-launcher","version":"1.13.4-cca7609-202311221358.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@1.13.4-cca7609-202311221358.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"d333477c73b62cf15e6390ff60dbb45ba68f5859","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-1.13.4-cca7609-202311221358.0.tgz","fileCount":40,"integrity":"sha512-vBY0BR18VU+nsbgC99d0UF29slqFZFFaNYD9PRIFrk30J0Q+xIgto+5ErUepUF1sGvY4b7h/iDPiAN3P8WqStg==","signatures":[{"sig":"MEQCIHzrRlbYdZHWrq4YnlVr1JUyjcft922Nl0XwaLZ1aUEZAiBwQpJgvP5fyZb+fR32zPgrRhkxXCDBuWFWJ0hMaWufKQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":547143},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"cca7609f315f69e8e4404ddec67c8de71f5a2b9c","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","prom-client":"^15.0.0","@node-red/util":"^3.1.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_1.13.4-cca7609-202311221358.0_1700661519479_0.6727523926332859","host":"s3://npm-registry-packages"}},"1.13.4-cca7609-202311221508.0":{"name":"@flowfuse/nr-launcher","version":"1.13.4-cca7609-202311221508.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@1.13.4-cca7609-202311221508.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"7660346cf0b8ed941724b8e6f29abe9cc6b198ae","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-1.13.4-cca7609-202311221508.0.tgz","fileCount":40,"integrity":"sha512-JFGS8kCVCZY695pra3q3o9SV+Zc/A3zdLA4B8VkAj+aU94Q9K41RAr+ZEVE1ULhl4OAlL1NMB83ZkIXpgvYEnA==","signatures":[{"sig":"MEQCIGlO+d5d2d4p0Z3u8mt51jnHrIqUnW5L0uF3uPDCbIcVAiBrAMiLBQLSQbt4uBBJ884zEh1kCfkZkPcAJ0IKyrnzhA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":547143},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"cca7609f315f69e8e4404ddec67c8de71f5a2b9c","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","prom-client":"^15.0.0","@node-red/util":"^3.1.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_1.13.4-cca7609-202311221508.0_1700665710168_0.009372491258912152","host":"s3://npm-registry-packages"}},"1.13.4-cca7609-202311221658.0":{"name":"@flowfuse/nr-launcher","version":"1.13.4-cca7609-202311221658.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@1.13.4-cca7609-202311221658.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"8650f5195c05059df13651f3bd3a807ef0479e14","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-1.13.4-cca7609-202311221658.0.tgz","fileCount":40,"integrity":"sha512-lp7mkqSoPgHTSD2YHpph7ADFUib5Qmo+RCiOtj4X0XRLkGkQU4sLjqFumtpWg2pIPQB5GdJJ7vEyvIEYxO2PFw==","signatures":[{"sig":"MEUCIQDc40lRH+wIy+dUECFSumleNVm+7c0ADg1rvIH/cjke5gIgDlhfYLV3DVj6HMlYji3IFXs935eaJbgcKkozhBbZI1g=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":547143},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"cca7609f315f69e8e4404ddec67c8de71f5a2b9c","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","prom-client":"^15.0.0","@node-red/util":"^3.1.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_1.13.4-cca7609-202311221658.0_1700672314936_0.9014983594977115","host":"s3://npm-registry-packages"}},"1.13.4-4a71898-202311221717.0":{"name":"@flowfuse/nr-launcher","version":"1.13.4-4a71898-202311221717.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@1.13.4-4a71898-202311221717.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"d86cf69ac7feab502d821a66d116e52e08fdb17f","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-1.13.4-4a71898-202311221717.0.tgz","fileCount":40,"integrity":"sha512-3hl8rHvFOGuZVthFESnMS1K3SDBzfMnYrHgTmGs5nTd9wbSoQxiHzCH9ZcgibF+nsCcxnbtmOpnCbB58H5TV/Q==","signatures":[{"sig":"MEYCIQDbeJPEHHNV1xknmMczNXEHwSvFspHfDP1f507lwJnu+gIhAI3OWR0NFvFmaBIGOZuDEeVHsY4JFZCqvhO6GRq+38OG","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":547143},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"4a718981113bf388c5d9bfa7156c56442fd5b535","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","prom-client":"^15.0.0","@node-red/util":"^3.1.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_1.13.4-4a71898-202311221717.0_1700673432128_0.901168844033051","host":"s3://npm-registry-packages"}},"1.13.4-4a71898-202311231106.0":{"name":"@flowfuse/nr-launcher","version":"1.13.4-4a71898-202311231106.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@1.13.4-4a71898-202311231106.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"9bc5d3eaf97f5c1a58eba1d5d32e32d18f7d2a4d","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-1.13.4-4a71898-202311231106.0.tgz","fileCount":40,"integrity":"sha512-+dIO0ceqjCynKzVEll/tP4S1x7LdzCMH9dIjJ7klXzlEckme/qlrJ2hgcXf4LaxYymgwl+gzw6KeS31fvGWDVw==","signatures":[{"sig":"MEYCIQCca6C1pgDwZybx5Cxolbrd/eW0+UH08F97fT/tGwjlrwIhAI8IMWQ3wTdp77SLUjfW/YfPnMvfX7nM4G5oJk4UZAxI","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":547143},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"4a718981113bf388c5d9bfa7156c56442fd5b535","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","prom-client":"^15.0.0","@node-red/util":"^3.1.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_1.13.4-4a71898-202311231106.0_1700737582887_0.6082176675168107","host":"s3://npm-registry-packages"}},"1.13.4-4a71898-202311231108.0":{"name":"@flowfuse/nr-launcher","version":"1.13.4-4a71898-202311231108.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@1.13.4-4a71898-202311231108.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"25cd734b7abf6638b2b07e90ef17b87a447debdd","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-1.13.4-4a71898-202311231108.0.tgz","fileCount":40,"integrity":"sha512-5/pBKtNFmh6UnFgicJ1XdKpPRQsrJU4Cn7Ffd8vlJcouF4Qs7EKYFGC1ZPD6r8CdkI+YrqRJLgWY29BY+JjFOA==","signatures":[{"sig":"MEUCIHr10Qhpr48ZNm0rnQQbVoPM7GLY1XTHyKnB6Omxwhp8AiEA8KZORjeMSoAzhqr1RrKM+JLM1Sw1ZcKA0K4jIIvieyg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":547143},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"4a718981113bf388c5d9bfa7156c56442fd5b535","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","prom-client":"^15.0.0","@node-red/util":"^3.1.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_1.13.4-4a71898-202311231108.0_1700737737198_0.17729403565330393","host":"s3://npm-registry-packages"}},"1.13.4-131eaab-202311231112.0":{"name":"@flowfuse/nr-launcher","version":"1.13.4-131eaab-202311231112.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@1.13.4-131eaab-202311231112.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"900d67688a463394c8b76d34869de44d5a681d70","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-1.13.4-131eaab-202311231112.0.tgz","fileCount":40,"integrity":"sha512-beiekj1/S01MhTUrLBgKh75QlU/kgrLlZeRGiAUUPKsvkXKSqdnkSnXouYBCw3O3iZIJQ6jBbsxq3PBQ2de8cQ==","signatures":[{"sig":"MEQCIAm8eP7yD6m7w97OjqP0o8Y/aO9NAyIWu2UjomyQm3L2AiAJySVv604+z7+fKxLLefYU4RYOkomzV7BMSj07i07tkw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":547143},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"131eaab21b796a1322717486a1bb220cfb3bbb1b","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","prom-client":"^15.0.0","@node-red/util":"^3.1.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_1.13.4-131eaab-202311231112.0_1700737949929_0.3592966053831572","host":"s3://npm-registry-packages"}},"1.14.1-f1b879d-202311231141.0":{"name":"@flowfuse/nr-launcher","version":"1.14.1-f1b879d-202311231141.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@1.14.1-f1b879d-202311231141.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"c89c5dcb934ee50d3705fd0184ffadacbbf94a25","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-1.14.1-f1b879d-202311231141.0.tgz","fileCount":40,"integrity":"sha512-RHu/Ay7dvRApqP+vt5ciSG1uxQa1vVO97aEpG996ySepr8tsF902sKrvOmNS+NYPuNkb0+PEQmHvZmva+GhLmw==","signatures":[{"sig":"MEQCIAXfzTTMmGK3TEMoB9CvbFLBexhwJUTf6A0gpa7nzJX9AiA09tyyNa9TmOc1k4bILj+LjUziDc0LwPh/hziwcZTcsg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":547387},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"f1b879d6953a91dc0aae09b703e8b3dfa4b88194","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","prom-client":"^15.0.0","@node-red/util":"^3.1.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_1.14.1-f1b879d-202311231141.0_1700739665067_0.07173211876166463","host":"s3://npm-registry-packages"}},"1.14.0":{"name":"@flowfuse/nr-launcher","version":"1.14.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@1.14.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"6b5d52b63a322e28ce3b9a4df9c8ff66982d79b0","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-1.14.0.tgz","fileCount":40,"integrity":"sha512-FotiBFidjdDsh3+Lx5pzFzzX3/TlvQ1o5wX5+K0nH/PHl0rMSRPzBRenSckfECaWHBofbcowaiqs4Wyx4ysWjw==","signatures":[{"sig":"MEQCIBmrQPfxtevSJZrqjSpVjiTnSFj6TkzNYH+gsV4+UzDlAiBf426/24vJQbi2ffbBf7R6OFI5OJnW7iXLVtcoT0Os2w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":547602},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"f1b879d6953a91dc0aae09b703e8b3dfa4b88194","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","prom-client":"^15.0.0","@node-red/util":"^3.1.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"^0.0.5","@flowfuse/nr-project-nodes":"^0.6.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_1.14.0_1700739678541_0.9059598591053675","host":"s3://npm-registry-packages"}},"1.14.1-f1b879d-202312012119.0":{"name":"@flowfuse/nr-launcher","version":"1.14.1-f1b879d-202312012119.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@1.14.1-f1b879d-202312012119.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"4cc6fbaa3f87e879ca1a69abfa2669a46a81e1c8","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-1.14.1-f1b879d-202312012119.0.tgz","fileCount":40,"integrity":"sha512-kMpGRhKh2kUhsx+5JtyR20KZF2+UggDvZUQjY5DAjVEuaXqgfJm5l6QX0dZRfrzhIU7tkCmSGfFiR0ZDhAGi6Q==","signatures":[{"sig":"MEYCIQCBnYarATBz558RiQLBzEPk/R/6BbLIOdXGMoROE6dp7gIhAJxK/3b6L4jntiBNhXcEjaohmgdI/Hv7ek4cj8FCoU9P","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":547387},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"f1b879d6953a91dc0aae09b703e8b3dfa4b88194","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","prom-client":"^15.0.0","@node-red/util":"^3.1.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_1.14.1-f1b879d-202312012119.0_1701465553710_0.8691076505782671","host":"s3://npm-registry-packages"}},"1.15.0":{"name":"@flowfuse/nr-launcher","version":"1.15.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@1.15.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"af11d288e31cf9b1afc2b8f23f4cb7619394a0aa","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-1.15.0.tgz","fileCount":40,"integrity":"sha512-vtc0l3l1ZQohY/78Z/cwLxZ5TchFFTZZ5bF/W+vd6B7IQuNe8+s8BgMy89e4Nj80yQ3iKe/xkiMKUVMQoGQFvg==","signatures":[{"sig":"MEUCIB22wsLsIyxUSY+DZCP3blDGLZodUaF0ayeKNe7X25PaAiEAtxza/Q7MBU3z0FtxPCPFQErRIMgZzmiT2/22LvtWz2c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":547625},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"1b93058358b7ed563bda86f98cf95b85c0971947","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","prom-client":"^15.0.0","@node-red/util":"^3.1.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"^0.0.5","@flowfuse/nr-project-nodes":"^0.6.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_1.15.0_1703165393231_0.9711234026854676","host":"s3://npm-registry-packages"}},"1.15.1-1b93058-202312211330.0":{"name":"@flowfuse/nr-launcher","version":"1.15.1-1b93058-202312211330.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@1.15.1-1b93058-202312211330.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"37b73071b8230e4adecb1e6f63df88457e4eab15","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-1.15.1-1b93058-202312211330.0.tgz","fileCount":40,"integrity":"sha512-rGN4saEc5HPvamiGLfqvwW6Athp+w13OC3A6v4pVovhuKTzPSzYhN3XThO/2GoMDWshl+RRKf8hcOc8YlEMBLQ==","signatures":[{"sig":"MEQCIB++EAtxQp7zJKzcyEfaEBkivKiLR9SyaYATmQlNYQkNAiAB/fniecsfuln5YBFlo7wmQa7J1EKsJVQgWanBQajAVA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":547410},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"1b93058358b7ed563bda86f98cf95b85c0971947","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","prom-client":"^15.0.0","@node-red/util":"^3.1.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_1.15.1-1b93058-202312211330.0_1703165405915_0.1793066336953797","host":"s3://npm-registry-packages"}},"1.15.1-5fb135d-202401101716.0":{"name":"@flowfuse/nr-launcher","version":"1.15.1-5fb135d-202401101716.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@1.15.1-5fb135d-202401101716.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"00f4668754954e18f9480af2e4dc1e6028142529","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-1.15.1-5fb135d-202401101716.0.tgz","fileCount":40,"integrity":"sha512-ISKr9ITcATOp+V40ADL9u3a1H0uDHnVEpZtIh6n4wUk7ZKoPxH7WybkRcezDKCBzRKa6MDZg8PQKtEwYr8BoCQ==","signatures":[{"sig":"MEUCIQD5Romj+Q99oUw/bBMze+fpVPDIbYNSsqb1eiyeC/J2SAIgHxRJRGOCOL4Cdu+rM1PWv7d9+C7KxCk/cshFvnTr9Z4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":547330},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"5fb135ddb675c3391d2150a2c1b092961b1148b8","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","prom-client":"^15.0.0","@node-red/util":"^3.1.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_1.15.1-5fb135d-202401101716.0_1704906997166_0.5695246212126237","host":"s3://npm-registry-packages"}},"2.0.1-b167221-202401181021.0":{"name":"@flowfuse/nr-launcher","version":"2.0.1-b167221-202401181021.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.0.1-b167221-202401181021.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"dbfe5b4d42e276ce2b6db3f5851912fc2b58c193","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.0.1-b167221-202401181021.0.tgz","fileCount":40,"integrity":"sha512-2xbyI1sP+GQpqtbZPZWpvzCrWyE/+H5Kp/wxpXOUd9TIwx2d3fKlt45rcXRAMYcjPz1SX49VcK0T+BUfu/Ielw==","signatures":[{"sig":"MEQCIHL0esvx76k0mNbnBg2TAW9A33WJhYq8Dw3gDN35ClwuAiA7rE7nvM3oI2T2SkgWJAo39jKiqoNZci43oh7Yc9TS3w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":547390},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"b167221e056c40d2ec5fe0d1c18044187502b5b8","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","prom-client":"^15.0.0","@node-red/util":"^3.1.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.0.1-b167221-202401181021.0_1705573282608_0.3873516840852196","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"@flowfuse/nr-launcher","version":"2.0.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.0.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"81d88ef59e35c71ee4002fc29d96e742458fcddb","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.0.0.tgz","fileCount":40,"integrity":"sha512-k6cNZDltG8tO4Q3ORwmuzR513OA1DuGmccttAdqrVG+LL7zekUpMratHiCKTRSIr1JYNkjoero9QQbLxQJZDyg==","signatures":[{"sig":"MEQCIA4gjAUGpZ1zgk/4rVUzvlS9fvAgBp2w/4pWL6/WNCUDAiAO0+IDq+pY8GoxqXDuOVrgVo/XwhS/48ACPQwD0oRgJw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":547605},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"b167221e056c40d2ec5fe0d1c18044187502b5b8","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","prom-client":"^15.0.0","@node-red/util":"^3.1.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"^0.0.5","@flowfuse/nr-project-nodes":"^0.6.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.0.0_1705573314476_0.5604025822107213","host":"s3://npm-registry-packages"}},"2.0.1-84536b8-202401230954.0":{"name":"@flowfuse/nr-launcher","version":"2.0.1-84536b8-202401230954.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.0.1-84536b8-202401230954.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"088a246e2e75c7abe13a910d85f741d2d4072abf","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.0.1-84536b8-202401230954.0.tgz","fileCount":40,"integrity":"sha512-KSb/1JP11zpqnjhUq4SCzphkgv+vPm0t6Yik5UJ6U5O2RLDf6kBynFF3OHADr4xzFlgGtIDpzfQ63l8yXvGWmg==","signatures":[{"sig":"MEYCIQD77PJ5cliVKkJtdwE4MdqhVf33ypqltoZSy019MN1mGQIhAMzMc4M8+7P57C7haWuad7CJKbPgvPn45nUaXcAj66Ed","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":547480},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"84536b850625919325cfae4a294cd7082027e660","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","prom-client":"^15.0.0","@node-red/util":"^3.1.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.0.1-84536b8-202401230954.0_1706003670396_0.8574860195041833","host":"s3://npm-registry-packages"}},"2.0.2-493aff9-202401231350.0":{"name":"@flowfuse/nr-launcher","version":"2.0.2-493aff9-202401231350.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.0.2-493aff9-202401231350.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"39feddee4734c7f93b02a52d3ce048688415b95d","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.0.2-493aff9-202401231350.0.tgz","fileCount":40,"integrity":"sha512-QdRY/trGXWy/WWx24eLjBKJY3TWaIwN0+5efGch84fHh7qkHAAQL9xj1ifuTyMIZ/F9aWKIjmkqWhr5VzTsHKA==","signatures":[{"sig":"MEQCIGTV/w1GphwFvIUFu2PJitSzLJ4cxtLbWiLBuXRL9xRqAiBTNMd0Nk3Ht1xmcpmOmdoPIkKzZf1QD5oz3yTpmpOjjw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":547561},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"493aff99d0c1d270cbeb4b33e59c053885c4fb16","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","prom-client":"^15.0.0","@node-red/util":"^3.1.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.0.2-493aff9-202401231350.0_1706017861519_0.7313340327743532","host":"s3://npm-registry-packages"}},"2.0.1":{"name":"@flowfuse/nr-launcher","version":"2.0.1","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.0.1","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"004e0c229397149edfa45e7eceaa2bcabe6e9104","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.0.1.tgz","fileCount":40,"integrity":"sha512-tOipmu/7aT3JhVpvBfIjd+PmtBvjWLB8G0H6HeZxkGrbsGXkWz3axr2X6oEDikNiGl3SVwtAKsMf9rwI/TnnGg==","signatures":[{"sig":"MEQCIFbGvvA4c88t/jUmD1iPhsZQR+IltbsEznSToEjYXytBAiBqaK7TlfovB5PxEBm285MP4OrjFUO5piPN6m5Bz5bZbg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":547776},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"493aff99d0c1d270cbeb4b33e59c053885c4fb16","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","prom-client":"^15.0.0","@node-red/util":"^3.1.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"^0.0.5","@flowfuse/nr-project-nodes":"^0.6.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.0.1_1706018408791_0.07959595934518293","host":"s3://npm-registry-packages"}},"2.0.2-2e86caf-202402071013.0":{"name":"@flowfuse/nr-launcher","version":"2.0.2-2e86caf-202402071013.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.0.2-2e86caf-202402071013.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"e3552a2c841a0644663d6fce9075c235667ed52e","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.0.2-2e86caf-202402071013.0.tgz","fileCount":40,"integrity":"sha512-Zdw60uQ31iDM3Ib1TGsay+iDByqIsV7/WLZr3gz6PRiX0auUKXrIrWwsjSKfEHkTWvnWQg/bZY5eseRAf4/E/w==","signatures":[{"sig":"MEQCIHfVdMhogsVYP6Tlaco3t23RTSlLu9rPogfGMcn8FbVtAiBmRJI6UQFLyctSQGbBuAELo8y1Qs3mexOvpo0YGQAU/g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":547707},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"2e86caf85801b2801b20ab9c6ab0ef868e54d48e","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","prom-client":"^15.0.0","@node-red/util":"^3.1.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.0.2-2e86caf-202402071013.0_1707300824446_0.7449486174162301","host":"s3://npm-registry-packages"}},"2.1.1-671ae76-202402151353.0":{"name":"@flowfuse/nr-launcher","version":"2.1.1-671ae76-202402151353.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.1.1-671ae76-202402151353.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"3cea818213eb1833a6ef2c46681e2f1e36f19aec","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.1.1-671ae76-202402151353.0.tgz","fileCount":40,"integrity":"sha512-43c7kcy3ivX65n9LQCsOF3Tn1b68VMWYnSHYWFx7XhpxoPojPTWvmN7JVMhQORyhIa2h+utVk6mENa7LHbcmvw==","signatures":[{"sig":"MEQCIADv3aqy8SSRu1FXb9fyTmiRdJbL5m9VStW+r4ZiYh6sAiBFg4jk6k+pW9JfZsVR7rJO4plkhEQr9vN0GS2t66IKbQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":547765},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"671ae7660853ca119c940becdd3fcc4bd8055080","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","prom-client":"^15.0.0","@node-red/util":"^3.1.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.1.1-671ae76-202402151353.0_1708005245269_0.8781931021321256","host":"s3://npm-registry-packages"}},"2.1.0":{"name":"@flowfuse/nr-launcher","version":"2.1.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.1.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"91c97bbc044149bbbabbdfac7aeb4a80dfa5dbc6","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.1.0.tgz","fileCount":40,"integrity":"sha512-+bDFCwK5pzgf/Fvww77HuEO6VkigArQCO1qjbE2P+5MsvY/OeCa3FzeVKBu9hU3Txie5paBH8x0G2wEA8ESjmA==","signatures":[{"sig":"MEYCIQCoWp32eQRAvgXoaxEBWGOd72afq2mTtx9pXH9AeMuTLwIhALOhQmUdd/MeEkYdIYC6aVEObXyLetBSFi+O64pN+Wlv","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":547980},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"671ae7660853ca119c940becdd3fcc4bd8055080","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","prom-client":"^15.0.0","@node-red/util":"^3.1.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"^0.0.5","@flowfuse/nr-project-nodes":"^0.6.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.1.0_1708005277163_0.2674820374491551","host":"s3://npm-registry-packages"}},"2.1.1-9177509-202402210912.0":{"name":"@flowfuse/nr-launcher","version":"2.1.1-9177509-202402210912.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.1.1-9177509-202402210912.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"73e79ac8cc13a3c9cacf2665c000faca7fe7d878","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.1.1-9177509-202402210912.0.tgz","fileCount":40,"integrity":"sha512-2yD/66kJKdfI+sNvTeHvy9K5OaB6uL96r9R5QcMu7OtHnj6jX/MrFzHgDOk9G3SU/icux/vhFwtxBBmcHBflfA==","signatures":[{"sig":"MEUCIGoLfQM8Cr8zxUIYRzDNydfv8EYiaee7HkWDIKcRgBI7AiEA87pMrur8i4x/TA4E7TSoW/6lSSKVR8KgL8Uvy9iLb7Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":547765},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"9177509f43825ccfae187ed0be34816c3a31b472","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","prom-client":"^15.0.0","@node-red/util":"^3.1.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.1.1-9177509-202402210912.0_1708506755435_0.1502371405763252","host":"s3://npm-registry-packages"}},"2.1.1-9177509-202402210914.0":{"name":"@flowfuse/nr-launcher","version":"2.1.1-9177509-202402210914.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.1.1-9177509-202402210914.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"7cb9f69910bcf2999c0c20c492127f0b5d2b6967","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.1.1-9177509-202402210914.0.tgz","fileCount":40,"integrity":"sha512-vZucmxM0tliTr3Ad2GVoDJLYE/FiVyJZ5sZ5pXx0RhGJ5FFZ7hT2OeJRDwJGZ1eUQJ6+N401d+PboHIDUcwORA==","signatures":[{"sig":"MEYCIQDZuFeqogGlt6nU5ResXxfXdoqx7QvoATa5tzt1igWWsgIhALZ4QR0PygGrKDFdBhBEzZH5gS7ZUWaHNU0ZzUTATrE5","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":547765},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"9177509f43825ccfae187ed0be34816c3a31b472","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","prom-client":"^15.0.0","@node-red/util":"^3.1.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.1.1-9177509-202402210914.0_1708506901562_0.33628692262205173","host":"s3://npm-registry-packages"}},"2.1.1-e48f900-202402271756.0":{"name":"@flowfuse/nr-launcher","version":"2.1.1-e48f900-202402271756.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.1.1-e48f900-202402271756.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"3aac26ae847979e4f595cfb5a8b911dd19e27fa8","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.1.1-e48f900-202402271756.0.tgz","fileCount":40,"integrity":"sha512-d1XIesj4EKzrnO12aEEVBr0Y+7z+58JL/wAbwy+5IW/baKKmsNEqW2WLp9mlhM4yosVDSmprUuQfvRpAXjkd+A==","signatures":[{"sig":"MEUCIQD9fG/lhR7W62WyGn7vh11A+DeqBWsbOpXQJM4KPUzz9AIgDQUHB09ibfeHTM0rdsJ4TYw4CSpoSphZ3Lek33wa6b8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":548667},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"e48f900f1feddf01106274ea3d65bc043096cd92","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.1.1-e48f900-202402271756.0_1709056607188_0.5698901850858729","host":"s3://npm-registry-packages"}},"2.1.2-3739f00-202402281119.0":{"name":"@flowfuse/nr-launcher","version":"2.1.2-3739f00-202402281119.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.1.2-3739f00-202402281119.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"b0ac4d5c1dcc408638e67720ba2dc8d26ee2b34b","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.1.2-3739f00-202402281119.0.tgz","fileCount":40,"integrity":"sha512-gpIvF4XdrulABrEWRC4MJZ6Ujq0UZ9Xv61zxHrnDw25DH9aoCOLvR8opkhcMx6ep2xFLCojLJJhVFg+rKXcYiw==","signatures":[{"sig":"MEUCIQDyelpBTvuUhJ4NgFVpTto4teJrblaxjKtCPAZF07dKLgIgYp0sAYmqFU1OvQgPjzTemB77myS0FQwwUg+tGkiZcdA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":548809},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"3739f00311c9b23da722096678faca18ca0457b6","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.1.2-3739f00-202402281119.0_1709119161994_0.8484796566447748","host":"s3://npm-registry-packages"}},"2.1.1":{"name":"@flowfuse/nr-launcher","version":"2.1.1","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.1.1","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"76747b0bf797df77bfc9fee848aa951a405e0e0a","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.1.1.tgz","fileCount":40,"integrity":"sha512-ntJ9+phiEKV40e0AVBhuME2Gx7EESw4I2UUoJEploS+1csjm7M4LMxzHBkdGExTwXYb2nNvSP5Kw91a2u7AfQQ==","signatures":[{"sig":"MEUCID6KUubA1aMwP/c907Yh+yptuBCfaezmkR5gRq7kX582AiEAqPU88JIEQfMs9o3yP/xElwEQuV+OfZ7KFr4U1IaamnU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":549032},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"3739f00311c9b23da722096678faca18ca0457b6","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"^0.0.5","@flowfuse/nr-project-nodes":"^0.6.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.1.1_1709119223273_0.09361198374392354","host":"s3://npm-registry-packages"}},"2.1.2-d51c68c-202403111507.0":{"name":"@flowfuse/nr-launcher","version":"2.1.2-d51c68c-202403111507.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.1.2-d51c68c-202403111507.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"b5e9e0f563deaf45de54637430fa6ee308254448","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.1.2-d51c68c-202403111507.0.tgz","fileCount":40,"integrity":"sha512-GR0i6vJFdjVZieQPI0PgpyOrQP9PZItF7ZGj4eM5qByDNSXpWmG5cQfJBMcjm+7O5MBSzuQVYSAYstuqqGm1eA==","signatures":[{"sig":"MEQCIA/RxYNUI618gMPOvb6ahUnUb3bjWnVmoU4nQf/y2NKBAiA+iNXDnJGL0qABdTzFZXKIUFYgcHqsHgg9/mHU1I4xxw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":550952},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"d51c68c0eba261ea6999fae06e1b3232319f1654","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.1.2-d51c68c-202403111507.0_1710169652084_0.024767478625977057","host":"s3://npm-registry-packages"}},"2.1.2-6ff015e-202403131147.0":{"name":"@flowfuse/nr-launcher","version":"2.1.2-6ff015e-202403131147.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.1.2-6ff015e-202403131147.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"2db3bf6da002f917755315f2a21da4dc8e427b74","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.1.2-6ff015e-202403131147.0.tgz","fileCount":40,"integrity":"sha512-v5oR+UUTNCX460NdW5CZ37NyurTAwUvlVgTu544Ca/Jox+LU5cZB8Ao8VVrzvMph9xaABgkVBEb7UdidUZDG7A==","signatures":[{"sig":"MEUCIQCc89qGe5n0ERKFuJMML+sWg6KxheyI19WQ755DmvAzyAIgffpB4LOZ8Pe09w3z8s4bOlLYX2iPCeZCSIyv5yq3CJA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":550952},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"6ff015e45a17a950353ff939705b831236ca7999","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.1.2-6ff015e-202403131147.0_1710330482306_0.9762427320148852","host":"s3://npm-registry-packages"}},"2.1.2-a15d6db-202403131205.0":{"name":"@flowfuse/nr-launcher","version":"2.1.2-a15d6db-202403131205.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.1.2-a15d6db-202403131205.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"6e6ed8d1dc28f269cdbcd214db44c15484ccdced","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.1.2-a15d6db-202403131205.0.tgz","fileCount":40,"integrity":"sha512-JlrrjyJuQXLZfLXlTgEv9LW3Qe72JV4tQwi0soaHu5jjxjFxH/lU/DQHB1hBGFWXo3RhqaP0V9VFu0NtZIKDBA==","signatures":[{"sig":"MEUCIAUivh/K9EQkUSwW0yaBS5YfSMP3vPzmh8wgIRi0WM0TAiEA8WkKER8Va1aHMYBveaRVaIPkmFRwDBNDZlMHLTy0YjY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":551174},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"a15d6db44dc26d853dc9c90b9160dddf43bde54c","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.1.2-a15d6db-202403131205.0_1710331548535_0.8409851143610607","host":"s3://npm-registry-packages"}},"2.2.0":{"name":"@flowfuse/nr-launcher","version":"2.2.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.2.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"031772431916626ee246a3c9a2f6ff181a5da037","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.2.0.tgz","fileCount":40,"integrity":"sha512-4hQnAFurQRO7OO7coOfawjcyFhGOW/UvbR55uOigJClljOS9KrXm9ULwziBbXUJ/wVaUMhHceMhc8duo212krg==","signatures":[{"sig":"MEUCIQD5/hjft7+F0wIMXSDjt4srq2YB2BozMU1CFjFr65ssIAIgJaLBQHmKwmstlYGRXctvukKrRz9LyGpH4cQqBEP8KMU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":551604},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"5e18fa4aee692e473140979c942a989e853e5575","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"^0.0.5","@flowfuse/nr-project-nodes":"^0.6.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.2.0_1710422748960_0.3429307626358702","host":"s3://npm-registry-packages"}},"2.2.1-5e18fa4-202403141325.0":{"name":"@flowfuse/nr-launcher","version":"2.2.1-5e18fa4-202403141325.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.2.1-5e18fa4-202403141325.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"598be429a7cace7dc781faf150da7d0bd3af60bc","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.2.1-5e18fa4-202403141325.0.tgz","fileCount":40,"integrity":"sha512-lvtjh/IHbqdPm3uuw4ymOuexkkUKdpdnqSLNj5y10mDYC9/habb/Fjv2iUo71f5u06A6XB7HT7udBORn45AMIQ==","signatures":[{"sig":"MEQCIHz3dMGqWm/aOeMPBT82csEYm+eGC2S+K+h3826QZLNWAiAF+DGs/Xl108kXh1mQfvx9ai41f1J28vaSkQ4WQN4Yag==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":551381},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"5e18fa4aee692e473140979c942a989e853e5575","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.2.1-5e18fa4-202403141325.0_1710422762829_0.31416127457935605","host":"s3://npm-registry-packages"}},"2.2.1-5e18fa4-202403151659.0":{"name":"@flowfuse/nr-launcher","version":"2.2.1-5e18fa4-202403151659.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.2.1-5e18fa4-202403151659.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"f8bdae502d3c35d21f0b4efd33c78c85d67f8132","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.2.1-5e18fa4-202403151659.0.tgz","fileCount":40,"integrity":"sha512-vr05mT6YIHZ0Hc+kOBjl+kitUY+EhR8NTIclPkyEXkNHLPoDuBZefBnNr7zz4VVmuFGI9TH4UcRfi9ig8HwQbQ==","signatures":[{"sig":"MEUCIAcTP2sMeUt82SZyjmqhyOqfM3z6y0bEoWbGKI0iz84lAiEA1MqrG67QRVklAn1AxEx06ZLj2LvcM7NfRrUEqiMuwEU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":551381},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"5e18fa4aee692e473140979c942a989e853e5575","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.2.1-5e18fa4-202403151659.0_1710521953078_0.759116935887546","host":"s3://npm-registry-packages"}},"2.2.1-5e18fa4-202403170753.0":{"name":"@flowfuse/nr-launcher","version":"2.2.1-5e18fa4-202403170753.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.2.1-5e18fa4-202403170753.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"6b9eeeea1341efc9439fb33e841884b443c601a9","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.2.1-5e18fa4-202403170753.0.tgz","fileCount":40,"integrity":"sha512-8OSm2CjRs7RDVBcy3r8mHjLEz0e8R5KcQKugr1neJJAWnQzE/GcFGM6CtCynM+EEMMcVjnzm6ahKIhCR4jeE7g==","signatures":[{"sig":"MEUCIQCB/ep6A3s+dZjvXbh8AJgaODgc28yTASFkvvMAtyhSxgIgAR/KtercGEVnE5H9d4ZAr99csJHEjv7q9poxh8IwTu0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":551381},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"5e18fa4aee692e473140979c942a989e853e5575","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.2.1-5e18fa4-202403170753.0_1710662006182_0.47421793098902687","host":"s3://npm-registry-packages"}},"2.2.1-8ddbd6f-202403191416.0":{"name":"@flowfuse/nr-launcher","version":"2.2.1-8ddbd6f-202403191416.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.2.1-8ddbd6f-202403191416.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"3d3d979a3b69eb62cf280e264a37840973abf9c6","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.2.1-8ddbd6f-202403191416.0.tgz","fileCount":40,"integrity":"sha512-XoO3lQHr77TjMXfByf7SEmLbUVJKFoA7ZnJUj9BZ5YMM7/sbNAjZY/mG6atsN00mWOKB3z5qyIN8PmJdsnj9TA==","signatures":[{"sig":"MEUCIBe9M3K5z0RsblQol9W2cxej8OdkuB0IZCwRxJrJevX9AiEAgjknGcqnVbbDx3E5VPhkF01riJsXvD2iACYzCB55sN8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":551819},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"8ddbd6f55c37c953959cca46f2c2ef04221069f4","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.2.1-8ddbd6f-202403191416.0_1710857857065_0.47048180215453317","host":"s3://npm-registry-packages"}},"2.2.1-8ddbd6f-202403191728.0":{"name":"@flowfuse/nr-launcher","version":"2.2.1-8ddbd6f-202403191728.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.2.1-8ddbd6f-202403191728.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"f281816779b9c697b2b9400b064c8b7ba0f9902a","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.2.1-8ddbd6f-202403191728.0.tgz","fileCount":40,"integrity":"sha512-fxkyidZmnNy8orHxtBO2erxm4lY7sHTgN2javYgIoSvdI/JApKuwF/r8AMb8ztNmqewgZxhjNGDlZhRUn7lEjQ==","signatures":[{"sig":"MEYCIQDWSshVWDXXYLP+yr+ZGJKS7gp3B+q7C3o+DRXrCik15QIhAM+BLchbI8w0PzfyWMCUhMBbuSfSwNL82Sgul2j5uq2L","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":551819},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"8ddbd6f55c37c953959cca46f2c2ef04221069f4","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.2.1-8ddbd6f-202403191728.0_1710869328956_0.6751981801491798","host":"s3://npm-registry-packages"}},"2.2.1-8ddbd6f-202403191731.0":{"name":"@flowfuse/nr-launcher","version":"2.2.1-8ddbd6f-202403191731.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.2.1-8ddbd6f-202403191731.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"f26092dc5b208dbe98ec02f41330831e9bcf00fb","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.2.1-8ddbd6f-202403191731.0.tgz","fileCount":40,"integrity":"sha512-lKMPam3FjZqbr8IYtWGzluw6ffcPFz2l2bFWOpEqBc14fYhLVhOMPsv908sAynuvRXYDbfjUFzlE9zdKvtsRxw==","signatures":[{"sig":"MEUCIHh+dxTnDrkOrxFOv7cmYEizABhJcLHnwfkPUpkLEXBCAiEAns125Tn2OdUlU/c6AX1icRqBm6lwtrjQsv3YkKYWYZA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":551819},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"8ddbd6f55c37c953959cca46f2c2ef04221069f4","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.2.1-8ddbd6f-202403191731.0_1710869468251_0.3261328476876386","host":"s3://npm-registry-packages"}},"2.2.1-8ddbd6f-202403201006.0":{"name":"@flowfuse/nr-launcher","version":"2.2.1-8ddbd6f-202403201006.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.2.1-8ddbd6f-202403201006.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"f5be14205ea2d23c0508469ece977cdc0a374f5f","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.2.1-8ddbd6f-202403201006.0.tgz","fileCount":40,"integrity":"sha512-uPgsksguzYACQ5DCxhU0Zi+DcPv8U1uJVNNdh0IZ7AcxiPBaqWsJzm6txSPY5zfUn7QA9NgCO/42AKbqSWP5kg==","signatures":[{"sig":"MEUCICfYLyJmCR5xDvsYRBQrerk0saO+pomN+hgBZG7g94T/AiEAy/8XriATGGZ6GF/EcZeugyDlnLkUep0owVcjuzgEpuQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":551819},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"8ddbd6f55c37c953959cca46f2c2ef04221069f4","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.2.1-8ddbd6f-202403201006.0_1710929176309_0.2245408697425626","host":"s3://npm-registry-packages"}},"2.2.2-18aed0e-202403201047.0":{"name":"@flowfuse/nr-launcher","version":"2.2.2-18aed0e-202403201047.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.2.2-18aed0e-202403201047.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"2a7145be72b4bd313e3841f655853a836d908add","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.2.2-18aed0e-202403201047.0.tgz","fileCount":40,"integrity":"sha512-Xs8G3RPt9MB7A0NIo47YNTUtZtKuVoMk9T1/rOJJqmcvvJZGPg8KybUfNa0AUBDXBL/n1eZ2y1iqkVaZkJaYZg==","signatures":[{"sig":"MEUCIQDNJrfKtY8g7MiY4I/0bvYH9GVxE4OdR4eeNqoHta9CoAIgDhZkROf7yN118b26SmBhNVNMCzzarG3bvv274Ek39UA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":551904},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"18aed0e8b57c2b4fa20de2ffbc478af138cb2572","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.2.2-18aed0e-202403201047.0_1710931623279_0.7992004206799725","host":"s3://npm-registry-packages"}},"2.2.1":{"name":"@flowfuse/nr-launcher","version":"2.2.1","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.2.1","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"a96ac87357731ec01ee97697ba1366b7d444f55d","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.2.1.tgz","fileCount":40,"integrity":"sha512-jq/R2/p5ADXycsJHpFrviBeQbPcopiq53KaSclaQSbE3oOczuEBQELczmCdyY72D0XUoMBIoWvX6K2fV6fuL1g==","signatures":[{"sig":"MEUCIFg8QvNt3kziMnVbxj9btHXYpu/OjLggso5tGi+SCI/YAiEAykVp0NU18F27CXiIbNgOPj6C8S0A2c+f8HfxE1EgpLo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":552127},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"18aed0e8b57c2b4fa20de2ffbc478af138cb2572","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"^0.0.5","@flowfuse/nr-project-nodes":"^0.6.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.2.1_1710931927905_0.7986254535711808","host":"s3://npm-registry-packages"}},"2.2.2-0731092-202403261049.0":{"name":"@flowfuse/nr-launcher","version":"2.2.2-0731092-202403261049.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.2.2-0731092-202403261049.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"e4ea790a1bcb22b0c953721abfe6ff7d580583a8","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.2.2-0731092-202403261049.0.tgz","fileCount":40,"integrity":"sha512-rmYONN+JXe7xoIg7iBroyU4x14V4LN1pH4GxGkqjozdj/nxSOh1/oNDOLsiLzwRjYZqFerrRVuCv5Sg2iX+qIg==","signatures":[{"sig":"MEQCIHfNZ847fAdWPj74TbS2QdOP8K5apLokSeVodgWk3ttBAiAwesqZHOTzJYbE3iXwOvd+s8PSXHPWGWnmK8oiDrODEg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":551949},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"0731092a00815754a73ea34969496dccbeea0475","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.2.2-0731092-202403261049.0_1711450196915_0.06695950437802933","host":"s3://npm-registry-packages"}},"2.2.2-c2d964c-202403301030.0":{"name":"@flowfuse/nr-launcher","version":"2.2.2-c2d964c-202403301030.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.2.2-c2d964c-202403301030.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"56d56fb1551da67b92484fb0429b0a1065a35c83","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.2.2-c2d964c-202403301030.0.tgz","fileCount":40,"integrity":"sha512-GCH8fuFHiHYUgKamcK/7+M4ChgLeo7bJWYU6xfT0sNcMrpWFF9xmsp/6Jdh1ne8I52Y6SakNF7kIdzC3Ovs5+w==","signatures":[{"sig":"MEYCIQDcnUX4q4vFHFX5YeITUSSpW5XkCKyadLQdZsk3r8DW1gIhAKD9FAaXfiPWW3wZqgcoUr+PGB+up449Z6BpEqM4657g","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":551949},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"c2d964c032db8756b618da3505dd349fff9adabd","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.2.2-c2d964c-202403301030.0_1711794620638_0.8288902821447517","host":"s3://npm-registry-packages"}},"2.2.2-da98a6c-202404051250.0":{"name":"@flowfuse/nr-launcher","version":"2.2.2-da98a6c-202404051250.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.2.2-da98a6c-202404051250.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"26fbe2479cc5cd0712d1150c617dffaa0cc53c9d","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.2.2-da98a6c-202404051250.0.tgz","fileCount":40,"integrity":"sha512-lBZlc18dFA4zKHHTlVh9r0aT7pCoP+sqvXWstyK2W1d4B3SgirlRYdL/BgOXlnUyGiOria+6QpCuRuQnDOVl+g==","signatures":[{"sig":"MEUCIECY07rGdEBOOC4tmrnRy3gbv5w+bqDT1C/sq965RTw9AiEA2d3/RCvbt+dEPmIX02+Jj+ZOWxStKP4U2Jj6DoWAUVc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":552009},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"da98a6cd1328350e20339d316625df31ea332b57","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.2.2-da98a6c-202404051250.0_1712321434840_0.7679945419646292","host":"s3://npm-registry-packages"}},"2.2.3-d3429f1-202404051256.0":{"name":"@flowfuse/nr-launcher","version":"2.2.3-d3429f1-202404051256.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.2.3-d3429f1-202404051256.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"68de14dfaea836f50c1a07843ff42f5a0fed4b74","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.2.3-d3429f1-202404051256.0.tgz","fileCount":40,"integrity":"sha512-N0vjlR75mRlfweJlJlhdUGelSeeGaoKNCuNjol6ozamC9BVQ5f3yiUbPuYiQZ8O4FhkCMRQnkm+Ihf7uHpnp3A==","signatures":[{"sig":"MEYCIQDiOpeuB7CqkQByuOH48iTE/1rQWSdSoaRCWfpQKgbANgIhAOWufr7DECDKSsleROpsyfm293kVrTLpP7p5CU/njMlk","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":552202},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"d3429f125e13dc78d3fcba5151d246160e3732ee","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.2.3-d3429f1-202404051256.0_1712321820716_0.7474212739055754","host":"s3://npm-registry-packages"}},"2.2.2":{"name":"@flowfuse/nr-launcher","version":"2.2.2","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.2.2","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"6e2a517b29a187e7f359f838603fd397d74b1de9","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.2.2.tgz","fileCount":40,"integrity":"sha512-MCN0rLRuTMKfbikwtW1aLJV2yDxNdmxLP5Q4pr/f7qgjn+q3wLvpoF5rHOHRzqUBCnxLHM0G4JtkFb/CvShlNA==","signatures":[{"sig":"MEYCIQCiPt2ALT6RvqFDBDXf05R4qYF5qiiXrTI3zmukYZa21AIhAPk0HH/FkGa9ML8Sa3ITgaE2MVOkS21wsq47CJ0IcLMs","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":552425},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"d3429f125e13dc78d3fcba5151d246160e3732ee","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"^0.0.5","@flowfuse/nr-project-nodes":"^0.6.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.2.2_1712321959910_0.1532647579516746","host":"s3://npm-registry-packages"}},"2.2.3-d3429f1-202404091252.0":{"name":"@flowfuse/nr-launcher","version":"2.2.3-d3429f1-202404091252.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.2.3-d3429f1-202404091252.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"76eb8411b46d995b6d15c956f7e69cdd2bb4b10d","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.2.3-d3429f1-202404091252.0.tgz","fileCount":40,"integrity":"sha512-jv7n9zR5RXng8fEGFeft/Vvc87GTufd41qSY+0aNGL79YSwZbPXq+9Kyj9a6XJ3mlbq8eE+pnVz/xx3sBiEawA==","signatures":[{"sig":"MEUCIQCEnDQexwblCj+ABDvXZTIRCPgVdSPylEK3gerFfSSwkwIgHKqEv4jGGZbrIj4xhJ/IYbE02zhvEf7rsgo8QQ2WufQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":552202},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"d3429f125e13dc78d3fcba5151d246160e3732ee","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.2.3-d3429f1-202404091252.0_1712667126111_0.1695470138986359","host":"s3://npm-registry-packages"}},"2.3.1-8c7a5b8-202404110845.0":{"name":"@flowfuse/nr-launcher","version":"2.3.1-8c7a5b8-202404110845.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.3.1-8c7a5b8-202404110845.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"0d0c7e1af80245ce829035f2bafd09002a03055c","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.3.1-8c7a5b8-202404110845.0.tgz","fileCount":40,"integrity":"sha512-fPkzLoiFKg0m1YxhTj8IJkD2Q/hP7smwE0U/rLNz7wxmLbxi8JWzW9AIjnDKuvMugNEM00p/RL6fo6zsYRzEjA==","signatures":[{"sig":"MEQCICZ9104EifXwnDl9ttFDjhA7d/rNgtPgOF2Mj+8xOllIAiBlop81XoB0x83aVdd2cajuRTERV+7odtSJNkpUf6z2DQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":552224},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"8c7a5b8ca534e1e816026bb2e61e2dd9236dd491","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.3.1-8c7a5b8-202404110845.0_1712825141504_0.12555386842215954","host":"s3://npm-registry-packages"}},"2.3.0":{"name":"@flowfuse/nr-launcher","version":"2.3.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.3.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"05c0c31529b7826760cc89e4e27b9fef346d98ae","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.3.0.tgz","fileCount":40,"integrity":"sha512-mobBdJ2TRk+nNYbY+XaLZq1KeGm6yUvSIx9CSlcYorKKtX9K2+hhkAElRPapcN1PXv0AQXVTHuudxUk4H21fSg==","signatures":[{"sig":"MEUCIA38NFN/bOKNuY0rs7jctpbAwsUdLja0fuEr701FTNyrAiEAtu8jAl48nLnRFF4QMcpnLKIbfG62PLChgjeqkMGQHnI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":552447},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"8c7a5b8ca534e1e816026bb2e61e2dd9236dd491","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"^0.0.5","@flowfuse/nr-project-nodes":"^0.6.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.3.0_1712825163377_0.24694631042128434","host":"s3://npm-registry-packages"}},"2.3.1-c545748-202404120925.0":{"name":"@flowfuse/nr-launcher","version":"2.3.1-c545748-202404120925.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.3.1-c545748-202404120925.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"567bb8dd7b0685a4e32f819e0baf6e2ec77c9528","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.3.1-c545748-202404120925.0.tgz","fileCount":40,"integrity":"sha512-lzJg7xCcRZYIMhx9Z6bnthnp8XK9RfybNP6iyNK9ohgaO2xtv5DltLd7vAPebkKW5hbgmntpwIFqNX8t+7Crig==","signatures":[{"sig":"MEQCIDYPpbihcTzGg0oUgvxK1L+nY+4IiqKrIvc7N9PfUnhFAiANmymLJQZJDXXs9vRa3HqcHt2DpoNynWmYpBr2osR+1g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":552237},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"c545748030239c55095b4c39b590fae6f1d2eef8","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.3.1-c545748-202404120925.0_1712913951124_0.23901305600153266","host":"s3://npm-registry-packages"}},"2.3.1-6e36168-202404181140.0":{"name":"@flowfuse/nr-launcher","version":"2.3.1-6e36168-202404181140.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.3.1-6e36168-202404181140.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"e5e2007d078a90496ece653a747a184eda95c3ac","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.3.1-6e36168-202404181140.0.tgz","fileCount":40,"integrity":"sha512-nYmOoLjHGRT7jGEdfSUzj8NmmkO/eyc+g8rhzcQfacaGfySsYJ7PmPrVi+MQp3B4z1pfiHNQSat6SkkbKX50Sg==","signatures":[{"sig":"MEQCIA72I9EpIcUQyK7YD2xmk1+qZWTvVZV6tpRnUFkjTd4VAiALzDTCWFA/ZbaI6fzDR7CZSsxhD5UaMcgdkX3Mn6Ykjw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":553248},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"6e36168919e39387d0f9bfb10add9ae456127b0f","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.3.1-6e36168-202404181140.0_1713440460763_0.8926666639835505","host":"s3://npm-registry-packages"}},"2.3.1-279538d-202404181430.0":{"name":"@flowfuse/nr-launcher","version":"2.3.1-279538d-202404181430.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.3.1-279538d-202404181430.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"13f44e9525abed8a13b839e81365efce9e973743","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.3.1-279538d-202404181430.0.tgz","fileCount":40,"integrity":"sha512-RK+JLA5W79FtLlQP/GYl/EMc7AdzzJtgU9xQ7iZgL8HmnwtLwPE6SCM0M2OB5fDz7h5erOVGybXf9TQufza0mg==","signatures":[{"sig":"MEQCIBnE9Z1i45ZHFJMPkE4YhsZeH9oASGmp5Xm8qxM5ujU2AiB09pzTYC7bFjWtkHgnq+myrOikkPRKrfPqOlct7TeAlQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":553251},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"279538dd6fb406028d7c7566856626a8a446ce3b","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.3.1-279538d-202404181430.0_1713450663461_0.4626998999673828","host":"s3://npm-registry-packages"}},"2.3.1-64d2704-202405011537.0":{"name":"@flowfuse/nr-launcher","version":"2.3.1-64d2704-202405011537.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.3.1-64d2704-202405011537.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"bc178be4f214d3c9406ee8ae663cbe2ba138767d","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.3.1-64d2704-202405011537.0.tgz","fileCount":40,"integrity":"sha512-EvkwXsIEEUWE2jYDhfOn0+3nCBItQ0o08x1i5IEnbAuxmvj5sQ4xqxr07klPjWgxQK+GtYL7qRgIJ2kbNQvbcw==","signatures":[{"sig":"MEUCIC21lfkGm7rHnKWeKvkfN/EWYn0Ty+t2rBU0B4Sl46DoAiEAh0i39h6uPsByaoNvAp+ETN+CrUcgsVSyqeeb1n12WbE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":553596},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"64d2704bc3419fdc536992b9f1e3c36b18a5bd20","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.3.1-64d2704-202405011537.0_1714577833664_0.4092456553820527","host":"s3://npm-registry-packages"}},"2.3.1-64d2704-202405021651.0":{"name":"@flowfuse/nr-launcher","version":"2.3.1-64d2704-202405021651.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.3.1-64d2704-202405021651.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"217896a555c46382ab03713d87429d4c28472d64","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.3.1-64d2704-202405021651.0.tgz","fileCount":40,"integrity":"sha512-cgvPUewliuI1RVBXBRVADlYeGKb2iP/QDaf7J4pPmNcgRIof8adVLm/qYXar+rRMeqK9UEgW/uwlSppDHLnvMQ==","signatures":[{"sig":"MEQCIBcM1xg2zyA3ZfuuygiprXWuA5sAf0U7j5TyXry+5tobAiB336+rc8qHXcGiGqz9iJd5nLLfarfy8Tm9ejcLI98gyQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":553596},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"64d2704bc3419fdc536992b9f1e3c36b18a5bd20","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.3.1-64d2704-202405021651.0_1714668820836_0.7367984449132705","host":"s3://npm-registry-packages"}},"2.3.1-64d2704-202405030941.0":{"name":"@flowfuse/nr-launcher","version":"2.3.1-64d2704-202405030941.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.3.1-64d2704-202405030941.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"03b12811f69f917bd82b8f42b4cab8847ae1eb30","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.3.1-64d2704-202405030941.0.tgz","fileCount":40,"integrity":"sha512-259U6ac34v3FtcKv8mz/Ft7dOUl/RjLFNnWF5r76vunyxpz6W8gaa5mHbvjYKkUBZptdCKf2HWZSqFCe6TEecQ==","signatures":[{"sig":"MEQCIDasaWJX9LjgI46nNV6U6i9T6+DZR3o59xNgzhoW0WOeAiBFj5UMaMPLHIjBQGn/b7PjDOFmPUgrsuHVzol9VOSnyQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":553596},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"64d2704bc3419fdc536992b9f1e3c36b18a5bd20","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.3.1-64d2704-202405030941.0_1714729266574_0.2744373794067785","host":"s3://npm-registry-packages"}},"2.3.1-64d2704-202405031014.0":{"name":"@flowfuse/nr-launcher","version":"2.3.1-64d2704-202405031014.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.3.1-64d2704-202405031014.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"1a5a5b395269a685ba723aaaa82bd92112116d28","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.3.1-64d2704-202405031014.0.tgz","fileCount":40,"integrity":"sha512-6m4uRdwIMdrh7+xLXvje4iNXx/WLNGp67YsmIQjrhTsxhKsm1QJHnEcEw+lFKSkyMhNRXxWR6zMusOAM3NvtwQ==","signatures":[{"sig":"MEUCIBPm3civcUKAcmLTkLdptarODheEKllGiU0GUUbchUdaAiEA2C827RkZdop9U1S1SpJSevqDyWobuGObBzGRJ1h+AgI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":553596},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"64d2704bc3419fdc536992b9f1e3c36b18a5bd20","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.3.1-64d2704-202405031014.0_1714731288569_0.49225241959782773","host":"s3://npm-registry-packages"}},"2.3.1-64d2704-202405031022.0":{"name":"@flowfuse/nr-launcher","version":"2.3.1-64d2704-202405031022.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.3.1-64d2704-202405031022.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"33761fc6feca46b08169ec5f91e5d1768819e007","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.3.1-64d2704-202405031022.0.tgz","fileCount":40,"integrity":"sha512-WUFfh1j5ovS27mi+GRP7ACjrO+UsEZsA7Ooq7JvR1oCDf5yTs3piPxQBmalg+SNU6F/k2zVPHqyX9jPglC9XGg==","signatures":[{"sig":"MEQCIDnP0oMGI8xRmAXza5BAjaW63zfgUilWJSd7qNY59zp9AiAXjjwfSOVOt5ZjX901FJfb7hA8c5XQJRgZc00eH8VIHA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":553596},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"64d2704bc3419fdc536992b9f1e3c36b18a5bd20","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.3.1-64d2704-202405031022.0_1714731777388_0.04828649220999326","host":"s3://npm-registry-packages"}},"2.4.0":{"name":"@flowfuse/nr-launcher","version":"2.4.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.4.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"5d7fbd0d3943f588bfffb1af661e3bf0b7243cd1","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.4.0.tgz","fileCount":40,"integrity":"sha512-rqyHLDXXDX0mMkay6AvJShtKHf4fP9LA0uMZNj5Tc694irTZgIrTH17Xu3gLU0sCpbZwPQRwQ27ut7vJEtYDCw==","signatures":[{"sig":"MEUCIG32qqAwluIWfCx/0JLjOSA5kd+fHpmaCWd8N3sRDmtSAiEAkfN+T3Sm2dZ9fRIW/vi/TEG4KP24pcwlOwSSkktQNRQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":554126},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"d1519b35075b8634b9201529f4bf3d4ba1ce3ecf","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"^0.0.5","@flowfuse/nr-project-nodes":"^0.6.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.4.0_1715244111915_0.9255932989290672","host":"s3://npm-registry-packages"}},"2.4.1-d1519b3-202405090841.0":{"name":"@flowfuse/nr-launcher","version":"2.4.1-d1519b3-202405090841.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.4.1-d1519b3-202405090841.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"3e6039ca220a1b5dff24631ffc31492e50cdce77","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.4.1-d1519b3-202405090841.0.tgz","fileCount":40,"integrity":"sha512-jT7I0y7tVv9jMQiSgsSrSdOssN1eOysrY1kkS1VuwniUCWrE6zwg/mBwLuPX4BN3F16WKNDTFe7vvN6S4sIpHA==","signatures":[{"sig":"MEQCIGltmSp5V29Pg+iCRUyvUTRB6xafg5LhXyKCabUxoDEYAiAcv0KR4WlqE2OfhAR4hNUQ3LxJo9FynDZJEkEv73JYcw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":553899},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"d1519b35075b8634b9201529f4bf3d4ba1ce3ecf","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.4.1-d1519b3-202405090841.0_1715244120337_0.3531322225145086","host":"s3://npm-registry-packages"}},"2.4.1-d1519b3-202405240910.0":{"name":"@flowfuse/nr-launcher","version":"2.4.1-d1519b3-202405240910.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.4.1-d1519b3-202405240910.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"517091c044afe4b0a7be49532c2eddf77954d163","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.4.1-d1519b3-202405240910.0.tgz","fileCount":40,"integrity":"sha512-UPl4b5CcxkloHinIAHASOLjNXa0NWizuu4Q/ZTWbGPATiuAflEJEC0mdHyCTfrYQ3+V/xZSXi/k5pTCkGX7MrA==","signatures":[{"sig":"MEUCIBprVro1LvnMGqm41FnCzzxTM6sDWUqkyKBY4N79BvztAiEA6tuT7KlAWp5148JPzye7WFou+POc+/ZB1YtFXtIGPSk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":553899},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"d1519b35075b8634b9201529f4bf3d4ba1ce3ecf","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.4.1-d1519b3-202405240910.0_1716541822186_0.5665952904307894","host":"s3://npm-registry-packages"}},"2.4.1-5d685d8-202405241315.0":{"name":"@flowfuse/nr-launcher","version":"2.4.1-5d685d8-202405241315.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.4.1-5d685d8-202405241315.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"cae7ecddee541c412bce13bae8d5f6e007fa1700","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.4.1-5d685d8-202405241315.0.tgz","fileCount":40,"integrity":"sha512-GmEURHW/Bh4xYZYMCLGf0AsXUGbptDf7w2jEQ6qFNOGHDYf5DN9VMfwCBUMFRuJnYggykqCBYt2hYWqp6GBV6A==","signatures":[{"sig":"MEQCIGIymc+o1/A9gAdC576RlwPl8dXmo2yISQGpUks0R0OvAiA0jLVXMS+cpwmOUCa7w+dDwu5v1wSt7SQtinF9nTgJbw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":553872},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"5d685d8ed3a46712f23fffc5c0c94012eef4df67","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.4.1-5d685d8-202405241315.0_1716556539183_0.8686352420576198","host":"s3://npm-registry-packages"}},"2.4.1-9049358-202405241320.0":{"name":"@flowfuse/nr-launcher","version":"2.4.1-9049358-202405241320.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.4.1-9049358-202405241320.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"25c694c7495f4640c86094fdb92c737db688a8f8","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.4.1-9049358-202405241320.0.tgz","fileCount":40,"integrity":"sha512-9ui2vRCeKlSxK3H77urgkwQILmQR/l36LuLrFIVk20oV1jjkyPE2SzIcidDdS5aqHLWvZBt2A0rJvcVrradUOQ==","signatures":[{"sig":"MEUCIDg3lJlNxYL+WNMtwtndWw+SiqAz0Qu9z1XE6qSa94UjAiEA2wtLu/o7DXgWeQwVFRdOdqdy+Aevat+koP9j5S9S0w4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":553872},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"90493587c6f95a92a8dc82d7886c05466a12a5aa","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.4.1-9049358-202405241320.0_1716556816014_0.5187953091166186","host":"s3://npm-registry-packages"}},"2.4.1-5852519-202405241605.0":{"name":"@flowfuse/nr-launcher","version":"2.4.1-5852519-202405241605.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.4.1-5852519-202405241605.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"338b762a9a84a22fd59593b8fb9525b839618746","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.4.1-5852519-202405241605.0.tgz","fileCount":40,"integrity":"sha512-BT4gvFEC/8vTha+PYb4rrER9CZhOyO85L1oo4XcnKMOsGg4/9P3rKRIKuA+vt7uNrLnHoA87Uqztfdr2QERyCw==","signatures":[{"sig":"MEQCIEw7J3OMbaW79BG4jRZSfJ+16chVzh+bcpi+KatljWv0AiAZhXawD1LQKg07m9VFlV6aEYuQyR6ut3nTSXpFo62YgQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":553872},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"5852519b37534dd93493fd9ffd52d3a29676028b","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.4.1-5852519-202405241605.0_1716566737190_0.8424208657498595","host":"s3://npm-registry-packages"}},"2.4.1-e0f1ec8-202405241606.0":{"name":"@flowfuse/nr-launcher","version":"2.4.1-e0f1ec8-202405241606.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.4.1-e0f1ec8-202405241606.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"917707183e0634c6ea8a3164c8b1fd5418b4a4c4","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.4.1-e0f1ec8-202405241606.0.tgz","fileCount":40,"integrity":"sha512-DKQPYY4RplEy9AXwiKFI2ckxI7x8wLBEuAg9GSksA2MmTHeAn4Zhruh11UQ5HgU7gnowZilfaDrBjmKE+ve4UA==","signatures":[{"sig":"MEQCICbz2t1BVpBis1SY02SpAQsmYpGUDQ9CmA7b+h/6r1arAiAWaItjwQMaI3/Qi7sDgFEAj0MmhE0qRm/yzSo0WXPcHQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":553872},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"e0f1ec86fce4d0d35b6084da362821828b7a59be","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.4.1-e0f1ec8-202405241606.0_1716566788273_0.06983303777944361","host":"s3://npm-registry-packages"}},"2.4.1-e0f1ec8-202405281103.0":{"name":"@flowfuse/nr-launcher","version":"2.4.1-e0f1ec8-202405281103.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.4.1-e0f1ec8-202405281103.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"2aaeb754d553865171aa89f66197a4613833afe6","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.4.1-e0f1ec8-202405281103.0.tgz","fileCount":40,"integrity":"sha512-Tc97SuhlRIgHxI+WvR4qbnHwAVhJMF73VxHM3hVEqX4nPZguIjMy2ipxlZAgMjG0c/5eFRNqo1cwdl//P7gwVw==","signatures":[{"sig":"MEYCIQCNOUFex9dRiiNBZBst25aNVT5VGP7s6bouh8G2nAJTmwIhANKOTBqWOHdJ+j8VZjRiewYZKCzNpEPP0wpSgIFIJRts","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":553872},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"e0f1ec86fce4d0d35b6084da362821828b7a59be","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.4.1-e0f1ec8-202405281103.0_1716894219736_0.7520837306290515","host":"s3://npm-registry-packages"}},"2.4.1-e0f1ec8-202405281106.0":{"name":"@flowfuse/nr-launcher","version":"2.4.1-e0f1ec8-202405281106.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.4.1-e0f1ec8-202405281106.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"ea556fefd5089ca320de8b4683b2dd40a05b3d18","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.4.1-e0f1ec8-202405281106.0.tgz","fileCount":40,"integrity":"sha512-6R0oTthitrTGn5bX6dO0Ys/y+cBf7NcP5XJ0+rct47T/zAfWdkvxXELQcliF9mDY2Q8PpDlc70b4+7pd9kfixQ==","signatures":[{"sig":"MEUCIBVHkyrp7yo4rxZG+pSexjjyWAqJ/7cuGh6jsZaIJ2mUAiEA/uW5D4H21Ls7HWx/Ku64lQx03NbdXO59UqOOTnkaeiw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":553872},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"e0f1ec86fce4d0d35b6084da362821828b7a59be","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.4.1-e0f1ec8-202405281106.0_1716894378236_0.11121246079879699","host":"s3://npm-registry-packages"}},"2.4.1-8236ce9-202406041311.0":{"name":"@flowfuse/nr-launcher","version":"2.4.1-8236ce9-202406041311.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.4.1-8236ce9-202406041311.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"1acbd8d1fb4b12932c524ea6d7c9f2a79629c71a","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.4.1-8236ce9-202406041311.0.tgz","fileCount":40,"integrity":"sha512-ZK7tqDD5Ktv4X1Y2OANnMAN9EqHSNf6dff9GnRbVdB/oR4z4OJJh9KWsgfXh78FHdLqBfNiEl57i4aPlHSmxwA==","signatures":[{"sig":"MEUCIE68Rt9DyL6rblCxvLtZIj7mqOhhP7vzjk/aA4bdGEJsAiEA+TgAw2Ir3Bv3zxJAXfRC9/enb3EOcKDwipKVRC3HTPo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":553948},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"8236ce94c0780ab24101601bfc783a7baf1cf22a","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.4.1-8236ce9-202406041311.0_1717506699670_0.10617719560442795","host":"s3://npm-registry-packages"}},"2.4.1-8236ce9-202406041412.0":{"name":"@flowfuse/nr-launcher","version":"2.4.1-8236ce9-202406041412.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.4.1-8236ce9-202406041412.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"777ed326c270d5e4f94385475b0b2d6428711d4e","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.4.1-8236ce9-202406041412.0.tgz","fileCount":40,"integrity":"sha512-fFmuu1CGeEZKIDcTre7L8tV34FQIA0E9sblsI44BJtnpCRhMu18p3xVKo0Kc0X/7X5+cCX0XrW9CXxpWSQWtqw==","signatures":[{"sig":"MEQCIAz8nDXGDIhOhYPLhNxBzAam0v6AOT/M0bGgZS7Cp5hcAiAtZGxNMD4+7IG9fzrYlzgO/fyhKZFrRknBlHlsqLVvsA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":553948},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"8236ce94c0780ab24101601bfc783a7baf1cf22a","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.4.1-8236ce9-202406041412.0_1717510348168_0.08845087352258463","host":"s3://npm-registry-packages"}},"2.4.1-8236ce9-202406041414.0":{"name":"@flowfuse/nr-launcher","version":"2.4.1-8236ce9-202406041414.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.4.1-8236ce9-202406041414.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"524e0adf79a3a0cb7c41f11e4a8a36c9444953a4","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.4.1-8236ce9-202406041414.0.tgz","fileCount":40,"integrity":"sha512-tcaHUMSoLdEh71qewoWq3TXXLvyZVzDyyFJz78BfNvqkhEvdzjXikLEl6CMLHfbp+TmLxQRdRt4MFVXVe6257A==","signatures":[{"sig":"MEUCICT3MPG6gcrq7at88xIQvKPARtDGZg04uvPgQWRetKv2AiEAkqgPDCNlpQFRRC4H2IXodKlQhmsFy5C6+ESCfcgoiWk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":553948},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"8236ce94c0780ab24101601bfc783a7baf1cf22a","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.4.1-8236ce9-202406041414.0_1717510452488_0.6490765040529105","host":"s3://npm-registry-packages"}},"2.4.1-8236ce9-202406041415.0":{"name":"@flowfuse/nr-launcher","version":"2.4.1-8236ce9-202406041415.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.4.1-8236ce9-202406041415.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"acf3496ba89f51f0dc62de92aa2c18f3122f38d0","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.4.1-8236ce9-202406041415.0.tgz","fileCount":40,"integrity":"sha512-IkZmjz//JFS1SlGn0+yhNz8v787u1fKiGtwEZzNC+znZZcz9O4wQlyPPrwCOJoLaEuGdn53gcfuf5Th4idIUgg==","signatures":[{"sig":"MEYCIQDk9limaZGh+2/Q1aQi2fJdTACB+wWJhX+1D4ITKO9QowIhAOflqL9SeiIDleciGrA06tg9hVd8WHFjvi0VOr72kiHP","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":553948},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"8236ce94c0780ab24101601bfc783a7baf1cf22a","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.4.1-8236ce9-202406041415.0_1717510532698_0.03152940811584459","host":"s3://npm-registry-packages"}},"2.4.1-fdea052-202406041459.0":{"name":"@flowfuse/nr-launcher","version":"2.4.1-fdea052-202406041459.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.4.1-fdea052-202406041459.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"c5d64ed7b44ea856ddd21c3da16f2f4eb9cc9f59","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.4.1-fdea052-202406041459.0.tgz","fileCount":40,"integrity":"sha512-/tfpLRigDVnHOl7BHR6P0WO9jmOavKWXNplTvJtm4/9ph2CDqHHHgtd4JhcK59ZDxXOe+4Mk6g9O6TRLYv1B+g==","signatures":[{"sig":"MEQCIEJwTjvUYiNcYZxzA8vC10RFJzPVfK9XRCt1xTn0KwvLAiAIPTfyBX0hiRihoh5BewR4fgHKb/yHSDeSTLq3VvGJ4Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":554422},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"fdea052ec3dd5ff00e39e4d83f65a31cd592f536","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.4.1-fdea052-202406041459.0_1717513166378_0.4873999915862939","host":"s3://npm-registry-packages"}},"2.4.1-b566ffa-202406041511.0":{"name":"@flowfuse/nr-launcher","version":"2.4.1-b566ffa-202406041511.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.4.1-b566ffa-202406041511.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"d7a3da38eb550e39db4cc8302cff6be81fffd9c3","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.4.1-b566ffa-202406041511.0.tgz","fileCount":40,"integrity":"sha512-pPsGGnlz2hNoiCvO2HsKhFJdbd803NaekPGj2Wfp/nnCClGaWJW7DgzUsQLA9PUen8JKcAlOvUs9eaI0UoUZVg==","signatures":[{"sig":"MEYCIQDIMs66PwmtkRgEyftZ4br44RcvZwDML9PLD35q/NrT9AIhAMGlftuWvFd9krIYT+b3l0DADCxkggpry1+b8IMIbDbp","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":554424},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"b566ffa1e546190fdfd88979a5488cce7257f86d","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.4.1-b566ffa-202406041511.0_1717513883552_0.5293711365682696","host":"s3://npm-registry-packages"}},"2.5.0":{"name":"@flowfuse/nr-launcher","version":"2.5.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.5.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"2bebb8c2337d6a78e394b47641b0b784423c9210","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.5.0.tgz","fileCount":40,"integrity":"sha512-Yno7aTYGWipqJ9xSCf/0fES3FGE2AYCC588vHG97hTxYbVLd3v7/AJKvMnEVX/x/ItYjr5Oiw+hm7PrbLefA7Q==","signatures":[{"sig":"MEQCIG5rdJErshPVUHzgc1PsfCoivGhVsMNPY4YQj/bcJX+JAiB8Hx7KRqEXY9bYaxPPQ195WxGQ3DMg9DaE+mzBbFqGJw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":555058},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"5e16aa8fe4901c14e087907235856ba8bb9090b2","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"^0.0.5","@flowfuse/nr-project-nodes":"^0.6.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.5.0_1717666155950_0.5007985463212361","host":"s3://npm-registry-packages"}},"2.5.1-5e16aa8-202406060929.0":{"name":"@flowfuse/nr-launcher","version":"2.5.1-5e16aa8-202406060929.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.5.1-5e16aa8-202406060929.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"26a72507ba9de97904e80da6248a9046f17f0239","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.5.1-5e16aa8-202406060929.0.tgz","fileCount":40,"integrity":"sha512-Hmz/Y1ft7xqo7vvg3VA7gpl0wuV+NXyjX27YBUisHGBu2IXQa0yDY4mToQZtpFacpB+aQgahQj0EsqHRzFykdw==","signatures":[{"sig":"MEUCIQClDxLL4atrpvTl5y8NjVEstQkhuGGtLIiVQ1pYFZHK7gIgAU0KYfFLzFO1VGrSP4sn3AAaQW8oPEC3PMskJt2JYLk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":554831},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"5e16aa8fe4901c14e087907235856ba8bb9090b2","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.5.1-5e16aa8-202406060929.0_1717666160399_0.9343592464741797","host":"s3://npm-registry-packages"}},"2.5.1-5e16aa8-202406101202.0":{"name":"@flowfuse/nr-launcher","version":"2.5.1-5e16aa8-202406101202.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.5.1-5e16aa8-202406101202.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"9c2a33436d35dfff2dafc2a6a6297b8ccfa70101","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.5.1-5e16aa8-202406101202.0.tgz","fileCount":40,"integrity":"sha512-vjW6G+XO0BmAWypo2HSXsD4El3jLgJzjPuwnseXmXQW0JPX3tiLG2tV42qMmfGH3n4OM+HgY/3PZ4DCNekaOcw==","signatures":[{"sig":"MEYCIQCgp7hcX85NRHL1Z1pfjF2PNAo/+IvWw1d7L/X7hr3eCAIhAP2FU0/EPybltISEfLo4xrq/MQZgqtqSwGAj0BeyV4Jk","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":554831},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"5e16aa8fe4901c14e087907235856ba8bb9090b2","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.5.1-5e16aa8-202406101202.0_1718020967108_0.12610286269897286","host":"s3://npm-registry-packages"}},"2.5.1-5e16aa8-202406101510.0":{"name":"@flowfuse/nr-launcher","version":"2.5.1-5e16aa8-202406101510.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.5.1-5e16aa8-202406101510.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"9472b3bf514553ec89e49c1277ebf874ecae029b","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.5.1-5e16aa8-202406101510.0.tgz","fileCount":40,"integrity":"sha512-cxpvvTRgGgTKF/DZwsw6pW1oTlxG817kZf+4DnHxPH+6dp0MZ75cbJBolagqr8+PxxZ2z74Pt0Tvv0at5uXpog==","signatures":[{"sig":"MEUCIACeLXcVkRiIdkRxylcvCjQLZKG8KFZmS/CXCApIqVnaAiEA6a7JirzaKmvguRHys2o1j2mkQfXbbseKgtQ6WDOslTU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":554831},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"5e16aa8fe4901c14e087907235856ba8bb9090b2","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.5.1-5e16aa8-202406101510.0_1718032237956_0.71714679009516","host":"s3://npm-registry-packages"}},"2.5.1-476487d-202406111100.0":{"name":"@flowfuse/nr-launcher","version":"2.5.1-476487d-202406111100.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.5.1-476487d-202406111100.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"ac5216ef418780c9eca21e6268071ab12b9b1a74","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.5.1-476487d-202406111100.0.tgz","fileCount":40,"integrity":"sha512-mQS08kC89hif2lqLQjmQMXsBesDBzU6rJcBOQ4JXWPSPI2nm65raHQ/2+10mZnOC/pkSYfFuSvq4hUfe4G3MUA==","signatures":[{"sig":"MEUCIA49VC+hkKxshTwwM6LqIYgg1OmR4J8sSW5330Hr2Qz3AiEAiviOynn4uFf0qGi0YwC/h0h6aimY8qFW5yXPeKBLi3E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":554923},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"476487d6970bdb8c07c53329332ca6f3e3b9669a","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.5.1-476487d-202406111100.0_1718103613303_0.5635222392565673","host":"s3://npm-registry-packages"}},"2.5.1-476487d-202406120903.0":{"name":"@flowfuse/nr-launcher","version":"2.5.1-476487d-202406120903.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.5.1-476487d-202406120903.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"03aa49573e3868b2787323c57faf68cf3bf7ad02","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.5.1-476487d-202406120903.0.tgz","fileCount":40,"integrity":"sha512-LknSt4yj7Wt8AMWGypIbNyV23uzUYJns6SwuhPODnwTwkMtu+U8Zz219UBjSkAWzzp+UPs1YEgWGd6UgEb02WQ==","signatures":[{"sig":"MEQCIAC8VhxjqV4c5YvGiMqjUbKSsbbAoWh0MseYZCJr6afSAiBm696RQcxxEJdeSim3Fb5hR5MOpcBl87oqJsnF5+mxFQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":554923},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"476487d6970bdb8c07c53329332ca6f3e3b9669a","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.5.1-476487d-202406120903.0_1718183018667_0.6591389618553738","host":"s3://npm-registry-packages"}},"2.5.1-476487d-202406120917.0":{"name":"@flowfuse/nr-launcher","version":"2.5.1-476487d-202406120917.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.5.1-476487d-202406120917.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"c51c7fb098c2f6bf38caa7b21fc2e350ec5f9f25","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.5.1-476487d-202406120917.0.tgz","fileCount":40,"integrity":"sha512-RfSyLZnwAKVDWPfbCvzemjYbQ5NoByTWDYBTvCSiC+4uaJvR8Vv2m5V176vpicSlT3dd2kDg58LJ9GmDxzkgLg==","signatures":[{"sig":"MEQCIBwEuNB1cH9IuoT3jtX7aEmdhYihx3CCxCR/MVlBEGxaAiAYDGUDcTtYuxRts6mEmuxfsCp+/GojgDodaucB4JUIXQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":554923},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"476487d6970bdb8c07c53329332ca6f3e3b9669a","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.5.1-476487d-202406120917.0_1718183841797_0.9853368500158557","host":"s3://npm-registry-packages"}},"2.5.1-476487d-202406121023.0":{"name":"@flowfuse/nr-launcher","version":"2.5.1-476487d-202406121023.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.5.1-476487d-202406121023.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"de657d7a0dce21f064d0e36d6af7563b300b3ef8","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.5.1-476487d-202406121023.0.tgz","fileCount":40,"integrity":"sha512-JizcSDgcmauR1A7T9eKeJyW+pJOCYFL9HIceuambzuiGY7dYwwQsjoCtyi6X69E0r05TTaVlTAHrbjoLF7U/Qw==","signatures":[{"sig":"MEUCIQCK7F3wyMhKDORFYCnTAQA7eKmYdz3iIyNX0agdwP2xhQIgZB5G8V3tdJuHgA3sT2Zj56UPWFWPRqS1oosEIfnWk/0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":554923},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"476487d6970bdb8c07c53329332ca6f3e3b9669a","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.5.1-476487d-202406121023.0_1718187838518_0.6615562635392196","host":"s3://npm-registry-packages"}},"2.5.1-5d73c7c-202406141027.0":{"name":"@flowfuse/nr-launcher","version":"2.5.1-5d73c7c-202406141027.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.5.1-5d73c7c-202406141027.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"7404d580d39020c4b13395c9605eb77f0121d81a","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.5.1-5d73c7c-202406141027.0.tgz","fileCount":40,"integrity":"sha512-D2CO1XuudP4liZWpeUJsPfFhXwCoe8Pv0YOuqhYol/knxx4J+3ZABgCyoZfbhemLIKNVG72gmYEdt+aSxgTZKg==","signatures":[{"sig":"MEQCIDg2lQ/qWQEioCpQ5lQ2yDFIjXU8ThTltiH82Fml3sckAiA6Gj1VpcS81gqqzcen3liFydlDDnJc53RbReg+5q44Xw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":556190},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"5d73c7c7e9bff502b0d599608ec886f6a1a36a16","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.5.1-5d73c7c-202406141027.0_1718360841511_0.717348111436465","host":"s3://npm-registry-packages"}},"2.5.2-a7caec4-202406141042.0":{"name":"@flowfuse/nr-launcher","version":"2.5.2-a7caec4-202406141042.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.5.2-a7caec4-202406141042.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"e3876daed219f4a3ddc517f4406390a52275de7a","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.5.2-a7caec4-202406141042.0.tgz","fileCount":40,"integrity":"sha512-8ceMQK3FYDe21KWS83lNZjwzNYlqERMB0+wGb5uKP909NefvXgwlisUvx9ZQEao0+rHogjNlDAsvHKHyy9PAJw==","signatures":[{"sig":"MEYCIQCZPEq2cLkgSd+bAyv6mswV4j5ohTtSFqhAosWVLd8LvgIhAMLs1fERglOFAeB2nsaM2am52g1X7PvHZuAw1/HjFKvJ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":556325},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"a7caec456b9100fc02db4e08badbbbd9b6012f4f","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.5.2-a7caec4-202406141042.0_1718361768590_0.2205859034519113","host":"s3://npm-registry-packages"}},"2.5.1":{"name":"@flowfuse/nr-launcher","version":"2.5.1","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.5.1","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"169db7d1d53611ae2bd93211ce3b5c4eed85f29e","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.5.1.tgz","fileCount":40,"integrity":"sha512-jIw8HMsv/32VP1koKoKZcg6bZB+Audn7G2XCnkETh8KLKfYoEfwLazKd3cCq7uGECkSJyjJnYE+uBVLPxMZmeA==","signatures":[{"sig":"MEQCID3HkAr1Ghj5EliqLTtE6znSObM5XcuNVV94zleOcWI6AiA//uYykntzK8i0yCJp9QL9hOYyvlpIAZnfHoV8ao+d+A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":556552},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"a7caec456b9100fc02db4e08badbbbd9b6012f4f","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"^0.0.5","@flowfuse/nr-project-nodes":"^0.6.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.5.1_1718361990562_0.49252161215522694","host":"s3://npm-registry-packages"}},"2.5.2-a7caec4-202406141121.0":{"name":"@flowfuse/nr-launcher","version":"2.5.2-a7caec4-202406141121.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.5.2-a7caec4-202406141121.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"844eb8d8f351392d3ed43ae6809bb9e9bb362342","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.5.2-a7caec4-202406141121.0.tgz","fileCount":40,"integrity":"sha512-/bmO1Qcd2epH0hUBNrhnJ8iT2hZyFCkxnV61jgo9A3dDL+EKeH10h3D1tPWGx3PMQE72SZq5+fqfsVoSrsbDXg==","signatures":[{"sig":"MEUCIFGy/mMuZruuFp6GbiBxgnk1b15GjEej23d9GBAQrVYCAiEA6ZtqNQqjbrSil7XRs1qHJsf2B7iPXNTW0+Os81ft8l8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":556325},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"a7caec456b9100fc02db4e08badbbbd9b6012f4f","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.5.2-a7caec4-202406141121.0_1718364086701_0.6796154695081156","host":"s3://npm-registry-packages"}},"2.5.2-a7caec4-202406141343.0":{"name":"@flowfuse/nr-launcher","version":"2.5.2-a7caec4-202406141343.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.5.2-a7caec4-202406141343.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"96967e89ab4ffd7d20c5fd62f44a100eff73ff1e","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.5.2-a7caec4-202406141343.0.tgz","fileCount":40,"integrity":"sha512-5ahGZ6KWJUc4dpERC1fwhyagY0gDgCGbA+ofvAr4YPld1Mp/3Ofh/QP5g3fRLpGK33I5O9fKT01F/iHKzmyb6w==","signatures":[{"sig":"MEQCIAV7PhCTwCQ9cwOrHp4GrBSE9nNXfJLBVVlZG+ajmGx1AiBJgZ9EudJlSMv/CLYlz0whZnsSs4nayKWIyyxnbR/18A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":556325},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"a7caec456b9100fc02db4e08badbbbd9b6012f4f","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.5.2-a7caec4-202406141343.0_1718372655371_0.7187772065844606","host":"s3://npm-registry-packages"}},"2.5.2-a7caec4-202406170822.0":{"name":"@flowfuse/nr-launcher","version":"2.5.2-a7caec4-202406170822.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.5.2-a7caec4-202406170822.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"91d6309192178377cc2cc35349fee6d96420b558","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.5.2-a7caec4-202406170822.0.tgz","fileCount":40,"integrity":"sha512-Jn//G4yg50MUsNTEier+l1mOLEQ5b01K09YWhioVQhyhOnXb4T5N4o5Lln+fUX+4tUznOzNtpw4+PxqlRwuN0g==","signatures":[{"sig":"MEYCIQCUym8NLW8JUunqceQAUmlwoNd1HLWC2rTNk+rSvKVSYwIhAOFJJEmK6QYd7+6mFdJP/cmVwqzWNjFdpJvTaFV+hRYP","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":556325},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"a7caec456b9100fc02db4e08badbbbd9b6012f4f","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.5.2-a7caec4-202406170822.0_1718612583175_0.6306740362890293","host":"s3://npm-registry-packages"}},"2.5.2-fc3e12e-202406170825.0":{"name":"@flowfuse/nr-launcher","version":"2.5.2-fc3e12e-202406170825.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.5.2-fc3e12e-202406170825.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"c5e8c4b97d379bbe0db27bbb9463f4f14fd949c9","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.5.2-fc3e12e-202406170825.0.tgz","fileCount":40,"integrity":"sha512-+khDBASFVDRNKSPTailTFV6p6j8iN07pIVNjPPys1pnT6gIuVEfDeHYJ/TcQseZgXz9Q78neWQiXhtdVtz0/yA==","signatures":[{"sig":"MEUCIQCKB1fvL69yiMC2nQLeO4Cic0t7TA24S6dKJepzvd10uwIgDKw0jwvTRt7UISjILrtSPNL/FkeFHDJd0WYiJkprm04=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":556325},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"fc3e12ecaaeb1f01ed6af87cd4ad1f68ac012d35","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.5.2-fc3e12e-202406170825.0_1718612745588_0.38601776531582344","host":"s3://npm-registry-packages"}},"2.5.2-5843274-202406170826.0":{"name":"@flowfuse/nr-launcher","version":"2.5.2-5843274-202406170826.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.5.2-5843274-202406170826.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"5fb38939f1eccf50244d8fcab23dde33c53bbb64","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.5.2-5843274-202406170826.0.tgz","fileCount":40,"integrity":"sha512-4tdp97MKLLxK6vQ8LNPlqh+ooc/Bnzo0aLRksgU0IrWaObHeRspWH4zOd84tdPPLu6GIgeBhZW7hc5yVmLrdlg==","signatures":[{"sig":"MEYCIQDIyj4nVgV1+OpcQgZkdm3YNMuPZ+sF0+tWLaYd59C7JAIhAMhfBLwuACKcpqUpkO1crEO7wTdS8GAYLnrPRpwnxIHa","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":556325},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"584327473c7cea478b4d0ab3ed1213c27c8b8e1f","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.5.2-5843274-202406170826.0_1718612818023_0.6119168904285457","host":"s3://npm-registry-packages"}},"2.5.2-2f3c495-202407020855.0":{"name":"@flowfuse/nr-launcher","version":"2.5.2-2f3c495-202407020855.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.5.2-2f3c495-202407020855.0","homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"b85465682c28d31c718310c7754484e7cbdfe6d9","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.5.2-2f3c495-202407020855.0.tgz","fileCount":40,"integrity":"sha512-Fch0V6y+t0+KZs4fBUVgWxLVz2fKQmQx5bA9XdO+bOr76SVPBo3pU9HsMgyoUuvbllgV5yDxQQVY1rQ+xzS8dg==","signatures":[{"sig":"MEQCIE+MHTszo31dCJ+sQN5nPkNyMgubmbY0qIXXVb8revaXAiBlCEJmeyuX95avpKp8+j3XQkSAvk35DXfVu8Wz1d/nEA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":556284},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"2f3c4951631fce7d91954f9e488cc691dd063769","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.5.2-2f3c495-202407020855.0_1719910523488_0.3546927574092147","host":"s3://npm-registry-packages"}},"2.5.2-41924f9-202407031215.0":{"name":"@flowfuse/nr-launcher","version":"2.5.2-41924f9-202407031215.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.5.2-41924f9-202407031215.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"9dd738ebf6d23c57eb791c1e58d6c1180e8b6893","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.5.2-41924f9-202407031215.0.tgz","fileCount":40,"integrity":"sha512-9Hu9T/xn/WTaeNmesjpk8zF1KVIgyBK8h7iv2sW+Q1uQptM9ofSucCDNhOKxXQ++07DHPqW71dy3N5ZE4m/lfg==","signatures":[{"sig":"MEQCIHFR73XsBy0TZfSlSk9i18u9E3gP/wI3zB1MkAQzYZ9CAiB4MR86fCp0brxM/+pjhn+i8LKBeFAfF4vPahX4OMANCw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":556329},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"41924f95798c561d9ff1964345fbf8d2ba6467f0","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.5.2-41924f9-202407031215.0_1720008941168_0.8845665596733134","host":"s3://npm-registry-packages"}},"2.5.2-b205186-202407031612.0":{"name":"@flowfuse/nr-launcher","version":"2.5.2-b205186-202407031612.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.5.2-b205186-202407031612.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"5fa46ad95f41492a37f4ca021c57e9bc5f3711cc","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.5.2-b205186-202407031612.0.tgz","fileCount":40,"integrity":"sha512-T5ZBjL/QUtUWy2Bv5IBvjD+qaCsSIR2w8C102MkLt0xqU+PI96BfEhGZhY9l79Oziw+FbEbUpNQQnaVqLu9SIA==","signatures":[{"sig":"MEUCIQDuhIm9+UQX/P78XilDbgTCJEOr2ltoh4fDMqXHdrX8MgIgdQXSqds3T5/nB2aUkT73pXWfa/gwQ8mTyVooLaOX+qY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":557189},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"b205186d682a9a150d5d22ca00e7a5a09a49ea46","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"^0.1.0","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.5.2-b205186-202407031612.0_1720023162365_0.24400137022190105","host":"s3://npm-registry-packages"}},"2.5.2-b205186-202407031619.0":{"name":"@flowfuse/nr-launcher","version":"2.5.2-b205186-202407031619.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.5.2-b205186-202407031619.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"cf8f1e96ec980b5364b7140a25a669465de20ebe","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.5.2-b205186-202407031619.0.tgz","fileCount":40,"integrity":"sha512-in99U/hZ7IS9mmxNzUdIYggI/iWDt4fGd/Tef9F9rpKBFu+B5y0CSVfzgL+ZWEaes9YQGDY68JebYi0TXv6klw==","signatures":[{"sig":"MEQCH2Km5tzxylCjkCADkqe4tVjmdTcnktiYB5boDEX4xywCIQD3s3KuGuNPSG7FlKHivJSnmp907jEP+9sGS1zPZewTRw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":557189},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"b205186d682a9a150d5d22ca00e7a5a09a49ea46","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"^0.1.0","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.5.2-b205186-202407031619.0_1720023578422_0.34239677410513747","host":"s3://npm-registry-packages"}},"2.5.2-b205186-202407040813.0":{"name":"@flowfuse/nr-launcher","version":"2.5.2-b205186-202407040813.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.5.2-b205186-202407040813.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"a9d3fb3c472aef110982a2ebde7eb36a560b1b81","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.5.2-b205186-202407040813.0.tgz","fileCount":40,"integrity":"sha512-MwqzveN3OnlJW8898ZK390LO06kgAgcKlg+kue7W9F1976GdflCPBm/4QTIAdEEz0XJi7w1UeHUv4lXuGHHfgQ==","signatures":[{"sig":"MEYCIQD3/57XQ5iXzEXpur2vIKvPX53C8ftBQvzEH2KV8nhpbAIhAOkrFQ9Y2BW4ebiX9w3wHBK7o59koMMYrOOJPEKxx5pW","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":557189},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"b205186d682a9a150d5d22ca00e7a5a09a49ea46","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"^0.1.0","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.5.2-b205186-202407040813.0_1720080825029_0.43495875482120594","host":"s3://npm-registry-packages"}},"2.5.2-e666cd8-202407040813.0":{"name":"@flowfuse/nr-launcher","version":"2.5.2-e666cd8-202407040813.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.5.2-e666cd8-202407040813.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"3c983f326e7aabfe64f2af413fcdaa14c71ab032","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.5.2-e666cd8-202407040813.0.tgz","fileCount":40,"integrity":"sha512-BYdGCLjcxZOXiebhFOTDSLHg+HcF9B7/RXTQHVuw3O5tOuE9GE7wHhaJTAB1pu7pLaNgfcGAjbAIu8rEzIIYeA==","signatures":[{"sig":"MEQCIFvFFcGyZV0qNIso73O4uGKQfbiSNEAUq7RTEQHlavLNAiBAOofhATWr1ylEsn5xkBgNCA/pWenHQptfikST3bP1TA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":557190},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"e666cd8e2cecdff36b84f6a56aa09c49d3ac2882","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"nightly","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.5.2-e666cd8-202407040813.0_1720080825303_0.8215397483807994","host":"s3://npm-registry-packages"}},"2.5.2-a5ba57e-202407040907.0":{"name":"@flowfuse/nr-launcher","version":"2.5.2-a5ba57e-202407040907.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.5.2-a5ba57e-202407040907.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"8171b838247ece9d6549bfbce29515bc2a087606","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.5.2-a5ba57e-202407040907.0.tgz","fileCount":40,"integrity":"sha512-urJxNZYVsDjOp1RpfaqEGg+Ym3Hmc2h9s1cWZKNhMSpXaoFolgzBvwOiWIcp2/BFfIQth8tHBY8cZqkkNIDysw==","signatures":[{"sig":"MEUCIQC7cr6WBTgZrPtOcHqQfqYw2MzPsSkgIdo+dL9jQycv+gIgEsIii+CvqRkrYxtTLiGQGy6LapAi5/qakbjpfNrJLxs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":557201},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"a5ba57e05d75f9c7381ecf93339d75a3451bafeb","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"nightly","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.5.2-a5ba57e-202407040907.0_1720084046137_0.6019006603633115","host":"s3://npm-registry-packages"}},"2.6.1-09f7a02-202407041023.0":{"name":"@flowfuse/nr-launcher","version":"2.6.1-09f7a02-202407041023.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.6.1-09f7a02-202407041023.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"8909466297d2ade943c4347594af2ec275ff96ec","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.6.1-09f7a02-202407041023.0.tgz","fileCount":40,"integrity":"sha512-l3QddQwj8xQG4/Ck+9oua6svqMjNCvIy0RtQega8BD8nXWAkyqsEMAKLcjx8mk0tuXszaAqYD3jMv2dwDolIdw==","signatures":[{"sig":"MEUCIFDw4XeTE1AipBhm67i3xulh/ZnAClmqt1DKArOXFu09AiEAxPpu7Vqap3hoAo9GB9hNEZssfN/qEr8CnpSUEKsWnhA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":557627},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"09f7a02957613be3ad857e6a6356c8bc8d49f5a6","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"nightly","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.6.1-09f7a02-202407041023.0_1720088625928_0.8382660443174617","host":"s3://npm-registry-packages"}},"2.6.0":{"name":"@flowfuse/nr-launcher","version":"2.6.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.6.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"5519ca7b09f8d7a585d26dc2ac0a60ca2afd5266","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.6.0.tgz","fileCount":40,"integrity":"sha512-mwCT1ZonEBdKvuYtwrQdtO+4+TPMiuueXm7o0wCacHTLCEEOP8XU4l4t4gTodeAniG3o7rP4bXoVHBPIggKJIw==","signatures":[{"sig":"MEQCIHJCAdZjd4ue7UjqgqFybOxOd0zvnVlbZZyXTBQiGa9JAiBH9ZtwHv/e2GtOlaugJZCpvW0jeZ0awYXSAvj4+afl9w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":557861},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"09f7a02957613be3ad857e6a6356c8bc8d49f5a6","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"^0.1.0","@flowfuse/nr-file-nodes":"^0.0.5","@flowfuse/nr-project-nodes":"^0.6.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.6.0_1720088634032_0.9038495967827929","host":"s3://npm-registry-packages"}},"2.6.1-fb5956f-202407081350.0":{"name":"@flowfuse/nr-launcher","version":"2.6.1-fb5956f-202407081350.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.6.1-fb5956f-202407081350.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"a42d1ab4e85d5b88b746784d55c18ff7faefcbe7","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.6.1-fb5956f-202407081350.0.tgz","fileCount":40,"integrity":"sha512-xvRVcCKIlNI18b68PxA9T8ZIQAS+WViKs8n8eQR3AmXD0p2MxPUZlihSUmZsT9fx1NwD5z2p1bhpE1DEw5QIbw==","signatures":[{"sig":"MEQCIH728TSFcMIlc56wQc1tgXUPjN87MW1thpF3DB50SSp4AiBdXWSIpC1I8EiRLceSZh0/Mj0yqiyk5PixRp9doxVpyA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":557627},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"fb5956f303375817ce5a30f40c92f25d52bb766a","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"nightly","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.6.1-fb5956f-202407081350.0_1720446649605_0.4584267841772729","host":"s3://npm-registry-packages"}},"2.6.1-fb5956f-202407081400.0":{"name":"@flowfuse/nr-launcher","version":"2.6.1-fb5956f-202407081400.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.6.1-fb5956f-202407081400.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"0aec6a857a070f98b805adc26b09afadf92845d9","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.6.1-fb5956f-202407081400.0.tgz","fileCount":40,"integrity":"sha512-GoDjDQ+cyp3J8/CG01CHkbtcDMhaA20ZPuamYqQwi7f34mAUM2Tk1pTjaGdfkIWNfIDhHj2JlD6PZ1M5XYK36Q==","signatures":[{"sig":"MEUCIDLo4LFg4/t1kOL2QjkQmUpFi3hNDaNNITGMd8NC1MSXAiEA4G5tcGOxD8Ms3G4WeIy8aZpyUQ5OFoq7tO3ktIO+3sg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":557627},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"fb5956f303375817ce5a30f40c92f25d52bb766a","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"nightly","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.6.1-fb5956f-202407081400.0_1720447207738_0.16290946831950226","host":"s3://npm-registry-packages"}},"2.6.1-3c2ef20-202407081404.0":{"name":"@flowfuse/nr-launcher","version":"2.6.1-3c2ef20-202407081404.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.6.1-3c2ef20-202407081404.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"bde5eed9ce41bdcfc08aeeb8c0ede798427b5ffc","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.6.1-3c2ef20-202407081404.0.tgz","fileCount":40,"integrity":"sha512-79eE2p8cobrQhAvGICzUourhtnGp+1aQG/pc5bfHP7bSobkSdaw4Jz8P9/ww1XCzs1hwNX+ratwiUGmjqu6KZA==","signatures":[{"sig":"MEYCIQCiccjJPI1mO+YnWPmCiO09bSMHVy2WKmCgtxlsrrtyfQIhAKX2FaL6Xi/BTIz9+qkRzU56fxhnieoyWQwb3L6vihJk","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":557627},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"3c2ef2014c6ef135374a305a887db13fa3c730d1","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"nightly","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.6.1-3c2ef20-202407081404.0_1720447460052_0.0548827479850893","host":"s3://npm-registry-packages"}},"2.6.1-3c2ef20-202407081411.0":{"name":"@flowfuse/nr-launcher","version":"2.6.1-3c2ef20-202407081411.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.6.1-3c2ef20-202407081411.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"bc7dad270c1253141d450ca516b82dc3f612bc7c","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.6.1-3c2ef20-202407081411.0.tgz","fileCount":40,"integrity":"sha512-7IJjRc7/VrkhWdpKpt7hOMCSLGHnqyGwVRIdo/A767BcDmezahop7T7rXkr8k73lH6HxC25jvL7WQRpjGMsPag==","signatures":[{"sig":"MEUCIQDLVdHcvGYLjDmALrwnB7UOyGvMdHXPMC0EXjyHzFctJwIgMIG/cqtXU1FFyi1vozeqeTTJ3DTOwkkGC7bYAR9oGvA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":557627},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"3c2ef2014c6ef135374a305a887db13fa3c730d1","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"nightly","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.6.1-3c2ef20-202407081411.0_1720447914490_0.2601810523915864","host":"s3://npm-registry-packages"}},"2.6.1-3c2ef20-202407081415.0":{"name":"@flowfuse/nr-launcher","version":"2.6.1-3c2ef20-202407081415.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.6.1-3c2ef20-202407081415.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"69ccd6a4720d750fc20c52ba4c7b6b120f5ee12d","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.6.1-3c2ef20-202407081415.0.tgz","fileCount":40,"integrity":"sha512-Lu6+pROMZfjrlQZiKP1wocLzYTWhnrZGZfyG589my8MJoDb6hC6BGpjKcpzJ77mpnSz9fzhteMZpteKd7dzBrQ==","signatures":[{"sig":"MEYCIQCY2pWPD6Wi17bAS3b029Sdl1V6o/Xh434YTXClP3zkwgIhAOoPqcbW6ppOHPhHcU8V9VegyZW9H/sLsCnzzo2XIr/l","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":557627},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"3c2ef2014c6ef135374a305a887db13fa3c730d1","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"nightly","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.6.1-3c2ef20-202407081415.0_1720448107667_0.4158933620713492","host":"s3://npm-registry-packages"}},"2.6.1-3c2ef20-202407081556.0":{"name":"@flowfuse/nr-launcher","version":"2.6.1-3c2ef20-202407081556.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.6.1-3c2ef20-202407081556.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"96ad1db1c15086125af5138390d3d05ead546831","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.6.1-3c2ef20-202407081556.0.tgz","fileCount":40,"integrity":"sha512-YdEIXtAppxLaA1R6fSFzAUaU0T7ert4isSTLxZ1CaYTrPfklFylzUgUh4pJ7Oc1vJkoQBGOiFBwuc09dEzgExA==","signatures":[{"sig":"MEUCIGc60hRSL29Sr4A4KPMskJetPqB7aypSEf6gXf3AssPEAiEA1+YZyINd6MBPvb1jqSBEwcpYopdbmyf+uloloptlCvk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":557627},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"3c2ef2014c6ef135374a305a887db13fa3c730d1","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"nightly","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.6.1-3c2ef20-202407081556.0_1720454176318_0.40703478463020826","host":"s3://npm-registry-packages"}},"2.6.1-3c2ef20-202407091342.0":{"name":"@flowfuse/nr-launcher","version":"2.6.1-3c2ef20-202407091342.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.6.1-3c2ef20-202407091342.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"10f1376c22076162eebea921e7a2e06a9560deea","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.6.1-3c2ef20-202407091342.0.tgz","fileCount":40,"integrity":"sha512-niEAQXbp/S/0WRgAtkDsbBV8s1f3Y7ldEwzUrQcOwG2odiwi4DGN9T6yWfpgHMIEjVtinnwz3bqLCkwxhXx+GA==","signatures":[{"sig":"MEUCIFljqE4IV0twqnMWN3U2e+47ImiWgdM3A9M/Vfs3AwyTAiEA2umVDfpbpDVyikH3GU4bOoCuWpmxDaVy7C9P+g7NZIc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":557627},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"3c2ef2014c6ef135374a305a887db13fa3c730d1","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"nightly","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.6.1-3c2ef20-202407091342.0_1720532549071_0.34469645861424847","host":"s3://npm-registry-packages"}},"2.6.1-44d0b7e-202407091714.0":{"name":"@flowfuse/nr-launcher","version":"2.6.1-44d0b7e-202407091714.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.6.1-44d0b7e-202407091714.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"2451fe749646787e452e498fa856073694840fe4","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.6.1-44d0b7e-202407091714.0.tgz","fileCount":40,"integrity":"sha512-qR5BGbxj29aR8BzrMvReLPpVIHdAaw+WhaiXaODmYpHfKc/R+cox8u0cs9aX2KJmndwi5uERb6uk2t1CbEpS/w==","signatures":[{"sig":"MEUCIQCLOq4VKnJbDC+GXC4Ad0rXyF1Bu9xb1aKISdyFsqq4XgIgT83MlMEF256dOI8AnQiXZhyG4fS62f2gcC1v54hUDhs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":558037},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"44d0b7e69c09345cb8dce79d62096d2ed33cbc39","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"nightly","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.6.1-44d0b7e-202407091714.0_1720545295636_0.4866977831681609","host":"s3://npm-registry-packages"}},"2.6.1-44d0b7e-202407101152.0":{"name":"@flowfuse/nr-launcher","version":"2.6.1-44d0b7e-202407101152.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.6.1-44d0b7e-202407101152.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"435889915d36f6fb3597b2496cb1bde2c879c4cc","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.6.1-44d0b7e-202407101152.0.tgz","fileCount":40,"integrity":"sha512-DnFI6BbWNxnTNTN2GNwBfZJfgA4yMNnNhV1kKQ29/a9VsvvJqxBZ7FRgCdCYKv6I3TK/RzxOiGzbIgefM58H1g==","signatures":[{"sig":"MEYCIQDRbudVAKiKfA3MOemHjFNInWXQQYLVnoE0W8J6Uh/5pwIhAJNTUwdsmltp231SEoVUWrJrTAq9+we29lVxAJKbRvyc","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":558037},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"44d0b7e69c09345cb8dce79d62096d2ed33cbc39","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"nightly","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.6.1-44d0b7e-202407101152.0_1720612379517_0.24676347759573103","host":"s3://npm-registry-packages"}},"2.6.1-1c84d64-202407111405.0":{"name":"@flowfuse/nr-launcher","version":"2.6.1-1c84d64-202407111405.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.6.1-1c84d64-202407111405.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"b61b8f6cc06b854659101a0b10fe6ee92bdf12b1","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.6.1-1c84d64-202407111405.0.tgz","fileCount":40,"integrity":"sha512-ec3F+FmOR7I51HTLrF9TZn0EZwA61LGocrLLy4axZhh6Isx2IW1OUBaK30OWDapqejXefTenpHylAJRvaXjiGA==","signatures":[{"sig":"MEQCIDNeNksB1NjBXFG79fkyjp3+61z2FivS7pbFvp29jNxgAiBIZpiVLrtCauwu8EwzDt764Zqiv6STS9cYsYpULE9o7g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":558037},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"1c84d64f6fdfe8f61606202489c47a6cc65ab1dc","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"nightly","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.6.1-1c84d64-202407111405.0_1720706756098_0.8143255466257646","host":"s3://npm-registry-packages"}},"2.6.1-f757df7-202407111425.0":{"name":"@flowfuse/nr-launcher","version":"2.6.1-f757df7-202407111425.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.6.1-f757df7-202407111425.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"1f06bea0d917068b3d06de27695a5cf3ad1fa50d","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.6.1-f757df7-202407111425.0.tgz","fileCount":40,"integrity":"sha512-e9lh4qxjcviScTX23EL03VO19izqxnyrk80qRSTrpQxA175sDu9qcoe5o78yNYxRU2R9DziSp/c9QaJAJdoqYQ==","signatures":[{"sig":"MEQCIDPWK2CMFYjnccl+SKxved1nAG1qJq7rGvB4F8vP/w/nAiBxubon3A3S19xq22GfD6EHp8j0clIhmMSt6gcxD+aJaA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":558037},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"f757df75d06c87c3b9e697061a2d5f6137ef4879","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"nightly","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.6.1-f757df7-202407111425.0_1720707909372_0.8967895305708435","host":"s3://npm-registry-packages"}},"2.6.1-f757df7-202407111429.0":{"name":"@flowfuse/nr-launcher","version":"2.6.1-f757df7-202407111429.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.6.1-f757df7-202407111429.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"458463c505ac111887621dc59828a813a7e38543","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.6.1-f757df7-202407111429.0.tgz","fileCount":40,"integrity":"sha512-+ZMm451wDvKHxhDfiX9sL1BLyAr4GgHRsEjYtfqZ5kCISDWUuypH9X7eRm89up+8719g25Xg7A3IrTLhnZH2Fg==","signatures":[{"sig":"MEYCIQCdM+A+hu7E6fC7u+P86rhnbkag8XlPH1ccvS0tS4dGbgIhAOImYDxwPdGQxChSw1q39ebDfpxHyAvttUtVgcHpIVOh","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":558037},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"f757df75d06c87c3b9e697061a2d5f6137ef4879","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"nightly","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.6.1-f757df7-202407111429.0_1720708186636_0.7875082378103242","host":"s3://npm-registry-packages"}},"2.6.1-08b4ad0-202407151012.0":{"name":"@flowfuse/nr-launcher","version":"2.6.1-08b4ad0-202407151012.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.6.1-08b4ad0-202407151012.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"b736e63eb2d668b9ea22b509aaade63bac4156cf","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.6.1-08b4ad0-202407151012.0.tgz","fileCount":40,"integrity":"sha512-FcAMap4AksuhbLVsuesFXE2Ap2otERvtsUW9EizEKIzbSLepBYJAJj1anen/vdhgtcGZD658QuNbS0stDE29NQ==","signatures":[{"sig":"MEYCIQCAihTFr00e1rYJeOQ3fJy/QXh7HBdxESzdvdFkIj+/NAIhAJ9UtZpBDOuurdH6fQGnJ0uCKNPu7BxE86+JMg6aVU3c","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":558037},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"08b4ad0ce251b0edd06eca160e994d3bdd0512af","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"nightly","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.6.1-08b4ad0-202407151012.0_1721038347246_0.17847100169691132","host":"s3://npm-registry-packages"}},"2.6.1-08b4ad0-202407151013.0":{"name":"@flowfuse/nr-launcher","version":"2.6.1-08b4ad0-202407151013.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.6.1-08b4ad0-202407151013.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"945e153dc2c1f1e881cb4c2f018332708db40bcf","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.6.1-08b4ad0-202407151013.0.tgz","fileCount":40,"integrity":"sha512-xpyVLuveG6o8AWWtMGuAYyWrsYHqX2qdAgwmck+GDMaBp86HZz8p1/NesjvVIRp0TDrqTa1rIuT1bOFd+IU59Q==","signatures":[{"sig":"MEUCIHHimZ4TFntN+vE3mKJ/7KE83VDXbg4Hy2DA0slwpnViAiEA1uFhJwwq3r2b7u16THDqnOQA1PYJ6C7ms6cMk/3XtLQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":558037},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"08b4ad0ce251b0edd06eca160e994d3bdd0512af","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"nightly","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.6.1-08b4ad0-202407151013.0_1721038420352_0.8148875296579043","host":"s3://npm-registry-packages"}},"2.6.1-08b4ad0-202407151303.0":{"name":"@flowfuse/nr-launcher","version":"2.6.1-08b4ad0-202407151303.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.6.1-08b4ad0-202407151303.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"4d157d825e025967899d70b51a6d42902fe2059c","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.6.1-08b4ad0-202407151303.0.tgz","fileCount":40,"integrity":"sha512-vdahX7PpcUldCIgLixPVqjfPIv6Ge3FpSjDuX2xiOqABN8pQnIkMb4mPdqZnEc/5MLvWIqDXkKbzWUbUFL2Udw==","signatures":[{"sig":"MEUCIQC2gxR6CQy0rpvvNxSAXJKUJMoacgzDIkd8XyIaVX0AJgIgIIEHXtTFOIy8TnHqfzyWSo4xA/Id4hu4GIoaMC2u94w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":558037},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"08b4ad0ce251b0edd06eca160e994d3bdd0512af","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"nightly","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.6.1-08b4ad0-202407151303.0_1721048601962_0.8274419099665267","host":"s3://npm-registry-packages"}},"2.6.1-08b4ad0-202407160720.0":{"name":"@flowfuse/nr-launcher","version":"2.6.1-08b4ad0-202407160720.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.6.1-08b4ad0-202407160720.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"bf682b3aebb9ed86b6ad5825edb9b83bc8ec91f4","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.6.1-08b4ad0-202407160720.0.tgz","fileCount":40,"integrity":"sha512-t/YDVypaG2biva71Fv9GSFh8p8wp/WFlxiU5NicWRLFCw24J4R9zLun2lnpYm59zhaHRjlnUy+MwNT+kEhEOzg==","signatures":[{"sig":"MEUCIQDAIqZlejR2WlL3MbhAcl3Ea48uX4gT0+Fzpr6Lg8EmHgIgUY8K3Hj53sYn2xXxEwt3B30XjeMpqvv9DVEGWpbTbTQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":558037},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"08b4ad0ce251b0edd06eca160e994d3bdd0512af","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"nightly","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.6.1-08b4ad0-202407160720.0_1721114411994_0.4881320086349352","host":"s3://npm-registry-packages"}},"2.6.1-08b4ad0-202407161044.0":{"name":"@flowfuse/nr-launcher","version":"2.6.1-08b4ad0-202407161044.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.6.1-08b4ad0-202407161044.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"308bca1cd477933417c49837afff635d43df6978","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.6.1-08b4ad0-202407161044.0.tgz","fileCount":40,"integrity":"sha512-aSdOv70LwPKLaAO9hywiqhoJMx6RKvFpET7V4jY4Lv0mH6Pw8iD4LkUYQf/kO3/0wiJf17UAz6Nmq5LO159vwQ==","signatures":[{"sig":"MEYCIQCbkkXEsyFrrHljtc6UESxmR6kweV40QBvBkJrfamEEkQIhAMiQd/frZ3ohCkroo46VRwcZdmIpc0bF4i9p3yt+/Sxg","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":558037},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"08b4ad0ce251b0edd06eca160e994d3bdd0512af","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"nightly","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.6.1-08b4ad0-202407161044.0_1721126645171_0.5339097858515105","host":"s3://npm-registry-packages"}},"2.6.1-08b4ad0-202407161309.0":{"name":"@flowfuse/nr-launcher","version":"2.6.1-08b4ad0-202407161309.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.6.1-08b4ad0-202407161309.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"044b50b7415b1604044efb45c9e62da0a415614f","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.6.1-08b4ad0-202407161309.0.tgz","fileCount":40,"integrity":"sha512-QciR3uy2R2fpDYwn3nAAVYreBhUGcNbC0JrWXrRLOO7WZNOJ7CTHNOvLTnxoOV0C0GBWU692OfPkARagfcsi5g==","signatures":[{"sig":"MEQCIApK+YnBY6wDPe5OCHfCO8j1wr9J5e1H6afo7mhXCFTfAiA3+YVOTADC+eUO0nKebWTSoj5mHEhsfH0QPFuBOzXx0Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":558037},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"08b4ad0ce251b0edd06eca160e994d3bdd0512af","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"nightly","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.6.1-08b4ad0-202407161309.0_1721135380831_0.11074504585846445","host":"s3://npm-registry-packages"}},"2.6.1-08b4ad0-202407161340.0":{"name":"@flowfuse/nr-launcher","version":"2.6.1-08b4ad0-202407161340.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.6.1-08b4ad0-202407161340.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"71337e8bb76be5b9bcba9239664fb37731791057","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.6.1-08b4ad0-202407161340.0.tgz","fileCount":40,"integrity":"sha512-AOpfIs7fGCSI1K203ae8mIzW2A9JLwXjmJDkQ7Afvw4ZZUG9XlHdylqhjjj2ceUXxqiR4JcRE/AxAJI+jvtb2g==","signatures":[{"sig":"MEQCIAy5uvPuXWzuIuJZ89U/5bOB5Rf6kcm5f4MBVjwCF98gAiBlRGYm6g8lO8M3lfQb3mRCBJoBQkz82l6HHKJ+9il/ew==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":558037},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"08b4ad0ce251b0edd06eca160e994d3bdd0512af","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"nightly","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.6.1-08b4ad0-202407161340.0_1721137244609_0.06592548713043178","host":"s3://npm-registry-packages"}},"2.6.1-08b4ad0-202407170855.0":{"name":"@flowfuse/nr-launcher","version":"2.6.1-08b4ad0-202407170855.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.6.1-08b4ad0-202407170855.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"460cde4f87bb6ce2db6a2bba4e24a1fdde233b25","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.6.1-08b4ad0-202407170855.0.tgz","fileCount":40,"integrity":"sha512-HaWhmys/C5+VoW1oNQ0bp+ED23BtIaYyYn23dvbjJ5J7QgKUiM+ThHXJTSWYkj+clf7PvPNklfe2hk4PiBCzUA==","signatures":[{"sig":"MEUCIFvXv/xrEWcYmTQr4d4cvK3Gavg1dmmi7/J6+uRAsjOwAiEAiQac7x0Vb5V0dmECa5e0Kf5vHHfw3HjCs1RQBQA34f0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":558037},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"08b4ad0ce251b0edd06eca160e994d3bdd0512af","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"nightly","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.6.1-08b4ad0-202407170855.0_1721206515936_0.9034068193082307","host":"s3://npm-registry-packages"}},"2.6.1-08b4ad0-202407171312.0":{"name":"@flowfuse/nr-launcher","version":"2.6.1-08b4ad0-202407171312.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.6.1-08b4ad0-202407171312.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"bded0e7efa956fe245296cf1a9b77c0f6eb56945","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.6.1-08b4ad0-202407171312.0.tgz","fileCount":40,"integrity":"sha512-SK7RQ4N85Ydq9Sxnqk8uQ911Vs0ldPrkM/5Qn8y7XZLrmINm5rJ9ndKiyRYnYNSOBbY3UXYx0Zw3I6aDr/kCWA==","signatures":[{"sig":"MEUCIG8r7IADDJta2XwxrgnXQmzJbyNg1QX/KTa3RU+PysjWAiEAxfY+16kSpxbUGNLBSPSu7sBr/CCm/XqtYk4vOdHi1GM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":558037},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"08b4ad0ce251b0edd06eca160e994d3bdd0512af","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"nightly","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.6.1-08b4ad0-202407171312.0_1721221935947_0.8661072561812571","host":"s3://npm-registry-packages"}},"2.6.1-d92228c-202407261025.0":{"name":"@flowfuse/nr-launcher","version":"2.6.1-d92228c-202407261025.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.6.1-d92228c-202407261025.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"4cecf8bb6a5f90996147c90c2d5cd93df28bb11f","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.6.1-d92228c-202407261025.0.tgz","fileCount":40,"integrity":"sha512-yE6rN8v/9Bec6xKbQ1pJSftrHoPX6oTPJlm4p6WiFhyIVSYH0WEmPm28Ot+lUYCV14otHKL3oUU3sOp4f0u9lg==","signatures":[{"sig":"MEYCIQDiXmLbc8CjdAnesfi9bbG+UHOpQvPRrP7dBL3Iz51XawIhAPkFJjwrzb3xp7K7PEvuqfxAEliC6+RvhcZG7pGvA6fy","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":559176},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"d92228c53c808b6397389d49b69290470b46a3d7","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"nightly","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.6.1-d92228c-202407261025.0_1721989547275_0.2501220009768692","host":"s3://npm-registry-packages"}},"2.6.1-865fa96-202407261158.0":{"name":"@flowfuse/nr-launcher","version":"2.6.1-865fa96-202407261158.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.6.1-865fa96-202407261158.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"86b12d77a832d37f109ff75aeeac0a8516bb533a","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.6.1-865fa96-202407261158.0.tgz","fileCount":40,"integrity":"sha512-427X8eP6GRCDWy19Bx8oqZYF3JlHUaMLlfBY8bXMkpt91VkJKnJdsgf17yVpzPVEAfZwU4iSrwUx/ZZGXupRVQ==","signatures":[{"sig":"MEYCIQCZ1li7apq1J8lONmrnZw/ALdc2NEfQRjHcwmafSOdSmwIhAJA3CwyMHOrjEmZm/BCmC4CNOZKS2YxovkEIEH7GTYys","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":559478},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"865fa963c466787b11c4da411e1b24171fbea576","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"nightly","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.6.1-865fa96-202407261158.0_1721995119599_0.5983385740074807","host":"s3://npm-registry-packages"}},"2.6.1-865fa96-202408010829.0":{"name":"@flowfuse/nr-launcher","version":"2.6.1-865fa96-202408010829.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.6.1-865fa96-202408010829.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"2c2cc59f4dcec83e1fb8492f275bb75b61bc0439","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.6.1-865fa96-202408010829.0.tgz","fileCount":40,"integrity":"sha512-SEfg+UOG3Vv/5B2wslrTfjugtUV4Fsx2xJeTGtA5V43VqTau9kU44awNVEKiTYFzUmzz3HwlDiAM64nHGRCMhA==","signatures":[{"sig":"MEYCIQDMt/RVxg77MJYfQTzvGtzBMqBX7EB2W8g5AATBP+sbeAIhAKLIiT+Gz0Y34SW+mVUjMalu7bmm/s+TswtHqI+VKBZY","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":559478},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"865fa963c466787b11c4da411e1b24171fbea576","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"nightly","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.6.1-865fa96-202408010829.0_1722500956964_0.6622941873250963","host":"s3://npm-registry-packages"}},"2.6.1-086b7f8-202408010855.0":{"name":"@flowfuse/nr-launcher","version":"2.6.1-086b7f8-202408010855.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.6.1-086b7f8-202408010855.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"16be391256d56b384f291272bf423171a1d9cf63","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.6.1-086b7f8-202408010855.0.tgz","fileCount":40,"integrity":"sha512-bvZKD71gncDqLMNL+LhOANNPGdJFuJDq/9+2JYpIPXLa7tXEaWUL5QY5Zx/456hFRZ+VEfS0swM2lJAmowIwxg==","signatures":[{"sig":"MEYCIQD94WCBDbpKV6WbpSU/u6NA70EDop4nncb6bj69sl6jVQIhAO9Q8dYAYvKIUIz//Ss7PSc/4LBGGNk7xggIPfKbpv85","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":559478},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"086b7f82280d180b3db885569aa079828b57e08f","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"nightly","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.6.1-086b7f8-202408010855.0_1722502542934_0.5060637751136725","host":"s3://npm-registry-packages"}},"2.7.1-a1fcc4b-202408010913.0":{"name":"@flowfuse/nr-launcher","version":"2.7.1-a1fcc4b-202408010913.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.7.1-a1fcc4b-202408010913.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"9366a11eb26b76b75b134d46b82a44c5c89505b4","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.7.1-a1fcc4b-202408010913.0.tgz","fileCount":40,"integrity":"sha512-khwYdDtSKr1dg9E3uhbDl5xfr9QSR6Mo+g3wuEzZF2TpG8Oed7jrKQkNxNuF+T9xYbjDqqryKA/MJNou/YW5QQ==","signatures":[{"sig":"MEUCICLeH9lO/xX0H01hyU6hWvEoWnhE8aOu94nchLvWQ+Y7AiEA4tgnPk6J15XXTzX7M2vgLHpoZeRxZAHZE//XoGKBlxw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":560065},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"a1fcc4b949d0a82bc6df3fd5a58151f9d43efebf","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"nightly","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.7.1-a1fcc4b-202408010913.0_1722503598231_0.6692322338502976","host":"s3://npm-registry-packages"}},"2.7.0":{"name":"@flowfuse/nr-launcher","version":"2.7.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.7.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"78fbccca502ca4cbd47d4b04f4cb41287cdc5183","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.7.0.tgz","fileCount":40,"integrity":"sha512-egkVhq/+iY+URt7MNuJoWXbQtk5s/nl7q4yZ7cTTDyz29Q9XD6BpEviEL2oG+8wPsl4jYk2mX672ycrCJKevyw==","signatures":[{"sig":"MEUCIQDf6NjqcPy4b97y6ZJ2UAMIOx6v4c8nbaslAxIyGt+thwIgZGyYb7qSV++CmnH1nQbZyXVnsEnUZd4y2n/+9Tk0OFM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":560299},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"a1fcc4b949d0a82bc6df3fd5a58151f9d43efebf","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.7.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"^0.1.3","@flowfuse/nr-file-nodes":"^0.0.6","@flowfuse/nr-project-nodes":"^0.7.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.7.0_1722503623855_0.6023628511397383","host":"s3://npm-registry-packages"}},"2.7.1-eb9c703-202408051433.0":{"name":"@flowfuse/nr-launcher","version":"2.7.1-eb9c703-202408051433.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.7.1-eb9c703-202408051433.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"2b4e921e88a2897ba40639a0c67fb28809c5d0fa","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.7.1-eb9c703-202408051433.0.tgz","fileCount":40,"integrity":"sha512-rFfGO7CPrWbI5UfEc81xjOCQ8tZfh33iKM1Cep/eejw/9YIXEuzHVdqaRwzm5UYoMKUYRZNn0N3J98PLZ4NHzA==","signatures":[{"sig":"MEYCIQC/6kWXdwGcDH4/QihHuJOlyF+vw2uuz0A7hMnzC/CdUQIhAPXBTlH5L3ojku8ra3tK+qllbtOf9pLqY8gjiRMTdSkE","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":560059},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"eb9c7036eeaeb54dd480f2c7bb268e25cd990536","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"nightly","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.7.1-eb9c703-202408051433.0_1722868395934_0.043905312266352636","host":"s3://npm-registry-packages"}},"2.7.1-eb9c703-202408140931.0":{"name":"@flowfuse/nr-launcher","version":"2.7.1-eb9c703-202408140931.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.7.1-eb9c703-202408140931.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"073947b8421f3ca49891e5421be1c5c36d624347","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.7.1-eb9c703-202408140931.0.tgz","fileCount":40,"integrity":"sha512-ah8uyitnJyK0LeTqY47Qsx/mPolfhALzt/J+HeFi9BUWO7QdNKySfMrdGu3YOfnenV8PraK6oAG9AgAIsOklcA==","signatures":[{"sig":"MEUCIQD9vaucYaXo+xBiSpIJ1T7DmnI+uXEnYrz/8DDZ3sYJQQIgHpqgqzTBOzM0Go9HNMuRtt+TLEDoOFSzNQTJZ1FqZ34=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":560059},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"eb9c7036eeaeb54dd480f2c7bb268e25cd990536","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"nightly","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.7.1-eb9c703-202408140931.0_1723627919024_0.41870612630089776","host":"s3://npm-registry-packages"}},"2.7.1-eb9c703-202408140935.0":{"name":"@flowfuse/nr-launcher","version":"2.7.1-eb9c703-202408140935.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.7.1-eb9c703-202408140935.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"0a0f4ca760665b64c7c742665b557c9fa027eb76","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.7.1-eb9c703-202408140935.0.tgz","fileCount":40,"integrity":"sha512-CyrSfeywsAWFODlMb4wvx6vv9VOIomWtr4184qaCL8EpmeN72CMPu5jI8ImooDX6j52ojYF24V8S0GydRFzQjg==","signatures":[{"sig":"MEUCIQCmwRjmtfTgDCGPIPjEELvla2fNP3xUWhnfYGM1gK/cawIgby0ot4UcjpbEtDvJjONkU5G5itepxG8yd2Ezyl5+5OQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":560059},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"eb9c7036eeaeb54dd480f2c7bb268e25cd990536","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"nightly","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.7.1-eb9c703-202408140935.0_1723628117693_0.5484721942382573","host":"s3://npm-registry-packages"}},"2.7.1-a97648a-202408230936.0":{"name":"@flowfuse/nr-launcher","version":"2.7.1-a97648a-202408230936.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.7.1-a97648a-202408230936.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"4cec200f8dd504422925c429c6e79463a6da5e9f","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.7.1-a97648a-202408230936.0.tgz","fileCount":40,"integrity":"sha512-Fidd++cf3H2UWshHC2VuqCPSfp6vaITJD+/7mv8IuD2HpivA7u5DxiBPh58r829FFrsVAaHbx98q2saYBX6wkg==","signatures":[{"sig":"MEQCIBKT57FayLneLfvhZF4IlJP3nV6dViti/ZL0rnoR0+SYAiAZotEHBTah7ViWhCeIO32PY2ANse+81bRZKl/6akVWLw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":560186},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"a97648a85f21e13d51f1ec63ffaa2a70c65db17a","scripts":{"lint":"eslint -c .eslintrc *.js lib/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"nightly","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.7.1-a97648a-202408230936.0_1724405786089_0.11158559865229156","host":"s3://npm-registry-packages"}},"2.7.1-0c05f78-202408281639.0":{"name":"@flowfuse/nr-launcher","version":"2.7.1-0c05f78-202408281639.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.7.1-0c05f78-202408281639.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"7edd466036a1346bd66159dabb32c0edd82dbdf5","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.7.1-0c05f78-202408281639.0.tgz","fileCount":41,"integrity":"sha512-5JK7eDsPcrD3KbpgBvkX53d31vhtawovSpVPgMVH4JGWKDI4fFSs0Vt9r/yfV4hjMvQlJZwwmuc9FvekzQYd5Q==","signatures":[{"sig":"MEUCIQCjuzn8pgxaGx4/ef55q1nwT52Y0sELjF/9vveXt6BeNQIgVlnuee3WMjvwgAvHUk0G1XttTAKzcZN4bdlycaz9H6o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":565797},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"0c05f78ed8e247b92b9d07fd4e4a4efe1e1261a2","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"nightly","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.7.1-0c05f78-202408281639.0_1724863184508_0.906003704211519","host":"s3://npm-registry-packages"}},"2.7.1-0c05f78-202408290828.0":{"name":"@flowfuse/nr-launcher","version":"2.7.1-0c05f78-202408290828.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.7.1-0c05f78-202408290828.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"45d08f60b72ba5f0a05706938e0d9b0761be3844","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.7.1-0c05f78-202408290828.0.tgz","fileCount":41,"integrity":"sha512-ZrxvzKezc1iTmU4tPpGld3OCswzFFf8C6L+IMEUyhBJBRPwKmZwNM9vK6KtnSNiaaNJ6hpS3GWLeqtqjQHjqAw==","signatures":[{"sig":"MEUCIG6RTSRpOtlzXuPTY86SOzCMh1c5lwCAKz+yDhyVon6xAiEA3ZOeb4zJxS650/zxTqcUyOax3zZJq2UB/ZuHHbG/4AM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":565797},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"0c05f78ed8e247b92b9d07fd4e4a4efe1e1261a2","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"nightly","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.7.1-0c05f78-202408290828.0_1724920132545_0.9256910984023154","host":"s3://npm-registry-packages"}},"2.7.1-0c05f78-202408290830.0":{"name":"@flowfuse/nr-launcher","version":"2.7.1-0c05f78-202408290830.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.7.1-0c05f78-202408290830.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"021b49876af60e16e30a9dac8612951149da5c6c","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.7.1-0c05f78-202408290830.0.tgz","fileCount":41,"integrity":"sha512-8D5wROhaPoZ/0Z2QZ0Te9xEbnrg/p+qWQfgieIW7W+HnGH7bZJEBf3zqayO4fpY9wO8Gug+kmuNEoKz+38xlzg==","signatures":[{"sig":"MEUCIQCchkHUQFZrJZfONGSVWNIbAr+yIGa1x6rbdY6TVxdFdgIgZBKtnR+YtAeZ3CDJ5y7ysBGBgC2dMC+KF0l3N7VtOvk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":565797},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"0c05f78ed8e247b92b9d07fd4e4a4efe1e1261a2","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"nightly","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.7.1-0c05f78-202408290830.0_1724920245918_0.4902981153566439","host":"s3://npm-registry-packages"}},"2.7.1-d3425c8-202408290940.0":{"name":"@flowfuse/nr-launcher","version":"2.7.1-d3425c8-202408290940.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.7.1-d3425c8-202408290940.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"b7fe290a4dee744942979d87dfa8c472e15fc626","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.7.1-d3425c8-202408290940.0.tgz","fileCount":41,"integrity":"sha512-OZ65p3IXNR9HqG/sdVUBkKQtYo4iVXV8+JSoJhK803sm0DLFeOMWdhsVrUJgr+9n8+39NN3Dx7ifHPMm9LvgbA==","signatures":[{"sig":"MEQCIF90AIrFP27KNbZaTvi1fr1AkIGWYDk/8MIDeY2PpNocAiBIcHp6wTw9T092oqEkssmCG1ZI54ezHLZzR4rITQi1qg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":565797},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"d3425c8111fec3887fe641813910c2aee9b74544","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"nightly","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.7.1-d3425c8-202408290940.0_1724924422469_0.3634960013890043","host":"s3://npm-registry-packages"}},"2.8.1-4e03127-202408290944.0":{"name":"@flowfuse/nr-launcher","version":"2.8.1-4e03127-202408290944.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.8.1-4e03127-202408290944.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"83bbc0497c39dc3800d58f4d34612411e133cbf9","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.8.1-4e03127-202408290944.0.tgz","fileCount":41,"integrity":"sha512-ncgXtDTsAi9VCbJFIDvH5jz36BW0Ev7j11D1NirFYJ7Dz//lza//wlGBnvNEwLPGGYrhEq+buluEJ/K4KlGAJQ==","signatures":[{"sig":"MEYCIQCX/1vkJBufvpoTSqWSx6KQJIWAmiJvX7zbA4bLr8yRvQIhAMIqlrKKJgDHcI0M+uCSjKbWNNf323dz7gPeG9c+m6ai","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":566039},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"4e03127cb06ea2f92eac9dc896651c07008310c5","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"nightly","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.8.1-4e03127-202408290944.0_1724924693316_0.8355461850409214","host":"s3://npm-registry-packages"}},"2.8.0":{"name":"@flowfuse/nr-launcher","version":"2.8.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.8.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"e9de5910f223937a8c92ca9ec8747e48eeb846fa","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.8.0.tgz","fileCount":41,"integrity":"sha512-TLBNZ77K8+6PTbZcKlGxF1YR+TsHXXoAUbCfUp666Nz6/lCcODpOIQ6gKhWOaSotzwJ17DG8ZcE4G81gB4GqKQ==","signatures":[{"sig":"MEUCIHoczVFKdnkF0/6rz0Fm+BFGpTHznlW3wvQDVUmcRE+4AiEA0iVI0N9W1D8sTLowLXKdFmGuSjWR+hgLLzGqKWtajgo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":566277},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"4e03127cb06ea2f92eac9dc896651c07008310c5","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.7.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"^0.1.3","@flowfuse/nr-file-nodes":"^0.0.7","@flowfuse/nr-project-nodes":"^0.7.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.8.0_1724924719302_0.0659503354686366","host":"s3://npm-registry-packages"}},"2.8.1-4e03127-202409021243.0":{"name":"@flowfuse/nr-launcher","version":"2.8.1-4e03127-202409021243.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.8.1-4e03127-202409021243.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"63798dc011d428fec834cf3b5feb83b83b2f405f","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.8.1-4e03127-202409021243.0.tgz","fileCount":41,"integrity":"sha512-ZXFL3QDUaBSM0yqWcseOP79g1TBnpf2hrGltEFM9Xx6UMp4PkJ7CmeTi4WQ3kHzdKAlkOhqkYMHwZnjxZVSS/A==","signatures":[{"sig":"MEUCIQCVwTwdwns4KExIJ86eA1F63N+I7ihHIyP/RIkMXC1qjgIgGPFTpylMjiYtpbuZVlGGwjtFOULTCISJV+/ug6/bc9k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":566039},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"4e03127cb06ea2f92eac9dc896651c07008310c5","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"nightly","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.8.1-4e03127-202409021243.0_1725281004238_0.6601470742510562","host":"s3://npm-registry-packages"}},"2.8.1-4e03127-202409021257.0":{"name":"@flowfuse/nr-launcher","version":"2.8.1-4e03127-202409021257.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.8.1-4e03127-202409021257.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"34c0e7d3fab00b534f7648e343559ec816cbc0f9","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.8.1-4e03127-202409021257.0.tgz","fileCount":41,"integrity":"sha512-Te+CxhrXFLKpL5kwyvYNOGhD4LiO9mk4EvoGTEBQnC1+aLEKYYzIDrSkpS5zMYTbr+3P8X636hH5KaqetilXgQ==","signatures":[{"sig":"MEYCIQCS3SvahICE8c8nSg7qyGy3MMOTnMJ0gk1S1AO49m2TbAIhAKNUZWz5AnQyVZ15nKKiZ2l7s2vgGO0Z4k49LvQf8PpP","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":566039},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"4e03127cb06ea2f92eac9dc896651c07008310c5","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"nightly","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.8.1-4e03127-202409021257.0_1725281836187_0.5170831514846221","host":"s3://npm-registry-packages"}},"2.8.1-4e03127-202409021541.0":{"name":"@flowfuse/nr-launcher","version":"2.8.1-4e03127-202409021541.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.8.1-4e03127-202409021541.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"d67e673b93df93110a35071bb7b68496fca1548e","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.8.1-4e03127-202409021541.0.tgz","fileCount":41,"integrity":"sha512-pVD0qdbmoOfFBONiVTmNjsltXwXaYkDFJOTPWCoStrUo62zR43ppsjFBEwsbDFVVjL5+BKXJro3BCUH3kzXDIA==","signatures":[{"sig":"MEQCIA1nIstf0BVWQWFv41W4NS8gHJzL8AyKcY5J7/LM1uuJAiAoNaTc3Pcl0QRg1ydR8cgSfpefy9JN6pq38Vlm1x0uFw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":566039},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"4e03127cb06ea2f92eac9dc896651c07008310c5","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"nightly","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.8.1-4e03127-202409021541.0_1725291667683_0.9745939597462085","host":"s3://npm-registry-packages"}},"2.8.1-4e03127-202409021638.0":{"name":"@flowfuse/nr-launcher","version":"2.8.1-4e03127-202409021638.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.8.1-4e03127-202409021638.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"2d3c1554ff0671b4c132181e671b04541a054250","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.8.1-4e03127-202409021638.0.tgz","fileCount":41,"integrity":"sha512-CWB/Vvp0kG2zITGlcikE2BPy82cPFa9JBevp7ht2imTN/PwxA0mUAse5/tF1kOQU45coRClC9OQRyjvQdqd4TA==","signatures":[{"sig":"MEYCIQDYBemq8ndFrz8Fb/xcE6B+Z8B/YLN/Xbis6Qeu+wAFjQIhAKOXtLqnaUSqRjdfvRuD6JTv1jk6rgPJxJJcbQllc9zG","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":566039},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"4e03127cb06ea2f92eac9dc896651c07008310c5","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"nightly","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.8.1-4e03127-202409021638.0_1725295117301_0.25378768832408904","host":"s3://npm-registry-packages"}},"2.8.1-4e03127-202409021647.0":{"name":"@flowfuse/nr-launcher","version":"2.8.1-4e03127-202409021647.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.8.1-4e03127-202409021647.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"55b192c208a8bb6956121b66f0a0195d39de33a1","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.8.1-4e03127-202409021647.0.tgz","fileCount":41,"integrity":"sha512-xhszAPx5ORDJv9Bd0PwFFO8eGfOSwRNyjCwY3jDwodAl1lveo5JXrTcaNd7XrQ0AUvPfHzzPYGoP+9nK4cSCtw==","signatures":[{"sig":"MEUCIQDxToJ5wN2E7770iNY/Uup0ITKoaAZSxEgISSkb4wZ34gIgW/OxbBoPZk8AA6JUOHQXC9bTAaW85EKhlvhDnrquJlI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":566039},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"4e03127cb06ea2f92eac9dc896651c07008310c5","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"nightly","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.8.1-4e03127-202409021647.0_1725295675930_0.7398826612612726","host":"s3://npm-registry-packages"}},"2.8.1-4e03127-202409021648.0":{"name":"@flowfuse/nr-launcher","version":"2.8.1-4e03127-202409021648.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.8.1-4e03127-202409021648.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"2e745db4f3a4c12828784d5d2c7b70cc5bcce3d5","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.8.1-4e03127-202409021648.0.tgz","fileCount":41,"integrity":"sha512-+nB0XZzxbwlcPVi2oksyNICFQBGAy33grGDlD5jJaNaysrr00ZkP7R2yXxBu/XbmcAHDG+Qlwdmmj8xGWjU5gA==","signatures":[{"sig":"MEUCIGj+iSkSQlBvNFrDgzEg7aVcVUmheXVPbR3zXhzG3T0kAiEAn59eQSviyJf/vjYDAhBY1lA/EY2yn6RUsfDUBNKWVLw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":566039},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"4e03127cb06ea2f92eac9dc896651c07008310c5","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"nightly","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.8.1-4e03127-202409021648.0_1725295700752_0.20543572713694247","host":"s3://npm-registry-packages"}},"2.8.1-4e03127-202409021649.0":{"name":"@flowfuse/nr-launcher","version":"2.8.1-4e03127-202409021649.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.8.1-4e03127-202409021649.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"2ad997d55cb7f7b9f3c8a76e7b8857448ca1157f","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.8.1-4e03127-202409021649.0.tgz","fileCount":41,"integrity":"sha512-yqUtwmUmO94aCQuzHbyTdzf5PRVHqv/RXWIAlqk+aMx4FSDFVGnHGufVIle36doK6rzo5vEcMDMAV7q+Q6LzpA==","signatures":[{"sig":"MEUCICnLJuzpHzB9LYjJRL9DIzlua/ercBt8UWUvNow/owVXAiEA/3aDhbMzic8B+8ZwHxTAf1E+bCtYFjzEMg/iLb2TWic=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":566039},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"4e03127cb06ea2f92eac9dc896651c07008310c5","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"8.19.4","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"16.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"nightly","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.8.1-4e03127-202409021649.0_1725295747872_0.5393105544422212","host":"s3://npm-registry-packages"}},"2.8.1-bef9854-202409021708.0":{"name":"@flowfuse/nr-launcher","version":"2.8.1-bef9854-202409021708.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.8.1-bef9854-202409021708.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"64b3b7d6649030d42fb22748894330212814d72a","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.8.1-bef9854-202409021708.0.tgz","fileCount":41,"integrity":"sha512-gI5ytpu0p9dKI1c+F/qMkxCoU+6xDDegLefEjyKqmGAHO4lyJlwx1rPDWILk2z+TFuBXJljnvLfL6XkHsmswsg==","signatures":[{"sig":"MEUCIBNSZsW2e0yrdkK7UVr5p/dzgZ7+gZZD1kh7pgVmkv0EAiEAsa+Hd+wz9fUxBu+tMFKlQWI4HHAo36itBEmXdmsbs1s=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":566039},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"bef9854f4540f93c99859cd0e8f6220721324ac1","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.7.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"nightly","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.8.1-bef9854-202409021708.0_1725296887116_0.1440491999232525","host":"s3://npm-registry-packages"}},"2.8.1-bef9854-202409091312.0":{"name":"@flowfuse/nr-launcher","version":"2.8.1-bef9854-202409091312.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.8.1-bef9854-202409091312.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"8777e77c875c59c31268f78c8d08ba9876fa1295","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.8.1-bef9854-202409091312.0.tgz","fileCount":41,"integrity":"sha512-1kwAF0lPp3vNqBsSlj3sK8sZgAeaGqtORfUsGnBr5vIcGOR6+knUljvM9iW2nFG0ll71QZgYhV88ma7GJ3PfJg==","signatures":[{"sig":"MEUCIDWIwg1+v6wHHN1zWGYFXtAlto+bF81F2Uvie0u+022gAiEAgyY980Hd29F4QauMJxFu6re8TuNPhWCQhh2suZkdKKQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":566039},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"bef9854f4540f93c99859cd0e8f6220721324ac1","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.7.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"nightly","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.8.1-bef9854-202409091312.0_1725887573418_0.02276205291316602","host":"s3://npm-registry-packages"}},"2.8.1-bef9854-202409091740.0":{"name":"@flowfuse/nr-launcher","version":"2.8.1-bef9854-202409091740.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.8.1-bef9854-202409091740.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"98d2f4cbd96122f82d6533369a12a65a1c9d13ea","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.8.1-bef9854-202409091740.0.tgz","fileCount":41,"integrity":"sha512-3++hMk8sqHRer7HxRHc1m4To6OBzP2QVxbHl0zQ6ARrQjndjcYqD1LEBloxRnyyEN1BGSvC3iUY5ug85aQ9zzQ==","signatures":[{"sig":"MEQCIGQ+6vLmGpCRuUrdCAw1l5MheKylTs4pIG2IoXAgYeuRAiAI8YcpQgnBqK06MYonSgvBYGTBcupNmzx0hxQgpZAi8w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":566039},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"bef9854f4540f93c99859cd0e8f6220721324ac1","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.7.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"nightly","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.8.1-bef9854-202409091740.0_1725903615636_0.5554401065322929","host":"s3://npm-registry-packages"}},"2.8.1-9b9a95d-202409100638.0":{"name":"@flowfuse/nr-launcher","version":"2.8.1-9b9a95d-202409100638.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.8.1-9b9a95d-202409100638.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"94ea47d8ffd81a31797e26ddc4623d749f320def","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.8.1-9b9a95d-202409100638.0.tgz","fileCount":41,"integrity":"sha512-nlA+Qp0eQQxT32BJDoEfeiA7vJIhoImp3bKfiAk5PrwH8LIvy5HASEzjBsEQS6DDZ+VWwcejxE0WuXu8O1S+GQ==","signatures":[{"sig":"MEYCIQDJ6MZ/dh+pt5d8nPbttPk/bQEv/i72SR+Eb+NNURyHFQIhAMLAQDwOweoo7pachnNnE2M9cakS9MLJGCaH1X+xVCoB","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":566039},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"9b9a95d6410ddfca15bb037de8a0fd2fbf70f08f","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.7.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"nightly","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.8.1-9b9a95d-202409100638.0_1725950282570_0.7900822407336243","host":"s3://npm-registry-packages"}},"2.8.1-9b9a95d-202409110904.0":{"name":"@flowfuse/nr-launcher","version":"2.8.1-9b9a95d-202409110904.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.8.1-9b9a95d-202409110904.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"03078dcf501e375f05a6b7b2d8442b9d7a1a2e05","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.8.1-9b9a95d-202409110904.0.tgz","fileCount":41,"integrity":"sha512-ALUJb8e2jDjZBZ0ygtJgnwG641HpGIl7EOinHddUAF40SFlIyjcGxVeHgB5Zrn04Wyz/0EaLkYyXryxKNMT8IQ==","signatures":[{"sig":"MEQCIDe6YcpR1sZfQNWRyRBO5k5YX4B8Pskns9pn+WjkyTdfAiBlRPjhANSvPfkbAYQG1pka9/t/0gieI/zClOjXUc3OGA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":566039},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"9b9a95d6410ddfca15bb037de8a0fd2fbf70f08f","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.7.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"nightly","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.8.1-9b9a95d-202409110904.0_1726045497312_0.07675981162363055","host":"s3://npm-registry-packages"}},"2.8.1-9b9a95d-202409160624.0":{"name":"@flowfuse/nr-launcher","version":"2.8.1-9b9a95d-202409160624.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.8.1-9b9a95d-202409160624.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"b66907bc1c1848ab9435945a876fdbcc6fe0cad0","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.8.1-9b9a95d-202409160624.0.tgz","fileCount":41,"integrity":"sha512-NvC2whisk2xSx+OlmXr9rud3QvnxBVD1Y1zenRyqcoL06iFCZy/VztcHMwin1I6L/EcENMfHt27qkOqtKqFKMQ==","signatures":[{"sig":"MEUCIQCeP47XQvUd5vnLyUgZq6QbbdhpmdW0UXQUWI6ux5sV3wIgBqzKOv+3t2XelH/d7u7WEmB4LQwmT3LqLiivNzhxA3Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":566039},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"9b9a95d6410ddfca15bb037de8a0fd2fbf70f08f","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.7.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.18.2","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"nightly","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.8.1-9b9a95d-202409160624.0_1726467892122_0.4726129258401459","host":"s3://npm-registry-packages"}},"2.8.1-27ea96b-202409171251.0":{"name":"@flowfuse/nr-launcher","version":"2.8.1-27ea96b-202409171251.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.8.1-27ea96b-202409171251.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"b0c72cb42bb84d42924bedc417c9a64c559b6396","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.8.1-27ea96b-202409171251.0.tgz","fileCount":41,"integrity":"sha512-xyQ2U6VpvE4ypqwbSbBd8eFJ391ncmxCFpv3WxYGRc2aE7Kl4aecFTPoOfMm5p8CO7ckCQu44WxNYrqHi1hJkQ==","signatures":[{"sig":"MEUCIQCR/lyYXpygn5RhSYcmwAzufADLjz4KRUZJWUiAcn9tigIgZs7jj+AnlwvnpN3KiaThXlQZfRvyn8K1qo+1zDMgmVs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":566039},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"27ea96b678753eef41008601523082be1b2ad62f","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.7.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"nightly","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.8.1-27ea96b-202409171251.0_1726577497066_0.706983707142518","host":"s3://npm-registry-packages"}},"2.8.1-27ea96b-202409181458.0":{"name":"@flowfuse/nr-launcher","version":"2.8.1-27ea96b-202409181458.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.8.1-27ea96b-202409181458.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"9c17e274b9e5bf0a12681f76b8d7c638dc6694bd","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.8.1-27ea96b-202409181458.0.tgz","fileCount":41,"integrity":"sha512-yzCHgm5SdgJyI3NaxQqu7SMYARADLvq8STxlkTYnfxYfwgeh+qVB6g60JeMnmAVPd7iLAET9TiMD+Gj903v2jA==","signatures":[{"sig":"MEQCIG4JROb5apmFPqeYtRcWvx1Fw5qSUaBEz9PNy2SdO5g3AiB+cRvZWZGL0KphpEtHEIeMLsend0b87EMSPVn7fC1j5Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":566039},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"27ea96b678753eef41008601523082be1b2ad62f","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.7.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"nightly","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.8.1-27ea96b-202409181458.0_1726671523453_0.4115639285459165","host":"s3://npm-registry-packages"}},"2.8.1-ad84321-202409191202.0":{"name":"@flowfuse/nr-launcher","version":"2.8.1-ad84321-202409191202.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.8.1-ad84321-202409191202.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"3182cec91dd6f9f2289c563f3efa6541e9a55006","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.8.1-ad84321-202409191202.0.tgz","fileCount":41,"integrity":"sha512-cywFCee5tgx82hewKe2tL/uyBY58sIoCYEAo+VLPXqQ8A1B9FlhiQah/JDMJVPzspXP0sGEJNxBtyfy3VtWDEQ==","signatures":[{"sig":"MEUCIQCRu1c8Enm/ZvEzYomfQAYnseTxZm5ytdDZqQW1CCuQLwIgYxpInLZHvXcDIIFRk2WPCzW/kpkx+7y8mqGApwPUfEA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":566320},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"ad84321fb3d51d5621f00de6e2cf7eee1b642074","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.7.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"nightly","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.8.1-ad84321-202409191202.0_1726747322876_0.47201223397732184","host":"s3://npm-registry-packages"}},"2.8.1-ad84321-202409211738.0":{"name":"@flowfuse/nr-launcher","version":"2.8.1-ad84321-202409211738.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.8.1-ad84321-202409211738.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"09abdfdb89f96dbb1d7f702f87de7d10928563b4","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.8.1-ad84321-202409211738.0.tgz","fileCount":41,"integrity":"sha512-1CmCmmsCnF4xpytaUp+0TEObRSi5yDxiWxEC+rgIg4FG6j7RBw9vlKuXKcZdiyuId7MFvfEbFNP9tGAjTsS2FA==","signatures":[{"sig":"MEUCIQDGdnAqZNB9rcGYQN925GA/tpO20RxPWetgzDiMNIU/wgIgTYu+cQtnActvpKergCVVwFHG3nzIOdjZybQGtMDsYoU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":566320},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"ad84321fb3d51d5621f00de6e2cf7eee1b642074","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.7.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"nightly","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.8.1-ad84321-202409211738.0_1726940295360_0.21296868074864972","host":"s3://npm-registry-packages"}},"2.8.1-ad84321-202409230630.0":{"name":"@flowfuse/nr-launcher","version":"2.8.1-ad84321-202409230630.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.8.1-ad84321-202409230630.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"b51f18439cee47e02417f8a0955c39acf91ae683","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.8.1-ad84321-202409230630.0.tgz","fileCount":41,"integrity":"sha512-Io+325jrJdGnykotniR1/i86mW5oKWd07SY4Gr5WGNelBJBdBdX2qwAvcm9fTawavffMm+AtGPeVPL6yploukQ==","signatures":[{"sig":"MEQCIAqRW4MH8yEBn6gONtZiSJ16wiicbK5XulKKq34UxejIAiAxeABEJ0VqeQJt1R/hzMCduUfve3J12zfBZqzbv1s5Lg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":566320},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"ad84321fb3d51d5621f00de6e2cf7eee1b642074","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.7.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"nightly","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.8.1-ad84321-202409230630.0_1727073007551_0.9117352224661339","host":"s3://npm-registry-packages"}},"2.8.1-ad84321-202409231428.0":{"name":"@flowfuse/nr-launcher","version":"2.8.1-ad84321-202409231428.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.8.1-ad84321-202409231428.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"bbb0ae415ba7d4582beba6fc95c622d856b9daaa","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.8.1-ad84321-202409231428.0.tgz","fileCount":41,"integrity":"sha512-KmBhJit6SUbiG2egtZ5X5El/fMmKMPlgZcBy6OMfZksHSem7mobQkDUj93zAfSHmpFwSlVC1snfWKGZK7mppnA==","signatures":[{"sig":"MEUCIHCBCitgKoeeD99jFGnTNBvoj1ptlW7RIHb96ZCVoOvBAiEAzEnlZmSC7FmVgY9EoL7T1fdQXdJlGL1iphyhlHf/O/0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":566320},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"ad84321fb3d51d5621f00de6e2cf7eee1b642074","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.7.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"nightly","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.8.1-ad84321-202409231428.0_1727101716445_0.25457931662160194","host":"s3://npm-registry-packages"}},"2.8.1-44eb2a4-202409231501.0":{"name":"@flowfuse/nr-launcher","version":"2.8.1-44eb2a4-202409231501.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.8.1-44eb2a4-202409231501.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"fe44810836ad2a7708afcbe5697661f7bf8f784a","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.8.1-44eb2a4-202409231501.0.tgz","fileCount":41,"integrity":"sha512-CBl9O7xOl7UcOj3gbfsGk2l0HU0I4l637Xw8P8g8cLewD2pGnIs0dyIPsVJXuA6zNAKc23n5osDpMh0j6uUptQ==","signatures":[{"sig":"MEUCIE2d1v8FGKpUU+9sXE9yjL+YUCRzs9txxrXwgFfxqUKyAiEA6nXpOy6QdYNYIh1Cp6oUoCwGskBYkujndtSjHwc/njA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":566786},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"44eb2a4a9d8874e3a84d354fc63e2b59f9a259a3","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.7.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"nightly","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.8.1-44eb2a4-202409231501.0_1727103666523_0.16194899262352314","host":"s3://npm-registry-packages"}},"2.8.1-44eb2a4-202409231723.0":{"name":"@flowfuse/nr-launcher","version":"2.8.1-44eb2a4-202409231723.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.8.1-44eb2a4-202409231723.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"1b8c616bd792dab51108ed9277faf7fbdeee7e9d","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.8.1-44eb2a4-202409231723.0.tgz","fileCount":41,"integrity":"sha512-Byct/8osz0W+n0jKF2pDTVkbgUq3huao0wdDZxPRkb5ljRSoTjhcvse3Xx9oEKS3BPiSLtEm1uQx4BIPpN0fXg==","signatures":[{"sig":"MEUCIFsXiWnzvm7630JQUNq9xoTGOi4ot9BcVzq24qYbLNmiAiEA1RgA4klq+hKqRycRkgXVbwYWTxTMyPxt+SZE47Qw58o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":566786},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"44eb2a4a9d8874e3a84d354fc63e2b59f9a259a3","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.7.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"nightly","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.8.1-44eb2a4-202409231723.0_1727112237743_0.9312065557409939","host":"s3://npm-registry-packages"}},"2.8.1-8810adc-202409231942.0":{"name":"@flowfuse/nr-launcher","version":"2.8.1-8810adc-202409231942.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.8.1-8810adc-202409231942.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"c34c77ebf117545ae39f8869aabb39df72a14d39","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.8.1-8810adc-202409231942.0.tgz","fileCount":41,"integrity":"sha512-/hYurFEIcG6GN46S7Jb5Z8bNP4iCDc9onA0Py2YhWqCi8yDrANZqtamUaCVzQruabR7UnVat2mxmj25zP/+6RQ==","signatures":[{"sig":"MEQCIF8OD0SUkWExhZymFSMOEKUxuvSgJyWXNY+ASTbX4endAiBnLUwRWBNwuRUwjuoOVCOgTBxPLG4oILDEObxpjjRuPg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":566786},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"8810adcc691520cb1667aa191ac975e61f335b12","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.7.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"nightly","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.8.1-8810adc-202409231942.0_1727120525060_0.30768118106985765","host":"s3://npm-registry-packages"}},"2.8.1-eba36e5-202409252052.0":{"name":"@flowfuse/nr-launcher","version":"2.8.1-eba36e5-202409252052.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.8.1-eba36e5-202409252052.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"1379020b8e790eea0c32995c3b54cff7a327d000","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.8.1-eba36e5-202409252052.0.tgz","fileCount":41,"integrity":"sha512-6j+6EgraO2IWT7x1K8OkXvZbkCv88tcawaWFMmNe6OAzZr2vsgM6YUujwE6JZ9jgS2c/8zbCGpMQB2792BFiXw==","signatures":[{"sig":"MEYCIQDGTuria6daXdh5RwEHKrvtxANy2Tilum+jKoVq2EAHSwIhANiCsOkAwPU+KWGa7Drfx6gkmlxkf/+fDju7ywMw1B74","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":567085},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"eba36e5449acbe3f8fe1ef0951c5c31e2428de7c","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.7.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"^0.1.3","@flowfuse/nr-file-nodes":"^0.0.7","@flowfuse/nr-project-nodes":"^0.7.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.8.1-eba36e5-202409252052.0_1727297541753_0.9725233682186298","host":"s3://npm-registry-packages"}},"2.8.1-eba36e5-202409252058.0":{"name":"@flowfuse/nr-launcher","version":"2.8.1-eba36e5-202409252058.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.8.1-eba36e5-202409252058.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"56826f5c980f7d787f79298d6082812d65435a43","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.8.1-eba36e5-202409252058.0.tgz","fileCount":41,"integrity":"sha512-k4pILA5B64pRWJ6MJABZJ7vPDSK6jJXZGWlOii2DE0aFepIUr5R0WQ6xNUVKg/htfo9sL6zwQ/jfOUaEGU85zg==","signatures":[{"sig":"MEQCIHfRejbalNfSrljaS2RVC9uiwoahn2HgDdz1iMubyFsnAiAyAw6JUYTWnE46rz5bWt6NNlgn2+NtGOFWvu4qPU4MQw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":567085},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"eba36e5449acbe3f8fe1ef0951c5c31e2428de7c","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.7.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"^0.1.3","@flowfuse/nr-file-nodes":"^0.0.7","@flowfuse/nr-project-nodes":"^0.7.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.8.1-eba36e5-202409252058.0_1727297924708_0.28128104398584997","host":"s3://npm-registry-packages"}},"2.8.1-eba36e5-202409260625.0":{"name":"@flowfuse/nr-launcher","version":"2.8.1-eba36e5-202409260625.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.8.1-eba36e5-202409260625.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"66de2d2f6237e1df9302b88947c7fa58378c0077","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.8.1-eba36e5-202409260625.0.tgz","fileCount":41,"integrity":"sha512-byhglkCh7cYS4bsmDdg8vrtOESeNjYq0aezmU7aHiLjdCdg/FsoT/3iY5QAe6OXgncwj5IwWAG669ppX0tVyDA==","signatures":[{"sig":"MEUCICgTpqraJVUix/p8AKn1TGG2Z4YooiGCnNUp0IxcQBl7AiEAtQnL+oMa97Cyf1SGa5Kx6ncWknIfdgHc16We+9En8CA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":567085},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"eba36e5449acbe3f8fe1ef0951c5c31e2428de7c","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.7.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"^0.1.3","@flowfuse/nr-file-nodes":"^0.0.7","@flowfuse/nr-project-nodes":"^0.7.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.8.1-eba36e5-202409260625.0_1727331925476_0.09876718691888242","host":"s3://npm-registry-packages"}},"2.9.1-a333efa-202409260916.0":{"name":"@flowfuse/nr-launcher","version":"2.9.1-a333efa-202409260916.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.9.1-a333efa-202409260916.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"664927036a18829439e1c6c2f006f0263954ca51","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.9.1-a333efa-202409260916.0.tgz","fileCount":41,"integrity":"sha512-8L1Tergiad34PMkmJ8Xsup68BFnDNX6BTi7Br/FPpxylDWsz7HgLYRdv4pNpd1PuTmt7V7F9k1nxxJjDvHHzVg==","signatures":[{"sig":"MEUCIQCCAjgIUNZ0lOICa2VXs6DSb/JJkQnK5KS0W+AC3J8IUwIgHJaHzOL5jqelv8Mk4DlhkNKctzY/ldxOzJDoCY9RtiM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":567280},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"a333efa1a1329c5a8b603787e76b2fa764011f4b","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.7.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"nightly","@flowfuse/nr-file-nodes":"nightly","@flowfuse/nr-project-nodes":"nightly","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.9.1-a333efa-202409260916.0_1727342173919_0.8364417182729742","host":"s3://npm-registry-packages"}},"2.9.0":{"name":"@flowfuse/nr-launcher","version":"2.9.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.9.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"3e55e1d1feb73e7fd8d9f43db958d776dba1b541","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.9.0.tgz","fileCount":41,"integrity":"sha512-dbpMqwqCV1hxl/55SsGVmEjmqZbsoZqvrBuALdczouNkMp9KnBEvLP/PIKFL4NvsQWswWTxB4WWK5DjtCw0+Bw==","signatures":[{"sig":"MEUCIG2WzGsMO/Hgx+IBaxkZUV8a4poHu63k9rBrooRRbOyfAiEArb6fBOxNQq8PyxalTzqMU+vSh9QoM1a3Yv5O1IC2gXI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":567518},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"a333efa1a1329c5a8b603787e76b2fa764011f4b","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.7.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"^0.1.3","@flowfuse/nr-file-nodes":"^0.0.7","@flowfuse/nr-project-nodes":"^0.7.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.9.0_1727342411317_0.42465405949019974","host":"s3://npm-registry-packages"}},"2.9.1-a333efa-202409271300.0":{"name":"@flowfuse/nr-launcher","version":"2.9.1-a333efa-202409271300.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.9.1-a333efa-202409271300.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"43e54431020e92c88efe4bc9c2a8510bc5cb76d2","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.9.1-a333efa-202409271300.0.tgz","fileCount":41,"integrity":"sha512-5fL9ddBr2sUqyLDgWpVG8/Y/dhi/vh0HPWcsCTxbHFun8kxXyCJtq+l47n7+FzeVEo7k+yRTe6VT3XskrWPvAw==","signatures":[{"sig":"MEYCIQDFDEeV/ssNcAIEp0fXcLgrfkaUGlB1ddzW6BOeLIRe4gIhAKoIMCVxx0HpvJMeNmExlB6iaVLgL82vCSfue4zAUTWd","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":567607},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"a333efa1a1329c5a8b603787e76b2fa764011f4b","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.7.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-0d267a0-202409230629.0","@flowfuse/nr-file-nodes":"0.0.8-b4adb14-202409231723.0","@flowfuse/nr-project-nodes":"0.7.4-eda99c7-202409231427.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.9.1-a333efa-202409271300.0_1727442059969_0.13807568449268337","host":"s3://npm-registry-packages"}},"2.9.1-09bdecb-202410031717.0":{"name":"@flowfuse/nr-launcher","version":"2.9.1-09bdecb-202410031717.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.9.1-09bdecb-202410031717.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"53f9087b0c2b6220a20ca29f01130d852e2ae3df","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.9.1-09bdecb-202410031717.0.tgz","fileCount":41,"integrity":"sha512-Pj5l60zuymhxUEak5oP/CPdWL1+IYru5+V2wwwJ1UsKSkBPu6T7vsytI5f5Y+50KSNl4qNHh00nnwaP8BC2iIA==","signatures":[{"sig":"MEUCIQCBFqoTqdtoOE33Xu3PSGJBUsYVRK76qxdUkEdAHLDOcQIgLvyhsa7xssWEeV5EWX1D0GH1+Y2ZqAdIbRgs3cRwqjw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":567607},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"09bdecbb3fc2446aa4ba7cbc373372f792688a3d","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.7.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-0d267a0-202409230629.0","@flowfuse/nr-file-nodes":"0.0.8-b4adb14-202409231723.0","@flowfuse/nr-project-nodes":"0.7.4-eda99c7-202409231427.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.9.1-09bdecb-202410031717.0_1727975883682_0.46756982078463305","host":"s3://npm-registry-packages"}},"2.9.1-09bdecb-202410031936.0":{"name":"@flowfuse/nr-launcher","version":"2.9.1-09bdecb-202410031936.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.9.1-09bdecb-202410031936.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"f6360c1c2b0fad90945631700f3ea287c11a5824","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.9.1-09bdecb-202410031936.0.tgz","fileCount":41,"integrity":"sha512-+xYi6xNzWBUJbCsOssfxsDM0R9QY8DtXotWa2gJgpbWTiREAoE0UGWL68Y/29s5xMajqArcRr0sxKf/QxnPD6A==","signatures":[{"sig":"MEQCIBvzi/CZlO63Mdu0cuqkdM9OabmbsqY8O90rb2OdWh/FAiBP061r81Gce2sqz4DbwCilqIdxULO1AfA2UG/GM37r9Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":567541},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"09bdecbb3fc2446aa4ba7cbc373372f792688a3d","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.7.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"^0.1.3","@flowfuse/nr-file-nodes":"^0.0.7","@flowfuse/nr-project-nodes":"^0.7.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.9.1-09bdecb-202410031936.0_1727984187614_0.3496072898384115","host":"s3://npm-registry-packages"}},"2.8.1-eba36e5-202410032038.0":{"name":"@flowfuse/nr-launcher","version":"2.8.1-eba36e5-202410032038.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.8.1-eba36e5-202410032038.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"8ab8256bdba3cb420b4bcca1463bac1f7ab2f249","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.8.1-eba36e5-202410032038.0.tgz","fileCount":41,"integrity":"sha512-ZRe71ahUSuAd3Pg1/y/P2omZzmBk/EXTK2+1blCHkgeTAaj+zMIFseUwrPAIvedivR5+AaBhMQ8smJL6mdxf8w==","signatures":[{"sig":"MEQCICgj3OFUKFhR1mdJTPRj45Q9XPgoTvoZPi4YDrI+YRHOAiAAsw12B59s1W6oofT7wm428kzxklA511uib1XDkwQM0A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":567085},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"eba36e5449acbe3f8fe1ef0951c5c31e2428de7c","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.7.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"^0.1.3","@flowfuse/nr-file-nodes":"^0.0.7","@flowfuse/nr-project-nodes":"^0.7.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.8.1-eba36e5-202410032038.0_1727987925500_0.1283153741090457","host":"s3://npm-registry-packages"}},"2.8.1-eba36e5-202410040846.0":{"name":"@flowfuse/nr-launcher","version":"2.8.1-eba36e5-202410040846.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.8.1-eba36e5-202410040846.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"f5b2b8b2ef95772b80edfaa9271f99a0c720c608","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.8.1-eba36e5-202410040846.0.tgz","fileCount":41,"integrity":"sha512-gjgg4EA8vBiMu2HoOhOwNT2LMN1m3kFoEcm2DULP2Vd1B8mFEOBJRUFpYuKN1+4Y9OHS4RpML6RUdsUUYdWEuA==","signatures":[{"sig":"MEUCIBdi1jux6hPVPlezFjrq1KmcX3o1rIGF6GJisSoUvlozAiEAzjpxP5y+sD1y8IsiiQx4yb4wUyI7CaBdD/LkeSlHYzI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":567085},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"eba36e5449acbe3f8fe1ef0951c5c31e2428de7c","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.7.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"^0.1.3","@flowfuse/nr-file-nodes":"^0.0.7","@flowfuse/nr-project-nodes":"^0.7.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.8.1-eba36e5-202410040846.0_1728031572314_0.6525384862929722","host":"s3://npm-registry-packages"}},"2.9.1-cbc2aa1-202410072008.0":{"name":"@flowfuse/nr-launcher","version":"2.9.1-cbc2aa1-202410072008.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.9.1-cbc2aa1-202410072008.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"d298b3e61140979a46c9b33737f51416ca968428","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.9.1-cbc2aa1-202410072008.0.tgz","fileCount":41,"integrity":"sha512-hndjnE7Ks4cHw6wFhBqAGcBk0RtRWAXm2Qg90BQqA5Z70t7AxQZZthswaNDIVY+k7keJARawHlV9xQ7i6nzEIA==","signatures":[{"sig":"MEYCIQDm3xcUyM96eGE+3JIV56E3YXuIu6/GHRC5y8fjXzx6NAIhALMHXjqpZV82hAJpb3jF4Nxwz2Q1HZpQ4P4YubFIbvsJ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":567607},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"cbc2aa16a93e2d0af0e02a0be8dce51c53d537d8","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.7.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-0d267a0-202409230629.0","@flowfuse/nr-file-nodes":"0.0.8-b4adb14-202409231723.0","@flowfuse/nr-project-nodes":"0.7.4-eda99c7-202409231427.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.9.1-cbc2aa1-202410072008.0_1728331705965_0.6315076354353575","host":"s3://npm-registry-packages"}},"2.9.1-cbc2aa1-202410101246.0":{"name":"@flowfuse/nr-launcher","version":"2.9.1-cbc2aa1-202410101246.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.9.1-cbc2aa1-202410101246.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"a53cd393e0b200e8c3337753b7933923e4b4ea8b","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.9.1-cbc2aa1-202410101246.0.tgz","fileCount":41,"integrity":"sha512-3YflvYBGRIrSfoO6DxG7cku7y3cNkhwstZ8ZirJE7zEGiGDIIf5YbueF5uyHpSd7aVvyTkDy/2/THQJWXbR2qw==","signatures":[{"sig":"MEQCIBTTU7ndidCjD+c7eKXjwIuuZT0sb7bH/dCtqW4eWn2kAiA+hdqwcYkkpjBlUps6QPEUpnoJQeZeAJgIKzR1fSh09g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":567607},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"cbc2aa16a93e2d0af0e02a0be8dce51c53d537d8","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.7.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-0d267a0-202409230629.0","@flowfuse/nr-file-nodes":"0.0.8-4e9782e-202410101245.0","@flowfuse/nr-project-nodes":"0.7.4-eda99c7-202409231427.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.9.1-cbc2aa1-202410101246.0_1728564403884_0.42889242203679556","host":"s3://npm-registry-packages"}},"2.9.1-cbc2aa1-202410101248.0":{"name":"@flowfuse/nr-launcher","version":"2.9.1-cbc2aa1-202410101248.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.9.1-cbc2aa1-202410101248.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"9401f384bc7167b7bf96ec184a3be30d9a25c903","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.9.1-cbc2aa1-202410101248.0.tgz","fileCount":41,"integrity":"sha512-zgOnJc880XImdO6IjTn0BcbHPIg8YtpM9YictRu8Bf2UBYrZGvT9abuaFKe0fm91b86UoSF6bQd/fb3rvkbWLQ==","signatures":[{"sig":"MEUCIQDUkxK7tz1hAab2k7c29U3dQF5lXKn31scrmCwEa8U3UgIgAZX7XSRKLOMjSN1G06vvG0UeVgaCrFQOkSnUvyaGCt4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":567607},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"cbc2aa16a93e2d0af0e02a0be8dce51c53d537d8","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.7.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-0d267a0-202409230629.0","@flowfuse/nr-file-nodes":"0.0.8-4e9782e-202410101245.0","@flowfuse/nr-project-nodes":"0.7.4-be9a7cb-202410101247.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.9.1-cbc2aa1-202410101248.0_1728564508491_0.8846303004372809","host":"s3://npm-registry-packages"}},"2.9.1-cbc2aa1-202410101251.0":{"name":"@flowfuse/nr-launcher","version":"2.9.1-cbc2aa1-202410101251.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.9.1-cbc2aa1-202410101251.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"33978655fb3e1fb2f8c469248cd55227202fdec8","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.9.1-cbc2aa1-202410101251.0.tgz","fileCount":41,"integrity":"sha512-u3y8nz65LUhqrC+gVigpgU8FUtVrdvd6Ptvx35KjVWhdrHoOr8+RcXcsmOUo5GW49P4I+spWNMC/L9HoH/W78A==","signatures":[{"sig":"MEUCIH9B95lRENEONwFbK0wh9eCxPcrd9v6QOwSihFXWPxoiAiEAvQmzK2ZJEz8jZbRgPsLyvuMGJF5jSiQD5LolzLCkJL8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":567607},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"cbc2aa16a93e2d0af0e02a0be8dce51c53d537d8","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.7.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-0d267a0-202409230629.0","@flowfuse/nr-file-nodes":"0.0.8-2007c5c-202410101250.0","@flowfuse/nr-project-nodes":"0.7.4-be9a7cb-202410101247.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.9.1-cbc2aa1-202410101251.0_1728564673763_0.3913179750483382","host":"s3://npm-registry-packages"}},"2.9.1-cbc2aa1-202410101252.0":{"name":"@flowfuse/nr-launcher","version":"2.9.1-cbc2aa1-202410101252.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.9.1-cbc2aa1-202410101252.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"ffc4744a07fa0da9b7cad427a6e7e4f0c2bb68dc","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.9.1-cbc2aa1-202410101252.0.tgz","fileCount":41,"integrity":"sha512-f7a7F++Yqdb1BO2BixrR22nifA5EUhEot+CP9Go/yB0Rb6fxUzab+mf94s2tuuUiuAEm0udG1c4o7u3JPiLU9g==","signatures":[{"sig":"MEUCIQCOaYCvPhm9s/T1RBZNT64zwuMvfYRGlFuldGJ3dkB6XgIgEZ2HaPVQb4VuTzh/PY+Qu60xkV+h8rVeMbbZz5aE5DM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":567607},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"cbc2aa16a93e2d0af0e02a0be8dce51c53d537d8","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.7.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-0d267a0-202409230629.0","@flowfuse/nr-file-nodes":"0.0.8-2007c5c-202410101250.0","@flowfuse/nr-project-nodes":"0.7.4-f77d228-202410101251.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.9.1-cbc2aa1-202410101252.0_1728564779246_0.600729618187853","host":"s3://npm-registry-packages"}},"2.9.1-e0ce291-202410101254.0":{"name":"@flowfuse/nr-launcher","version":"2.9.1-e0ce291-202410101254.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.9.1-e0ce291-202410101254.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"566ad03d5552733110a3987a862520b53faad156","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.9.1-e0ce291-202410101254.0.tgz","fileCount":41,"integrity":"sha512-5/VrBuVQtPycu6jG3NYFWc+642h6voz2r/zOwx9HUmfY7CBvh9SQsmBK6px0PjDt6C2A5mQLAu2hDFq1JrXyfQ==","signatures":[{"sig":"MEUCIGsrqycEXN2/VtYcCHgRujk8YGK8JfdQ/ne3ZnTYYtgMAiEA+V/SWmCuZtBVcBS9iAPiJoHFmG+tPrq0yzBprm972B4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":567607},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"e0ce2912dfe98600ddf54ac13b28e3a54dc5f584","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.7.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-0d267a0-202409230629.0","@flowfuse/nr-file-nodes":"0.0.8-2007c5c-202410101250.0","@flowfuse/nr-project-nodes":"0.7.4-f77d228-202410101251.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.9.1-e0ce291-202410101254.0_1728564892627_0.3522980670981881","host":"s3://npm-registry-packages"}},"2.9.1-e0ce291-202410101258.0":{"name":"@flowfuse/nr-launcher","version":"2.9.1-e0ce291-202410101258.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.9.1-e0ce291-202410101258.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"abe209e9341a9a749ac3883076d8f1cbece4b190","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.9.1-e0ce291-202410101258.0.tgz","fileCount":41,"integrity":"sha512-240ku+V4484QO9oj8DyzXDpE0e8ea1vPcnSPJGiZ3ro2m7jVXvEQqtBP02P96UN2fGWZH5yQywklZoWjttj/uQ==","signatures":[{"sig":"MEUCIQCakZlH+rrddRR6jukOV3Qoys47hu5BI1xzqSvQ5SFkdAIgaqoi1EMf+XQ6ETorS9lZU9c4N2WIumDn2yYo68JlUQY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":567607},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"e0ce2912dfe98600ddf54ac13b28e3a54dc5f584","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.7.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-6651d37-202410101257.0","@flowfuse/nr-file-nodes":"0.0.8-2007c5c-202410101250.0","@flowfuse/nr-project-nodes":"0.7.4-f77d228-202410101251.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.9.1-e0ce291-202410101258.0_1728565102610_0.6931267478027612","host":"s3://npm-registry-packages"}},"2.9.1-e0ce291-202410141524.0":{"name":"@flowfuse/nr-launcher","version":"2.9.1-e0ce291-202410141524.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.9.1-e0ce291-202410141524.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"12630b1d73ef1bf1253835bd3e2010bc21673f4b","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.9.1-e0ce291-202410141524.0.tgz","fileCount":41,"integrity":"sha512-wyevSLcoVmywzgoQmW6OVOJ+VEzlBBnLQfr+nYPjc+edaNSVCfBZerwhnC3wGV6xCJ2bKaw/GD6irinWaZgwiQ==","signatures":[{"sig":"MEQCIHNfJ4htbBMjYvp8Maf/0A7SM3PENMwArP8cAArZhxshAiB1ofRDAPEiGKs4WsNVguWySTA8wraHPK+B2auNIIpBLA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":567607},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"e0ce2912dfe98600ddf54ac13b28e3a54dc5f584","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.7.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-6651d37-202410101257.0","@flowfuse/nr-file-nodes":"0.0.8-055a392-202410141523.0","@flowfuse/nr-project-nodes":"0.7.4-f77d228-202410101251.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.9.1-e0ce291-202410141524.0_1728919469923_0.7031892363287031","host":"s3://npm-registry-packages"}},"2.9.1-e0ce291-202410210623.0":{"name":"@flowfuse/nr-launcher","version":"2.9.1-e0ce291-202410210623.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.9.1-e0ce291-202410210623.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"340dae3ae0f314c3f35256b5b8e96cf4499b0f14","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.9.1-e0ce291-202410210623.0.tgz","fileCount":41,"integrity":"sha512-Xnl2CPOHCMfNSb3qkxm9ISfP1SoCGcYPQ3RkRwOrjUXuphaBrOsHDMXLvjcLArXH52gOKivhJpBEa3iprs/OjA==","signatures":[{"sig":"MEQCIH7vVn3hMvVfW4AE8baodNeC4aMeFbspKqj++kqFN3LgAiAtaLL0aNisdbwXAkMDkcjBYF3JXfp4Rt5s6t+Cp2KV7A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":567607},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"e0ce2912dfe98600ddf54ac13b28e3a54dc5f584","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.7.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-28c205c-202410210622.0","@flowfuse/nr-file-nodes":"0.0.8-055a392-202410141523.0","@flowfuse/nr-project-nodes":"0.7.4-f77d228-202410101251.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.9.1-e0ce291-202410210623.0_1729491827267_0.1784045688687923","host":"s3://npm-registry-packages"}},"2.9.1-e0ce291-202410211153.0":{"name":"@flowfuse/nr-launcher","version":"2.9.1-e0ce291-202410211153.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.9.1-e0ce291-202410211153.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"5abaab181086d8b6d36aea7abc1654bdfa4674e0","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.9.1-e0ce291-202410211153.0.tgz","fileCount":41,"integrity":"sha512-PMeUOSiJUrV7bVK22OtX8UWYlTwuv822v0onOoVPpYMgAqhvbxS21cyFIz/i0ANLYH93YeM62xyQDlhKsyikrg==","signatures":[{"sig":"MEUCIAei3BOd5XZ/FbQj78YRivq7Ujcv0iIbz5dxqEiVJo3PAiEA29nVk6QfcgFNkKvvkZ9nGMT3GggAX2WG2KcsKsnnkSw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":567607},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"e0ce2912dfe98600ddf54ac13b28e3a54dc5f584","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.7.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-28c205c-202410210622.0","@flowfuse/nr-file-nodes":"0.0.8-055a392-202410141523.0","@flowfuse/nr-project-nodes":"0.7.4-afe200b-202410211152.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.9.1-e0ce291-202410211153.0_1729511592814_0.7276000142395205","host":"s3://npm-registry-packages"}},"2.9.1-432156e-202410220938.0":{"name":"@flowfuse/nr-launcher","version":"2.9.1-432156e-202410220938.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.9.1-432156e-202410220938.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"1fa24a6e1ea39718851ab580d57aea4e9757c851","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.9.1-432156e-202410220938.0.tgz","fileCount":41,"integrity":"sha512-Xa6zDXSJO2+lA/AbETNLeoLlnFDlWb2nX7XGH7q4eI2gdDhQ6a7hoOtxjmWCbiG2aIy8B7NQ9XNA41V63w9wJQ==","signatures":[{"sig":"MEYCIQCzC98BeHl80mQr6JjrG9VB8Rih3Rd39Jb7kSpp4VJ4oQIhAM87dcbv6wj7VTPG+rdP2bwsyyiOgx4zR6w2Vgfs1Xuu","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":567607},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"432156ed700817d3a0204cec367118cdd3cf8b05","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.7.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-28c205c-202410210622.0","@flowfuse/nr-file-nodes":"0.0.8-055a392-202410141523.0","@flowfuse/nr-project-nodes":"0.7.4-afe200b-202410211152.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.9.1-432156e-202410220938.0_1729589927104_0.6710584928441352","host":"s3://npm-registry-packages"}},"2.9.1-432156e-202410240852.0":{"name":"@flowfuse/nr-launcher","version":"2.9.1-432156e-202410240852.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.9.1-432156e-202410240852.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"f1b7009d4468ac90230154fd48091171f1c9e89c","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.9.1-432156e-202410240852.0.tgz","fileCount":41,"integrity":"sha512-1HIyMNPVKBFbHujZYdMkPE/iatA907Lms/+0bQgairNEMzGMKo9hX4zjxqkZft/8uLz6Jcj3bCFJilQw+n0TBA==","signatures":[{"sig":"MEQCIBenJxSkg9KExUnMqNOzVAFvikNom4Gr7gY0L3h7EbdDAiAEt7ms7lU2ReADUd8HBBA07vs25CjjwC8YpuLQt7/QjQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":567607},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"432156ed700817d3a0204cec367118cdd3cf8b05","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.7.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-28c205c-202410210622.0","@flowfuse/nr-file-nodes":"0.0.8-055a392-202410141523.0","@flowfuse/nr-project-nodes":"0.7.5-0defd4f-202410240851.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.9.1-432156e-202410240852.0_1729759965551_0.6355622376676426","host":"s3://npm-registry-packages"}},"2.9.1-8b37a65-202410240918.0":{"name":"@flowfuse/nr-launcher","version":"2.9.1-8b37a65-202410240918.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.9.1-8b37a65-202410240918.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"dfe8508e27e6945e0ee71b86f27bd0ac466fdb57","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.9.1-8b37a65-202410240918.0.tgz","fileCount":41,"integrity":"sha512-wgOCUgFLMq1kIYWZqvn9fAZDGF5thGUf7MTCk6lM9ZDJnNEkaFdWCinIb1JBFGujp9MPXNHlxmhi9CJEtszC3w==","signatures":[{"sig":"MEUCICywlfaFvWpttK0R7kf5aYk4Hz7oB0gt6Q7zRbi5nwioAiEAlvbJbQHZFQKyeAEmNaLzDHOiJG8Br+tQGJROgRLSuGE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":567607},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"8b37a65b7eeb3b8117aa5fd8334c8b7b0f3a8a60","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.7.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-28c205c-202410210622.0","@flowfuse/nr-file-nodes":"0.0.8-055a392-202410141523.0","@flowfuse/nr-project-nodes":"0.7.5-0defd4f-202410240851.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.9.1-8b37a65-202410240918.0_1729761510753_0.5833437819506722","host":"s3://npm-registry-packages"}},"2.10.0":{"name":"@flowfuse/nr-launcher","version":"2.10.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.10.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"dda9c939eeb3f27c26ff7f4fe97250970505a098","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.10.0.tgz","fileCount":41,"integrity":"sha512-6XW0tlx4Czf1ztp1sjKz2vX9yrL8X4F+lHyO6E1MWVpOEeWpdtGZOnp+IbOA0eXrQQV3LFAm7cD613bEmZkVxA==","signatures":[{"sig":"MEMCH1TeftBOjVqzbBfL15dMKpxUcdcI6jTPxdzR2kuglrQCIFsWqQOdoiL2EgmGo0fpPU2LCXSESk9hbmEOIAPNWogA","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":567892},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"82e63112e1d93b6be9b58fc255fdf419af082c33","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.7.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"^0.1.3","@flowfuse/nr-file-nodes":"^0.0.7","@flowfuse/nr-project-nodes":"^0.7.4","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.10.0_1729763307319_0.5851947104899","host":"s3://npm-registry-packages"}},"2.10.1-82e6311-202410240948.0":{"name":"@flowfuse/nr-launcher","version":"2.10.1-82e6311-202410240948.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.10.1-82e6311-202410240948.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"121f75d750e0ddd42985e8ca7281cf3c89e4fc5e","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.10.1-82e6311-202410240948.0.tgz","fileCount":41,"integrity":"sha512-YPVKHxf7xo53OPKZzDiJ6V/gpos6oOa+a9z7EoZxX2XrfFApHFhQj0jcSnN6YpGR6e4ii5cgaOtIbgRwoXyyBg==","signatures":[{"sig":"MEUCIAjIxFDPrZJRDQib52xSZ25ViexoDeuizZPGWKiYSEVUAiEA3fI05WfSPGy0wr2sCfnm5YoOsSie+UUvJTnIyO51+T4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":567981},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"82e63112e1d93b6be9b58fc255fdf419af082c33","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.7.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-28c205c-202410210622.0","@flowfuse/nr-file-nodes":"0.0.8-055a392-202410141523.0","@flowfuse/nr-project-nodes":"0.7.5-0defd4f-202410240851.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.10.1-82e6311-202410240948.0_1729763311159_0.10904337893459037","host":"s3://npm-registry-packages"}},"2.10.1-82e6311-202411041329.0":{"name":"@flowfuse/nr-launcher","version":"2.10.1-82e6311-202411041329.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.10.1-82e6311-202411041329.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"53a24658644ebd71704abb5cbc6e5d5131b5705d","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.10.1-82e6311-202411041329.0.tgz","fileCount":41,"integrity":"sha512-6jj0wK3Zimo1i5KcBzFo3ET7A3bbM16d2u94/hwECWa8jmPdGwxVdGDRrxxZ08d5t8uXz1WLawFcPool/cT8jw==","signatures":[{"sig":"MEUCICGxidVmd6OhCUShG60FR2eYNo5VUkPdj7DJH4Nrl2S4AiEAre7PPKqvaUw52VT+0peyQieDY3lwYzKjI40nRiIQhE4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":567981},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"82e63112e1d93b6be9b58fc255fdf419af082c33","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.7.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-28c205c-202410210622.0","@flowfuse/nr-file-nodes":"0.0.8-055a392-202410141523.0","@flowfuse/nr-project-nodes":"0.7.5-751f451-202411041328.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.10.1-82e6311-202411041329.0_1730727000079_0.0452618419251305","host":"s3://npm-registry-packages"}},"2.10.1-82e6311-202411041503.0":{"name":"@flowfuse/nr-launcher","version":"2.10.1-82e6311-202411041503.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.10.1-82e6311-202411041503.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"0b01ed5581b39562fdb199c3af949c613a81233c","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.10.1-82e6311-202411041503.0.tgz","fileCount":41,"integrity":"sha512-ryv2ej1w0pelyDkDDu44P6Ji6A5matFVRzBc1BXr5Rs08dy4qDS3owCUH4MXjoO86x7BoDqHIndxl2jfExAWAw==","signatures":[{"sig":"MEQCIGoYT2jKkWv0T0wvUX4nClYgVcGDsBI4++uCjZYs6YSOAiAZkuE20c2Jbi+kEtFP1Q9pORKZ55NI/OzqOjGmzWzjlw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":567981},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"82e63112e1d93b6be9b58fc255fdf419af082c33","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.7.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-28c205c-202410210622.0","@flowfuse/nr-file-nodes":"0.0.8-8c67486-202411041503.0","@flowfuse/nr-project-nodes":"0.7.5-751f451-202411041328.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.10.1-82e6311-202411041503.0_1730732642464_0.6802706413228705","host":"s3://npm-registry-packages"}},"2.10.1-056b0ad-202411051035.0":{"name":"@flowfuse/nr-launcher","version":"2.10.1-056b0ad-202411051035.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.10.1-056b0ad-202411051035.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"8bd91105317d71cc6e499c50652f71cb416935df","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.10.1-056b0ad-202411051035.0.tgz","fileCount":41,"integrity":"sha512-/9Hyff9UpHjYqzQSiBI9XGOvI8FyRabHkCDUtnVXnoMqgQgwrQL3NuiEq87wvTcq4ksVg4fvwnE29YznQb2UBw==","signatures":[{"sig":"MEQCIGR8sX/625xKXaR9tRCokN9uMAvC7gXlbUMydKqVkuBmAiBri0Ap9pKTSvJJhTpgaOhzIksheNuooxe1mw5hDO08nA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":567981},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"056b0ad5828bdfa645f33c08b27c2abfb34f88aa","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.7.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-28c205c-202410210622.0","@flowfuse/nr-file-nodes":"0.0.8-8c67486-202411041503.0","@flowfuse/nr-project-nodes":"0.7.5-751f451-202411041328.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.10.1-056b0ad-202411051035.0_1730802916539_0.3476310811720238","host":"s3://npm-registry-packages"}},"2.10.1-fc0f674-202411201514.0":{"name":"@flowfuse/nr-launcher","version":"2.10.1-fc0f674-202411201514.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.10.1-fc0f674-202411201514.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"458784159230336e1b280287903abb5dd73b2421","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.10.1-fc0f674-202411201514.0.tgz","fileCount":41,"integrity":"sha512-666RvpmRrrw8GjpOec8NwM9KglNwfr/W9qso1tduEP5310kjEMrKH5Cktlz0PVq52zhCRqKuo/nG8QtJRQk2JQ==","signatures":[{"sig":"MEUCICZlyl35A7RS4c4m8yfLibMiGJqie2tTQDOClaMlfTVuAiEAwFYvKluKN7NehhX4p9SgHaofCuOngvSEVdyMZo/VEWM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":568101},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"fc0f674f107d7a16ced356b187ac8a2009cc587b","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.7.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-28c205c-202410210622.0","@flowfuse/nr-file-nodes":"0.0.8-8c67486-202411041503.0","@flowfuse/nr-project-nodes":"0.7.5-751f451-202411041328.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.10.1-fc0f674-202411201514.0_1732115699640_0.9058743776753444","host":"s3://npm-registry-packages"}},"2.11.0":{"name":"@flowfuse/nr-launcher","version":"2.11.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.11.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"22ca59eecb60d4ca32fae2ec1445bb6320bca8d9","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.11.0.tgz","fileCount":41,"integrity":"sha512-FH6sVCrUbwzQecdWwQbNdWTyVPGzKn5jii5yrKAn2K8/rYLs4aTpEfiOI1BCTqwjxGNkX4PWxZgpr82sCRgXYQ==","signatures":[{"sig":"MEUCIQCPJjLANWAdHQrKl7LtNHFBw7AXo7m9h4LBX95oC9zn6wIgK3lWlf8Pdn9A/GkT9H6pEtzXL383QfS7IqaM158FkKg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":568178},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"fb7f034af0e9ea439a72e3bf48f72fa4a84ef068","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"^0.1.3","@flowfuse/nr-file-nodes":"^0.0.7","@flowfuse/nr-project-nodes":"^0.7.4","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.11.0_1732184253997_0.20128466219774155","host":"s3://npm-registry-packages"}},"2.11.1-fb7f034-202411211017.0":{"name":"@flowfuse/nr-launcher","version":"2.11.1-fb7f034-202411211017.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.11.1-fb7f034-202411211017.0","maintainers":[{"name":"flowfuse-user","email":"nick@flowfuse.com"},{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"ca108eb59a3d5adfd5c3fbe2aca6812a19d2f1d0","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.11.1-fb7f034-202411211017.0.tgz","fileCount":41,"integrity":"sha512-Vu5FO1cVzJ2n5Oc347uKYzH/LPzNHl3Jo/XN602R9hdSItRv2pUBxqn5GxSpDBTPv73Cnjd22PXdRbHYBclC3w==","signatures":[{"sig":"MEQCIDfuxOFNIeSNX+QoZd8+6OaupyDuj0GRhfXQdVCesLMVAiBoVR8vdAD3laXhCj8J9iYAbOrzv72xy/b3ekx8iRbRHg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":568267},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"fb7f034af0e9ea439a72e3bf48f72fa4a84ef068","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-28c205c-202410210622.0","@flowfuse/nr-file-nodes":"0.0.8-8c67486-202411041503.0","@flowfuse/nr-project-nodes":"0.7.5-751f451-202411041328.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.11.1-fb7f034-202411211017.0_1732184262636_0.6210076827063595","host":"s3://npm-registry-packages"}},"2.8.1-eba36e5-202412041214.0":{"name":"@flowfuse/nr-launcher","version":"2.8.1-eba36e5-202412041214.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.8.1-eba36e5-202412041214.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"dff14791b46faea3ec57fc56de09429414607cb2","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.8.1-eba36e5-202412041214.0.tgz","fileCount":41,"integrity":"sha512-ChJkozvrCZv8/SswOj9UoxUyCFKq2E3+S2UBaFzaZ3j531kdWVzVHE4YwkfJFWxsfxDWiXrvGysbmnVM0KqlIw==","signatures":[{"sig":"MEQCIH5UO8N4RNJ8W/qgG3moqIzZGE/RorZnAQXpT8HW2OjhAiA3OpKbHYyXo5d+PxafAFhdTvqreknbOJbtrNGS0w05Og==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":567085},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"eba36e5449acbe3f8fe1ef0951c5c31e2428de7c","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"^0.1.3","@flowfuse/nr-file-nodes":"^0.0.7","@flowfuse/nr-project-nodes":"^0.7.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.8.1-eba36e5-202412041214.0_1733314491256_0.1548101214431441","host":"s3://npm-registry-packages"}},"2.8.1-eba36e5-202412041306.0":{"name":"@flowfuse/nr-launcher","version":"2.8.1-eba36e5-202412041306.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.8.1-eba36e5-202412041306.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"a4eaab22842c35c1a22f9cba2960cb20125b19c3","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.8.1-eba36e5-202412041306.0.tgz","fileCount":41,"integrity":"sha512-26r2wm/+teVBCDEzMozN6P9uKb4ySBzfZfbIofH3NukAxh1lVCmL6TiYv8wqV0IXpnVcz89cb/ISl82E7N2ZLQ==","signatures":[{"sig":"MEQCID8UjK+SmZ1MwBLRjj06VwVxepLDy41Z0fPa0KAxFzSgAiA+WqotkWNHVHoP6GWd8zJ2tzLZ6CLfsMxoRed0JbJASg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":567085},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"eba36e5449acbe3f8fe1ef0951c5c31e2428de7c","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"^0.1.3","@flowfuse/nr-file-nodes":"^0.0.7","@flowfuse/nr-project-nodes":"^0.7.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.8.1-eba36e5-202412041306.0_1733317612092_0.2842512338106207","host":"s3://npm-registry-packages"}},"2.8.1-eba36e5-202412041338.0":{"name":"@flowfuse/nr-launcher","version":"2.8.1-eba36e5-202412041338.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.8.1-eba36e5-202412041338.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"2c1b25134e57c41b3977f328cf6411ab8abe1cfc","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.8.1-eba36e5-202412041338.0.tgz","fileCount":41,"integrity":"sha512-A7ZPbqsWyOqbuO2DP7LjxLNWi/lSvjK/EXXVxvuvg0L2ROVEg/7NR6V4Qa0Sb/9lRSGLWPLmICAO7LC6nfUcsA==","signatures":[{"sig":"MEQCIELTU6uDdzjGssmBZ3s/zjrU527pRlhtxk3ZXc3YyH17AiBqobU1xg6n1mBsjcVUThn1tSWzENK+buPERagHamAF4g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":567085},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"eba36e5449acbe3f8fe1ef0951c5c31e2428de7c","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"^0.1.3","@flowfuse/nr-file-nodes":"^0.0.7","@flowfuse/nr-project-nodes":"^0.7.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.8.1-eba36e5-202412041338.0_1733319524324_0.9122679013374064","host":"s3://npm-registry-packages"}},"2.8.1-eba36e5-202412041754.0":{"name":"@flowfuse/nr-launcher","version":"2.8.1-eba36e5-202412041754.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.8.1-eba36e5-202412041754.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"cd627dc41606cb3e03d4261e9f4d8f0866d0b23c","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.8.1-eba36e5-202412041754.0.tgz","fileCount":41,"integrity":"sha512-nLi2tKQxSZx/FzSkw+HSuKzcp0+xF4LXf1b1UT/d7Tnx9/ToSSyeCpxwPMqkNPAyP8uGjHh9qBQEk62rNaMMBQ==","signatures":[{"sig":"MEYCIQDcq/6pUp9+g37N3IQIYHk1pyCZvCuRPBInwwcky/FHiAIhAP+9stxSB0d8+rhAQpASwJLYG+UhhSptWzMmxzcXus9M","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":567085},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"eba36e5449acbe3f8fe1ef0951c5c31e2428de7c","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"^0.1.3","@flowfuse/nr-file-nodes":"^0.0.7","@flowfuse/nr-project-nodes":"^0.7.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.8.1-eba36e5-202412041754.0_1733334896466_0.9974520380415326","host":"s3://npm-registry-packages"}},"2.8.1-eba36e5-202412041808.0":{"name":"@flowfuse/nr-launcher","version":"2.8.1-eba36e5-202412041808.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.8.1-eba36e5-202412041808.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"c428f91ec9765897aca8b7f7139a705e3eb8f411","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.8.1-eba36e5-202412041808.0.tgz","fileCount":41,"integrity":"sha512-COzQe/Tgsa9qPvwzUzSG5GZx9F5P6e/eclkWYyMz27zOZPgAPNQejJaQQnpftlhL/72uo+nq36ApNJQm8szwyw==","signatures":[{"sig":"MEYCIQDp46dclpql7TOgWopk1ukgyKQFi8Krt4yhzhdtvuaiBgIhAMKdHtp0uTk2WeiP4dl8cBCFagLHG5kABpchv2D/8QBw","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":567085},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"eba36e5449acbe3f8fe1ef0951c5c31e2428de7c","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"^0.1.3","@flowfuse/nr-file-nodes":"^0.0.7","@flowfuse/nr-project-nodes":"^0.7.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.8.1-eba36e5-202412041808.0_1733335702511_0.802826270265365","host":"s3://npm-registry-packages"}},"2.8.1-eba36e5-202412041838.0":{"name":"@flowfuse/nr-launcher","version":"2.8.1-eba36e5-202412041838.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.8.1-eba36e5-202412041838.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"38d3b9c5ca70eb5ca81273a033d1ed97e196bbc1","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.8.1-eba36e5-202412041838.0.tgz","fileCount":41,"integrity":"sha512-WPteBx6jHlQYM2wkWeiHbtajcE2xQ3cFeePspO84rLoi4vFhZgAf2lw1Gqlg5iPomFyo9ZqjhWdbzNNXlN1lNA==","signatures":[{"sig":"MEUCIAWLdC7KI1h6f+ASzbNsrNg0Uiefb6uIqy2FJ9xVgqq7AiEAnPeAU0hAUfTmIUBshQUTN8wOiTBQEAp19Vk8r29KUQE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":567085},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"eba36e5449acbe3f8fe1ef0951c5c31e2428de7c","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"^0.1.3","@flowfuse/nr-file-nodes":"^0.0.7","@flowfuse/nr-project-nodes":"^0.7.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.8.1-eba36e5-202412041838.0_1733337509098_0.300761548078468","host":"s3://npm-registry-packages"}},"2.8.1-eba36e5-202412051327.0":{"name":"@flowfuse/nr-launcher","version":"2.8.1-eba36e5-202412051327.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.8.1-eba36e5-202412051327.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"6814a87f7b4b65d3eb182f8ac748a3a4655bbfad","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.8.1-eba36e5-202412051327.0.tgz","fileCount":41,"integrity":"sha512-sy7JNSErv+st9pGd3L8MmuypvBQ9l2kTqRp1Znx5QvCHhkKXRZPSzPnb0V1DljyZDj9VabIxfrBP0S5YITvTgg==","signatures":[{"sig":"MEYCIQCGb1YsW7c2ihcHhJ5u9LB3+OxzF+Hhtyf7HgVRayUvdgIhAL72kEcorXStqiUP86Cu5DWzntt7RoNta1IgJZoqPvo6","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":567085},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"eba36e5449acbe3f8fe1ef0951c5c31e2428de7c","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"^0.1.3","@flowfuse/nr-file-nodes":"^0.0.7","@flowfuse/nr-project-nodes":"^0.7.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.8.1-eba36e5-202412051327.0_1733405226006_0.7573181020735915","host":"s3://npm-registry-packages"}},"2.11.1-72b8105-202412051444.0":{"name":"@flowfuse/nr-launcher","version":"2.11.1-72b8105-202412051444.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.11.1-72b8105-202412051444.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"647867804f8fa87efa4c1056d609981e53effd7d","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.11.1-72b8105-202412051444.0.tgz","fileCount":41,"integrity":"sha512-IprqGo5D+zklqiGlEQe8qRrdYoKdVMMwtSVEKh8p+d0XzY9YHGfE9WDlhDXFPaGPiJ9Mv+fSSdsLPXnbs9wj3w==","signatures":[{"sig":"MEUCICECzAFrTDA3oZHUxu/eedlPOc3a0BXcW3fHYUINrzwqAiEA5I0UsQYyVjXgOz0+Kj2UtEX+lFR7ty225dl0OxeBlpk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":568351},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"72b810548af461fa60d6695b4d9b33d9c0297012","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-28c205c-202410210622.0","@flowfuse/nr-file-nodes":"0.0.8-8c67486-202411041503.0","@flowfuse/nr-project-nodes":"0.7.5-751f451-202411041328.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.11.1-72b8105-202412051444.0_1733409846514_0.6011778603245717","host":"s3://npm-registry-packages"}},"2.8.1-eba36e5-202412051531.0":{"name":"@flowfuse/nr-launcher","version":"2.8.1-eba36e5-202412051531.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.8.1-eba36e5-202412051531.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"346b330c7704f21d80a687d4b5a408178c526f3d","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.8.1-eba36e5-202412051531.0.tgz","fileCount":41,"integrity":"sha512-cMDBpKhgkOmuP57rCq2JiGTCc4idWxNkd2NhtXxp574lNDZCtHF+BNSylm5ZSCUW9VVKBh/JhPHY0llHUO7C5w==","signatures":[{"sig":"MEYCIQCTAX9izu36kW/nQokgvPMNH0cjRj51239H+qw+/NX4mAIhAKCqk0rugfhkVfVKBqh4VBcyE0WazyOMkO8feiDCgNvg","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":567085},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"eba36e5449acbe3f8fe1ef0951c5c31e2428de7c","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"^0.1.3","@flowfuse/nr-file-nodes":"^0.0.7","@flowfuse/nr-project-nodes":"^0.7.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.8.1-eba36e5-202412051531.0_1733412676218_0.3451921712511943","host":"s3://npm-registry-packages"}},"2.8.1-eba36e5-202412051538.0":{"name":"@flowfuse/nr-launcher","version":"2.8.1-eba36e5-202412051538.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.8.1-eba36e5-202412051538.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"5f9b514d1cb2fb64aa90467fa3be25d0bc2fdf71","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.8.1-eba36e5-202412051538.0.tgz","fileCount":41,"integrity":"sha512-aSWKbz8JZcRJpiOCZ3SdC4SMlbkYgje5I/yMN8US7JJaNt3+QPwFESrn1I4wBxyhg3+XmSlM0fRCHtyzkUxBYw==","signatures":[{"sig":"MEYCIQDfcs2UE5PhZLfoH/ErkCO1jtt/bnjuj5cJzOi+rQjgawIhAKosITn7gZ0z2HQIG2QTD2Lixpx7WjWvl4EYYNSmZYZs","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":567085},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"eba36e5449acbe3f8fe1ef0951c5c31e2428de7c","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"^0.1.3","@flowfuse/nr-file-nodes":"^0.0.7","@flowfuse/nr-project-nodes":"^0.7.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.8.1-eba36e5-202412051538.0_1733413105773_0.44585786820973383","host":"s3://npm-registry-packages"}},"2.8.1-eba36e5-202412051735.0":{"name":"@flowfuse/nr-launcher","version":"2.8.1-eba36e5-202412051735.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.8.1-eba36e5-202412051735.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"6953a23b791eb9da90c1dd9fef1570c0621e8401","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.8.1-eba36e5-202412051735.0.tgz","fileCount":41,"integrity":"sha512-7bdGKQNcCagUnJQ+DV7DkBxvalDV5byueD1aQ+RqwxNhSw71ESaOjVvc15n8+Z5YoCq27FfZrVpQbRM6C0lOLg==","signatures":[{"sig":"MEQCIFtjcVoB1r2qPzYKjvmAA/nvY/pBFtBNXSFhIv5y1wicAiBa8ZtAqRn+8neLdYDyLlPm07pBzJjSfKzTIqSHELXsUQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":567085},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"eba36e5449acbe3f8fe1ef0951c5c31e2428de7c","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"^0.1.3","@flowfuse/nr-file-nodes":"^0.0.7","@flowfuse/nr-project-nodes":"^0.7.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.8.1-eba36e5-202412051735.0_1733420154423_0.28449004827731916","host":"s3://npm-registry-packages"}},"2.8.1-eba36e5-202412051802.0":{"name":"@flowfuse/nr-launcher","version":"2.8.1-eba36e5-202412051802.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.8.1-eba36e5-202412051802.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"350ac5ea20bbf5333235dad91558547a39dc4603","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.8.1-eba36e5-202412051802.0.tgz","fileCount":41,"integrity":"sha512-+1Hs/tgziXBWS6MR6NxWUbqEmTV3e5xASInqFIeO12sx7vMCq5z0s+YlnREaPnynogZ3VPm5rqrmNjTB/sv0Iw==","signatures":[{"sig":"MEUCIQDSlQC/8SYgGH+kqDfb1HYWqicHkZ96RDPox3383pzsPQIgOCtOyUP+aEOEV+uvNcp3JhkydmJqAnEYDn66t29Y5HM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":567085},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"eba36e5449acbe3f8fe1ef0951c5c31e2428de7c","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"^0.1.3","@flowfuse/nr-file-nodes":"^0.0.7","@flowfuse/nr-project-nodes":"^0.7.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.8.1-eba36e5-202412051802.0_1733421777974_0.6552837735503745","host":"s3://npm-registry-packages"}},"2.8.1-eba36e5-202412051848.0":{"name":"@flowfuse/nr-launcher","version":"2.8.1-eba36e5-202412051848.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.8.1-eba36e5-202412051848.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"335da5f67024d75c59c5b747da12fe466b154e30","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.8.1-eba36e5-202412051848.0.tgz","fileCount":41,"integrity":"sha512-3Z3yDwrpGHj8TGQmm51AD8Lvn/p9OwEsYMJ1gLhZelE4CmDLEwQyWPErWpDaSOdwikf7GGini8OAcu+5GTtnzA==","signatures":[{"sig":"MEYCIQD4Z8JmIYov5JVlvxJlsE0Ws5qBkxSEWENp6FIkTYPG1QIhAK8zcRVx6eDZTbwoN9YBynPE4+t6h2XvgNLnfixIydZS","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":567085},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"eba36e5449acbe3f8fe1ef0951c5c31e2428de7c","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"^0.1.3","@flowfuse/nr-file-nodes":"^0.0.7","@flowfuse/nr-project-nodes":"^0.7.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.8.1-eba36e5-202412051848.0_1733424484126_0.3782780387689759","host":"s3://npm-registry-packages"}},"2.8.1-eba36e5-202412061201.0":{"name":"@flowfuse/nr-launcher","version":"2.8.1-eba36e5-202412061201.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.8.1-eba36e5-202412061201.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"818376fc52f91ef3f81055424126db862fb4a000","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.8.1-eba36e5-202412061201.0.tgz","fileCount":41,"integrity":"sha512-O3m+wSVnd3fQ4kN241ANpB5RY1zO98rT1d1Nb7MT3J5//xbaUdu2T5xmmMmZOCJ2ajYZWFZhLOnz85PkgpbebA==","signatures":[{"sig":"MEUCIQCcpsrNAWOrJekb2WcFHziGJYGBKUheabSO/sWp83DShQIgWGRplMd5CrpGj0m/cQgXp9fNo52m7UZkjq74g+fqUEo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":567085},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"eba36e5449acbe3f8fe1ef0951c5c31e2428de7c","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"^0.1.3","@flowfuse/nr-file-nodes":"^0.0.7","@flowfuse/nr-project-nodes":"^0.7.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.8.1-eba36e5-202412061201.0_1733486518048_0.0005381627301754843","host":"s3://npm-registry-packages"}},"2.11.1-72b8105-202412091857.0":{"name":"@flowfuse/nr-launcher","version":"2.11.1-72b8105-202412091857.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.11.1-72b8105-202412091857.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"1a7ed850cef872c6f53debb67bbc7b35ad91be33","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.11.1-72b8105-202412091857.0.tgz","fileCount":41,"integrity":"sha512-SHs/hbPenjz7NXZcjkB7RpxOY0oJXsykzx5vq/PgSa+PYfvaar+Lb8uXzhfgYcplGwNJ2jaGev9bSh9YIZDlEg==","signatures":[{"sig":"MEUCICphWH83W7fsj4Xk4i92ynF7sua/lR06mJoXi7d6X72gAiEA5kNZAtpjdJIpUYeLYzjeA8ewXlsMaG5zn3NjohLnRT0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":568351},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"72b810548af461fa60d6695b4d9b33d9c0297012","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-28c205c-202410210622.0","@flowfuse/nr-file-nodes":"0.0.8-76589f2-202412091856.0","@flowfuse/nr-project-nodes":"0.7.5-1fb7208-202412091856.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.11.1-72b8105-202412091857.0_1733770662935_0.23445714034306064","host":"s3://npm-registry-packages-npm-production"}},"2.11.1-10980df-202412092125.0":{"name":"@flowfuse/nr-launcher","version":"2.11.1-10980df-202412092125.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.11.1-10980df-202412092125.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"11d59b8f2335cbeef6b3194c37f2acb44dfd3a2d","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.11.1-10980df-202412092125.0.tgz","fileCount":41,"integrity":"sha512-yqMX9Lzk3fxy12pt9E4YbGwbuDx0vQMTI15xl/qJHiwtxvF7eMqJZNMIyC4mCovmckC1G9tZrEj50eCfX9AiQQ==","signatures":[{"sig":"MEQCIAnNbmGcG2pq6qwXHMk/o329Fj8pUE+P06HD/H2tJeUTAiAMbpbGeFFT1GDSKebeOgBXxAuO9eCJppxyHNGh6mUQlw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":568351},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"10980dff8508e14405cd2adb1ac3bb5872b1115e","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-28c205c-202410210622.0","@flowfuse/nr-file-nodes":"0.0.8-76589f2-202412091856.0","@flowfuse/nr-project-nodes":"0.7.5-1fb7208-202412091856.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.11.1-10980df-202412092125.0_1733779565448_0.6444657926081494","host":"s3://npm-registry-packages-npm-production"}},"2.11.1-c6e5d88-202412121104.0":{"name":"@flowfuse/nr-launcher","version":"2.11.1-c6e5d88-202412121104.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.11.1-c6e5d88-202412121104.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"f03e98088d06490edab90331134b8c222f6df2ea","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.11.1-c6e5d88-202412121104.0.tgz","fileCount":41,"integrity":"sha512-lWaAYe7kH3yJ6ykAJhCgWdSOmPG0hvaszWRi4vDc7HQ57i+NM4wiNOnp5/50j+t0qZ4m8A3E97t3NiET9ZaDmA==","signatures":[{"sig":"MEYCIQC9TLG1MPeslYLqEipRquL9VpVw92e5ex0Jbj0IPQTUwgIhAMIhrTtm0dMhiILqyWsE47JoOhHj+FBBt7D1wjG/lshU","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":568897},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"c6e5d883590688301e171baa85a9f3edcabefca2","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-28c205c-202410210622.0","@flowfuse/nr-file-nodes":"0.0.8-76589f2-202412091856.0","@flowfuse/nr-project-nodes":"0.7.5-1fb7208-202412091856.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.11.1-c6e5d88-202412121104.0_1734001494407_0.5530312949953593","host":"s3://npm-registry-packages-npm-production"}},"2.11.1-31ab49b-202412121112.0":{"name":"@flowfuse/nr-launcher","version":"2.11.1-31ab49b-202412121112.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.11.1-31ab49b-202412121112.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"1e36937b86c5f979a0eb14ceb10f7b3412508b93","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.11.1-31ab49b-202412121112.0.tgz","fileCount":41,"integrity":"sha512-lqPWwu9ct72rwIFutv6Av342i3drpsINqXaas0AAEignn19tqxA5tcfITjyOFFv2CXldh2i0TOrcO20Rrl09dA==","signatures":[{"sig":"MEYCIQDiNuETv+p2wHVZX/ySe6Msj2uGrWOpz0Y7NPw3LuQwbgIhAJZ5Hw+1FkeLzweHK4+Q5OGVyblXSCubgj63B+FsS42Z","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":568897},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"31ab49b79bc39b753539dfcdc49e7d6a0dbed87e","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-28c205c-202410210622.0","@flowfuse/nr-file-nodes":"0.0.8-76589f2-202412091856.0","@flowfuse/nr-project-nodes":"0.7.5-1fb7208-202412091856.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.11.1-31ab49b-202412121112.0_1734001972350_0.23747817417836292","host":"s3://npm-registry-packages-npm-production"}},"2.11.1-4bbf9cd-202412131015.0":{"name":"@flowfuse/nr-launcher","version":"2.11.1-4bbf9cd-202412131015.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.11.1-4bbf9cd-202412131015.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"72a7b0dbe7455110c56252eebf50bf73f2d073c9","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.11.1-4bbf9cd-202412131015.0.tgz","fileCount":41,"integrity":"sha512-rxdx/cCqhrDz4GarjOsENjiQhJYzVOOT6EeVzs0NB/1MmR1SVsYgyCFMCObWktDCg8rsoXzJIxYJVy47fKrCFg==","signatures":[{"sig":"MEQCIEH5mUJqcQedJmZxMIJsmUTi+Ih1gvrd9DScOAkUpJYiAiBNfFjolVyaJbXMDL+r1BzxTTWs5n4iRul1QO2rzw79gg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":569679},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"4bbf9cd400c0042af8161f8820bd9395fd9e8b5e","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-28c205c-202410210622.0","@flowfuse/nr-file-nodes":"0.0.8-76589f2-202412091856.0","@flowfuse/nr-project-nodes":"0.7.5-1fb7208-202412091856.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.11.1-4bbf9cd-202412131015.0_1734084957235_0.6083486229384676","host":"s3://npm-registry-packages-npm-production"}},"2.11.1-4bbf9cd-202412161052.0":{"name":"@flowfuse/nr-launcher","version":"2.11.1-4bbf9cd-202412161052.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.11.1-4bbf9cd-202412161052.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"1e6ec59311b2e7543f9d939e1965bcda39dd2148","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.11.1-4bbf9cd-202412161052.0.tgz","fileCount":41,"integrity":"sha512-xedIyOINgV6Pwf9THeDR9eOxMXstWClz2hUimc1AksgCTA/iVhwJ2xVPZt4rA9qUefdi+A2ojS2QAhi4XQ17xw==","signatures":[{"sig":"MEYCIQCgDp5GZ3/ktm1uzaqGID9nVhhL9NugQxsf53IGFQrk1wIhAMpfofurUEPysn19MlOyBX9EOxZuVV8IMhTtpF1FBF7r","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":569679},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"4bbf9cd400c0042af8161f8820bd9395fd9e8b5e","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-51c0518-202412161051.0","@flowfuse/nr-file-nodes":"0.0.8-76589f2-202412091856.0","@flowfuse/nr-project-nodes":"0.7.5-1fb7208-202412091856.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.11.1-4bbf9cd-202412161052.0_1734346361892_0.9632958334972821","host":"s3://npm-registry-packages-npm-production"}},"2.11.1-c3a1b52-202412161706.0":{"name":"@flowfuse/nr-launcher","version":"2.11.1-c3a1b52-202412161706.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.11.1-c3a1b52-202412161706.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"837fbef96ed16816cb594208952b7d0d6a9774d0","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.11.1-c3a1b52-202412161706.0.tgz","fileCount":41,"integrity":"sha512-GaCf82gFoqIcd2a/vrx5gkigjTISaGXmCfO1PecFgyNz2EXQpU7fHk3EhI9vxmFm121gT/oX4GmBcVlNNNfc2A==","signatures":[{"sig":"MEUCIFfhSsN4/jtvk2DJ8oP4+z3JdVQHjvrmIK5N0HzwIaQ+AiEAgjjPlb5cqpXL3z7+4qec35k4yrWqbc/4N49y9MP7O4I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":570259},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"c3a1b52259b5d083a2d4deb952622fd0594a3d78","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-51c0518-202412161051.0","@flowfuse/nr-file-nodes":"0.0.8-76589f2-202412091856.0","@flowfuse/nr-project-nodes":"0.7.5-1fb7208-202412091856.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.11.1-c3a1b52-202412161706.0_1734368823619_0.6279191201795051","host":"s3://npm-registry-packages-npm-production"}},"2.11.1-4bacf40-202412181407.0":{"name":"@flowfuse/nr-launcher","version":"2.11.1-4bacf40-202412181407.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.11.1-4bacf40-202412181407.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"958192b94d2d506f93947fa8a55843bf386540a9","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.11.1-4bacf40-202412181407.0.tgz","fileCount":41,"integrity":"sha512-Nt9/xawddxx5U4YUH5U64E6k0HQUUOGTUvyhRBa6H+Ufc4ekkHI6RT3Lzb6ZeiQ57qnQkAXANo3Inb7wgvdu8w==","signatures":[{"sig":"MEQCIDCYW/v5j702J2fGggduAJ5uETUj2AAeYKbCYbe4GsI0AiBJ6UT0WJ9/9EBPlkNCmqN1Q47/oEscsijQPuFC+HgkxA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":570799},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"4bacf4049f2680534fb5046ffc6b396393b1fa07","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-51c0518-202412161051.0","@flowfuse/nr-file-nodes":"0.0.8-76589f2-202412091856.0","@flowfuse/nr-project-nodes":"0.7.5-1fb7208-202412091856.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.11.1-4bacf40-202412181407.0_1734530846807_0.30901109078165945","host":"s3://npm-registry-packages-npm-production"}},"2.11.1-9e1d5ff-202412181739.0":{"name":"@flowfuse/nr-launcher","version":"2.11.1-9e1d5ff-202412181739.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.11.1-9e1d5ff-202412181739.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"220622fa26b5b17b35d98eadc032da57d1a30cbb","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.11.1-9e1d5ff-202412181739.0.tgz","fileCount":41,"integrity":"sha512-sFv/43GfL6kQ/BOri6bx7emnxTbkCWIajgSUxI26oivLwd7fLDhuwnXx4cplTkJU34ZLaX6CjyN9RDAOPbq9fA==","signatures":[{"sig":"MEUCIQDcdCn4HefMCf2Z39WGRRrrz4i91nn8lckYsBi0uISAdgIgQNku1sBfTUK5VnFgZJ50iYcMvDQuRwqZEHR+XlQbqb0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":571138},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"9e1d5ff6df6c6bc69cb3f8b8fd6bd3476da11268","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-51c0518-202412161051.0","@flowfuse/nr-file-nodes":"0.0.8-76589f2-202412091856.0","@flowfuse/nr-project-nodes":"0.7.5-1fb7208-202412091856.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.11.1-9e1d5ff-202412181739.0_1734543604934_0.825322942397221","host":"s3://npm-registry-packages-npm-production"}},"2.11.1-9e1d5ff-202412191019.0":{"name":"@flowfuse/nr-launcher","version":"2.11.1-9e1d5ff-202412191019.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.11.1-9e1d5ff-202412191019.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"22f314dfb2739ff0513e153c3d32912f805f6645","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.11.1-9e1d5ff-202412191019.0.tgz","fileCount":41,"integrity":"sha512-mXol2gKy4b1bamo6qn61dSvIPsCvB3P1oHAPR6djmbs298s+sCqxjrgN+dOAbXHD/rhubwqh2umeVkGMKRzmvw==","signatures":[{"sig":"MEYCIQDFsLo1f1ApZCSl7uz2LfPjpAc2YyzxQEcFue4s7ivesAIhANRPrJn+OM8dJK9GRrlaaMJT2lvM1ABDfSXOJGpMr0+4","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":571138},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"9e1d5ff6df6c6bc69cb3f8b8fd6bd3476da11268","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-51c0518-202412161051.0","@flowfuse/nr-file-nodes":"0.0.9-1e6a163-202412191018.0","@flowfuse/nr-project-nodes":"0.7.5-1fb7208-202412091856.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.11.1-9e1d5ff-202412191019.0_1734603600321_0.11422327458977222","host":"s3://npm-registry-packages-npm-production"}},"2.11.1-eb0c577-202412191024.0":{"name":"@flowfuse/nr-launcher","version":"2.11.1-eb0c577-202412191024.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.11.1-eb0c577-202412191024.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"5b2ec47d6ead43f10f723a66d3284531ac04beec","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.11.1-eb0c577-202412191024.0.tgz","fileCount":41,"integrity":"sha512-jd+h8L37JdPOv/U92BJBk9Vwa7FC4ISf+bKjn+l6txu9xkz7PSX8ky22LlaMP19hXum0sbbN/QGliUkklIrCcQ==","signatures":[{"sig":"MEUCIDmIRwxeX2XwX9ySV4wollOFlX40GSNXOrBCYiLrcgLPAiEAnZt9etCwpiZcfB8xEgvRaZoP00Y9qA6zB6BvbmF84fc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":571138},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"eb0c5771d953766dc40eae1867c2d46ea74a1ca6","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-51c0518-202412161051.0","@flowfuse/nr-file-nodes":"0.0.9-1e6a163-202412191018.0","@flowfuse/nr-project-nodes":"0.7.5-1fb7208-202412091856.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.11.1-eb0c577-202412191024.0_1734603897354_0.342436506896028","host":"s3://npm-registry-packages-npm-production"}},"2.12.0":{"name":"@flowfuse/nr-launcher","version":"2.12.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.12.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"851b40d2148afc36fb6eb2d1ec8a4b23e1a58288","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.12.0.tgz","fileCount":41,"integrity":"sha512-zQEdWVvN20hHouBgBTgaXS/RrTLwqZLzUDgegrcaJLUx2Hw9mtu81Q61jPjaQJW6Q07TiylfwMzyZm4uE4G9sg==","signatures":[{"sig":"MEUCIDqNFjSO80gtU/RpwaJj6FHNsiv0qm/qgaeM/EWzZkVTAiEA/cJlO5Qt0xYosTVlBCVn+It53IWS8ASPKAOZhiLL3SE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":571581},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"b590868d251fa15383c665876e1a95bf76d81caf","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"^0.1.3","@flowfuse/nr-file-nodes":"^0.0.8","@flowfuse/nr-project-nodes":"^0.7.4","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.12.0_1734604012853_0.10485366335598756","host":"s3://npm-registry-packages-npm-production"}},"2.12.1-b590868-202412191026.0":{"name":"@flowfuse/nr-launcher","version":"2.12.1-b590868-202412191026.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.12.1-b590868-202412191026.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"982265efb2a6cfa350da57bca58b89684f706afe","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.12.1-b590868-202412191026.0.tgz","fileCount":41,"integrity":"sha512-M9DLg7YfmKozdN35SR4o++gLhw7ZfebNNhiLYtRIKFR8HFDbnAeo0pkt7rXAUXmbUZbLhke87twzk6ktqC8sJQ==","signatures":[{"sig":"MEUCIBdF7XU8BSLPJ59myyprIti3jReArP250FWWTpRsowqvAiEA6FBs1dLJNmEvASwkU/ATKvu+k7cq+/CvvdHvSv2yIuU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":571670},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"b590868d251fa15383c665876e1a95bf76d81caf","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-51c0518-202412161051.0","@flowfuse/nr-file-nodes":"0.0.9-1e6a163-202412191018.0","@flowfuse/nr-project-nodes":"0.7.5-1fb7208-202412091856.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.12.1-b590868-202412191026.0_1734604023359_0.7610665307333693","host":"s3://npm-registry-packages-npm-production"}},"2.12.1-b590868-202501021116.0":{"name":"@flowfuse/nr-launcher","version":"2.12.1-b590868-202501021116.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.12.1-b590868-202501021116.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"7515dd656a2506184b917d568d4f59fc72657bca","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.12.1-b590868-202501021116.0.tgz","fileCount":41,"integrity":"sha512-M2RbJ+KqCXAvweMk+Rsnsy7cED0etmOph8chGskA/hsWseeDeUorxEZzAyRwuOLVwQNIvo1jbBSj2JSd7SQsrA==","signatures":[{"sig":"MEYCIQCE5uSCYazt72tzxHAiXVuIzcWSrXUwsfFh//ZFSs2KywIhAOrOqG2Xr++EaNxDUdEtUKTr8KxI19THFUwHsaGmtE5L","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":571670},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"b590868d251fa15383c665876e1a95bf76d81caf","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-51c0518-202412161051.0","@flowfuse/nr-file-nodes":"0.0.9-1e6a163-202412191018.0","@flowfuse/nr-project-nodes":"0.7.5-c54abfc-202501021116.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.12.1-b590868-202501021116.0_1735816606266_0.5440912287851158","host":"s3://npm-registry-packages-npm-production"}},"2.12.1-b590868-202501021203.0":{"name":"@flowfuse/nr-launcher","version":"2.12.1-b590868-202501021203.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.12.1-b590868-202501021203.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"b7eaea4711444216ef2676e9a719bd609862322a","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.12.1-b590868-202501021203.0.tgz","fileCount":41,"integrity":"sha512-bryNJJCup05+Qzpw3yn5Okbce6HG+j06oCx6ldql9hkW+WlNwjNlxQBgLW9r61oV+4g9UIDq7H28CBIsm5FeaQ==","signatures":[{"sig":"MEUCIDsPGEVDmi7uN+D7s9E+WRUUjg/QOKHkC8DFOmuwcMBVAiEAhHwKOx6FVi5Z1Cniig/PjY3xi/Wmogwpiz0Z9VpDDSI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":571670},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"b590868d251fa15383c665876e1a95bf76d81caf","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-51c0518-202412161051.0","@flowfuse/nr-file-nodes":"0.0.9-1e6a163-202412191018.0","@flowfuse/nr-project-nodes":"0.7.5-c54abfc-202501021202.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.12.1-b590868-202501021203.0_1735819387367_0.39815832207146307","host":"s3://npm-registry-packages-npm-production"}},"2.12.1-b590868-202501021228.0":{"name":"@flowfuse/nr-launcher","version":"2.12.1-b590868-202501021228.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.12.1-b590868-202501021228.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"b9e49bfd2ef7e1e73c99720a6d5f97905bdcd3e7","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.12.1-b590868-202501021228.0.tgz","fileCount":41,"integrity":"sha512-gRUuYSv9ZVWZg3y4adRJjX2Gu1oD9V4KzrkMjtSl1zNGlLKvf5IOIPFrOwouTotu5BE08LOzDZDUqE0LquxB5g==","signatures":[{"sig":"MEUCIQC/HETdImqviWhyw4tRTyKWm89Q1vlw2hidMWZT1BoORwIgNVoF1kbTkO+e9FIorRevYZpDurslGzcPQq7LQWl2Dc4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":571670},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"b590868d251fa15383c665876e1a95bf76d81caf","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-51c0518-202412161051.0","@flowfuse/nr-file-nodes":"0.0.9-1e6a163-202412191018.0","@flowfuse/nr-project-nodes":"0.7.5-c54abfc-202501021228.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.12.1-b590868-202501021228.0_1735820926816_0.850804834146049","host":"s3://npm-registry-packages-npm-production"}},"2.12.1-dc5fec7-202501022046.0":{"name":"@flowfuse/nr-launcher","version":"2.12.1-dc5fec7-202501022046.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.12.1-dc5fec7-202501022046.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"8aaeae65336bae65941b9e1d5980ba0b6c27b1ee","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.12.1-dc5fec7-202501022046.0.tgz","fileCount":41,"integrity":"sha512-8JjdVXdS9EcyzKNUxtXY9Au5P9nAQLb8gGyJaPmYiRxHg+9FUByTx9Z7QsQCb649HJfRBd3jmB1twJhWCehhWA==","signatures":[{"sig":"MEUCIQD+pvRS4U+dekViSabY2+pT0tUaNqUot6f5nkxEKre//gIgHX4T3OxINW8b+3K3VrunKKhPdShU7BmxUfiNnezz7wQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":571708},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"dc5fec786c0a48d9496b62d64fca4379ebc5091d","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-51c0518-202412161051.0","@flowfuse/nr-file-nodes":"0.0.9-1e6a163-202412191018.0","@flowfuse/nr-project-nodes":"0.7.5-1fb7208-202412091856.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.12.1-dc5fec7-202501022046.0_1735850764676_0.5167082693006011","host":"s3://npm-registry-packages-npm-production"}},"2.12.1-dc5fec7-202501022059.0":{"name":"@flowfuse/nr-launcher","version":"2.12.1-dc5fec7-202501022059.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.12.1-dc5fec7-202501022059.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"cd92d6e0f12a753d3480092eaedffed31aa9771a","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.12.1-dc5fec7-202501022059.0.tgz","fileCount":41,"integrity":"sha512-YrFP77GfHdi9RLdePndfk1DI3iYtvMTyurF/Ts9+PBUkwzIx5fVcsAjlvglJuWZreZ2cuCgY4ahWfligwGjdFw==","signatures":[{"sig":"MEYCIQDxRJDm4NS5LoJe37yXNlDkrg4aY6k+dlHdsYh0lW6eGAIhAOaglR5hVi8RcAHHCEf+sqlmytoHc3fc43mZAtp9zbqE","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":571708},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"dc5fec786c0a48d9496b62d64fca4379ebc5091d","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-51c0518-202412161051.0","@flowfuse/nr-file-nodes":"0.0.9-1e6a163-202412191018.0","@flowfuse/nr-project-nodes":"0.7.5-1fb7208-202412091856.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.12.1-dc5fec7-202501022059.0_1735851548533_0.7438993252566248","host":"s3://npm-registry-packages-npm-production"}},"2.12.1-b590868-202501022109.0":{"name":"@flowfuse/nr-launcher","version":"2.12.1-b590868-202501022109.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.12.1-b590868-202501022109.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"b14eab08f1decc8d18bdde7613a180efc2a5eb68","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.12.1-b590868-202501022109.0.tgz","fileCount":41,"integrity":"sha512-tTqXLEgWFzIKr/asVmWmZWsWryLsL2XIZ+57IQc8+tRNAdfBPGwQ75395XKkLbKlVSxPHnBeykYGl0MDbo2lPg==","signatures":[{"sig":"MEQCIAqgG7SHrmbHI3hTgf1DX5HjgjGcPAn6oo4IIP0UgggPAiB8dsRBhu9OiX3aebAWmu4Go2JhFL91qJqXHUJzArDK5g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":571670},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"b590868d251fa15383c665876e1a95bf76d81caf","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-51c0518-202412161051.0","@flowfuse/nr-file-nodes":"0.0.9-1e6a163-202412191018.0","@flowfuse/nr-project-nodes":"0.7.5-c54abfc-202501022109.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.12.1-b590868-202501022109.0_1735852190090_0.14349749425985148","host":"s3://npm-registry-packages-npm-production"}},"2.12.1-b590868-202501022118.0":{"name":"@flowfuse/nr-launcher","version":"2.12.1-b590868-202501022118.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.12.1-b590868-202501022118.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"05d07b1a0f1c0766e20b1ed1ea7a7a0018ef184d","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.12.1-b590868-202501022118.0.tgz","fileCount":41,"integrity":"sha512-qG3qNTbJs60BOHjGBoQSjuHjFQ4bPtxSVpJH5UZ/LfgT1YyqFj3jMncw//uU1m22e+jjVHHRbGcJXSMUk1YIqg==","signatures":[{"sig":"MEUCIHUwt8h4b9Yl1JGEhCTidRWD57sAOFCcBONtW3JgxSLPAiEA9N9zS7kY2Ts/fVeSXaG0d8ggq4lr3GdOKigX8AFzrZ0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":571670},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"b590868d251fa15383c665876e1a95bf76d81caf","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-51c0518-202412161051.0","@flowfuse/nr-file-nodes":"0.0.9-1e6a163-202412191018.0","@flowfuse/nr-project-nodes":"0.7.5-1fb7208-202412091856.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.12.1-b590868-202501022118.0_1735852717886_0.392814354817427","host":"s3://npm-registry-packages-npm-production"}},"2.12.1-b590868-202501031009.0":{"name":"@flowfuse/nr-launcher","version":"2.12.1-b590868-202501031009.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.12.1-b590868-202501031009.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"85f559b3a19055d4b2c84b6f0ed769e42fe9d9cd","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.12.1-b590868-202501031009.0.tgz","fileCount":41,"integrity":"sha512-BwA96lh3zWp5EPTjzjCWe/+gRjnFG3aUAAXt5hlfVuxGSGFvP73SV9ahj5E1xlLqCifqoVNd+Xz+KEICG1S9wg==","signatures":[{"sig":"MEQCIHD438PQd1yqnY0luT1zWwJY7wYexRu+TZ51CBblMCOjAiAFfGKrFqfkJzU9vDwP6inb2fL7T2JzNhMao3MFLo6pFw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":571670},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"b590868d251fa15383c665876e1a95bf76d81caf","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-51c0518-202412161051.0","@flowfuse/nr-file-nodes":"0.0.9-1e6a163-202412191018.0","@flowfuse/nr-project-nodes":"0.7.5-c54abfc-202501031009.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.12.1-b590868-202501031009.0_1735899001895_0.1444781569623923","host":"s3://npm-registry-packages-npm-production"}},"2.12.1-dc5fec7-202501031020.0":{"name":"@flowfuse/nr-launcher","version":"2.12.1-dc5fec7-202501031020.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.12.1-dc5fec7-202501031020.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"b56e6994b8f6213f3eea2e9faa963116c0ffba2d","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.12.1-dc5fec7-202501031020.0.tgz","fileCount":41,"integrity":"sha512-svDGsR8bUVgKWu2KDHrpmIXRBFkCZp22eaucITCrIsFKH/ssIRfwGlZRNz1Dr5KRFYV+LaqO5WGdB1s3zdMMzg==","signatures":[{"sig":"MEYCIQDFc3Ul90eMYUFunzgDUtaj/hs6T7f14TqQfTj7Okfp0gIhAP5DBXTluXRSCZIWATEGxzPfHnu4KLKd7PSdIOqvRiw4","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":571708},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"dc5fec786c0a48d9496b62d64fca4379ebc5091d","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-51c0518-202412161051.0","@flowfuse/nr-file-nodes":"0.0.9-1e6a163-202412191018.0","@flowfuse/nr-project-nodes":"0.7.5-1fb7208-202412091856.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.12.1-dc5fec7-202501031020.0_1735899663755_0.1336299643266663","host":"s3://npm-registry-packages-npm-production"}},"2.12.1-b590868-202501081844.0":{"name":"@flowfuse/nr-launcher","version":"2.12.1-b590868-202501081844.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.12.1-b590868-202501081844.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"cb03f470b877ef0821719b1f31ba291d00c10263","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.12.1-b590868-202501081844.0.tgz","fileCount":41,"integrity":"sha512-sdhiCDUmgP4BZ7zLntE5v9HO/+Tw4eLwAJ7SMAxfdM1H7SZjCp07SDMyXh/lFaGRTtfyqSS18zyi1+Gbqhmb2w==","signatures":[{"sig":"MEQCIBEAr3lyaP/Oc752RMZiA82rBiph/4Vro/I9Lpfwd0sJAiAE/9NVgEiaXnSL7Of2w7YIYHzBr8VulKPv3UsM5LaYUQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":571670},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"b590868d251fa15383c665876e1a95bf76d81caf","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-51c0518-202412161051.0","@flowfuse/nr-file-nodes":"0.0.9-1e6a163-202412191018.0","@flowfuse/nr-project-nodes":"0.7.5-1fb7208-202412091856.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.12.1-b590868-202501081844.0_1736361861855_0.9878276990178252","host":"s3://npm-registry-packages-npm-production"}},"2.12.1-b590868-202501081951.0":{"name":"@flowfuse/nr-launcher","version":"2.12.1-b590868-202501081951.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.12.1-b590868-202501081951.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"7f7f015647bfe5e9d1866fa5a23c4e7aadd8e436","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.12.1-b590868-202501081951.0.tgz","fileCount":41,"integrity":"sha512-2G5ftY26BSWbWH+TNa1F8htRo4M9rfEHDeMRBtWpOsvGSrvtLU6ybK/xjzWoDYkFxkZHKzjy4OP7La6RCZdeeg==","signatures":[{"sig":"MEQCIEphlSpsK282E2QwR4lLifMLhhIfQYY+jXMM7UAl/7gEAiABy/gwevBWF3E+gfh301sFavlmoYSG+76ZZmzkk0tJZg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":571670},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"b590868d251fa15383c665876e1a95bf76d81caf","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-51c0518-202412161051.0","@flowfuse/nr-file-nodes":"0.0.9-578f631-202501081951.0","@flowfuse/nr-project-nodes":"0.7.5-1fb7208-202412091856.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.12.1-b590868-202501081951.0_1736365894538_0.33035331212258234","host":"s3://npm-registry-packages-npm-production"}},"2.12.1-b590868-202501082036.0":{"name":"@flowfuse/nr-launcher","version":"2.12.1-b590868-202501082036.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.12.1-b590868-202501082036.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"19f38214daff82a13ee7e2272da09dd0cbf558ff","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.12.1-b590868-202501082036.0.tgz","fileCount":41,"integrity":"sha512-iz4sXOs5ySGo0aaOvOS2nxTxTphzgXLi68796tEXK7iCO9DF1V8AWGgfI9asTsjpeiv/tc7vSd5rw/UfFUhrQQ==","signatures":[{"sig":"MEUCIHqRfmoexrarVwuXWc46Y2m//lXFkDIrPVLa500v4s3HAiEA6QyI9rsQx0H+fyFjWNgBqKxZzodHiemaxu+VF/rz78k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":571670},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"b590868d251fa15383c665876e1a95bf76d81caf","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-51c0518-202412161051.0","@flowfuse/nr-file-nodes":"0.0.9-578f631-202501082035.0","@flowfuse/nr-project-nodes":"0.7.5-1fb7208-202412091856.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.12.1-b590868-202501082036.0_1736368573589_0.07573481768128443","host":"s3://npm-registry-packages-npm-production"}},"2.12.1-b590868-202501082042.0":{"name":"@flowfuse/nr-launcher","version":"2.12.1-b590868-202501082042.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.12.1-b590868-202501082042.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"36d2ff8e96ccd3f57419c72b7e48d5bc6d048b72","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.12.1-b590868-202501082042.0.tgz","fileCount":41,"integrity":"sha512-0VFdRr7H4uPihNt6iuZnnbwro/koBTUtlwHWFHBY2ex/BGeqGpDrangDveUyRNPRWEKPhgqnlajOZqrHqGroBw==","signatures":[{"sig":"MEUCIQC7meqxGqNrHiRGMapnogZisJlHSk1LTJGK3CSUGItdvQIgO32kjBgRY/RvvvslslCVJ/P9ACTdxy/LCaVZCYK5JUI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":571670},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"b590868d251fa15383c665876e1a95bf76d81caf","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-51c0518-202412161051.0","@flowfuse/nr-file-nodes":"0.0.9-1e6a163-202412191018.0","@flowfuse/nr-project-nodes":"0.7.5-c54abfc-202501082042.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.12.1-b590868-202501082042.0_1736368965568_0.23389885663032506","host":"s3://npm-registry-packages-npm-production"}},"2.12.1-b590868-202501082055.0":{"name":"@flowfuse/nr-launcher","version":"2.12.1-b590868-202501082055.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.12.1-b590868-202501082055.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"1745175d327b0fd9d6b564bbdff89d17bc959e15","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.12.1-b590868-202501082055.0.tgz","fileCount":41,"integrity":"sha512-aBO/N9XxloaWDKWa32nNFcxvfhPjS50fV5kz/p2RwQepJR2CreFTfIdJ+h9Fz4IdbOOuJXNqdLImQvQmRw5/ng==","signatures":[{"sig":"MEUCIQCSHGE+qsJ+K/U4waQXJ5hl3MQbKN0Gw8GJ2qk9fPwvbQIgNVp3yfLOL4P3Bkb3uXOx5AVKnkYcceEu3cQ32QERthk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":571670},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"b590868d251fa15383c665876e1a95bf76d81caf","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-51c0518-202412161051.0","@flowfuse/nr-file-nodes":"0.0.9-1e6a163-202412191018.0","@flowfuse/nr-project-nodes":"0.7.5-c54abfc-202501082055.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.12.1-b590868-202501082055.0_1736369730796_0.45636032698482887","host":"s3://npm-registry-packages-npm-production"}},"2.12.1-b590868-202501101506.0":{"name":"@flowfuse/nr-launcher","version":"2.12.1-b590868-202501101506.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.12.1-b590868-202501101506.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"bc9f829929d73e26f7cca09a5d32aed77291252d","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.12.1-b590868-202501101506.0.tgz","fileCount":41,"integrity":"sha512-IpI6ItLY3wUSCzCl7xFZBxZGS3PtRLX3TnIsRt/HU26bNWYXDqLxLv3ydXasqm9C7f13RjVle2tXKCE+hqbezA==","signatures":[{"sig":"MEUCIFXB3R1Yq8kyQg32tPjCXpMjAH212KA4JUSQJgenehGsAiEA5UVJtImT0CicvwPLVcBukh4qd8BHaAl3F/s1ERqGLG0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":571670},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"b590868d251fa15383c665876e1a95bf76d81caf","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-559f1da-202501101505.0","@flowfuse/nr-file-nodes":"0.0.9-1e6a163-202412191018.0","@flowfuse/nr-project-nodes":"0.7.5-1fb7208-202412091856.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.12.1-b590868-202501101506.0_1736521619568_0.8550154488824642","host":"s3://npm-registry-packages-npm-production"}},"2.13.1-37cb723-202501161010.0":{"name":"@flowfuse/nr-launcher","version":"2.13.1-37cb723-202501161010.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.13.1-37cb723-202501161010.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"974a9ac911ddf45c8cfaa8b77878bcdf3641d1c3","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.13.1-37cb723-202501161010.0.tgz","fileCount":41,"integrity":"sha512-KN9c4zbj4l5jjbbMztJ5OXRtfb+oLE8uYLGjkey8iDYEb+tmtc6Awk9ACJ53vgLfQuQydt8QpolXLRJNmwbDYQ==","signatures":[{"sig":"MEUCIHwlJN2TgQA0hM2abSKJjVbQzM7oehpkc6v5B7SGOh+iAiEAq0I8M/Y+V9xrkzpyyxZ0hhM1+b1fUdkshYmyHuuPLBk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":571693},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"37cb723f53ea28b2ae49d63d2c6e6e9b49a69b7c","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-559f1da-202501101505.0","@flowfuse/nr-file-nodes":"0.0.9-1e6a163-202412191018.0","@flowfuse/nr-project-nodes":"0.7.5-1fb7208-202412091856.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.13.1-37cb723-202501161010.0_1737022254395_0.8796399594799722","host":"s3://npm-registry-packages-npm-production"}},"2.13.0":{"name":"@flowfuse/nr-launcher","version":"2.13.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.13.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"5dca1ef40dc69f3234ae76cb19cc3b31e097ae65","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.13.0.tgz","fileCount":41,"integrity":"sha512-8EIH9CdRVWdYauYu56iAn42iMnSnglbV0q6M6eflmVC9ZP3OnClOne2ISCsmaXBxEJR5vA3c9Zk94rz9jFWn+g==","signatures":[{"sig":"MEUCICA66CT3mmpqhNTIMnbnoCFWEilFEHjaxk107K2Z9HLhAiEAwn0bIcHR0KPXEw0bNd5ky501jZDqvOY41sLnsT0JeXk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":571604},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"37cb723f53ea28b2ae49d63d2c6e6e9b49a69b7c","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"^0.1.3","@flowfuse/nr-file-nodes":"^0.0.8","@flowfuse/nr-project-nodes":"^0.7.4","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.13.0_1737022269502_0.392021821433997","host":"s3://npm-registry-packages-npm-production"}},"2.13.1-ddcf488-202502121639.0":{"name":"@flowfuse/nr-launcher","version":"2.13.1-ddcf488-202502121639.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.13.1-ddcf488-202502121639.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"4a81266b88aec057d529f9c247be868e9f67a385","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.13.1-ddcf488-202502121639.0.tgz","fileCount":41,"integrity":"sha512-Mo+1AW0vwYcCAvHN14mTw2vqpaH6XJ/cW2Bbzb1PuiXzQhkTnDxN4eL8muJhkBMrpgrBEXvh1SVFlVQnantFSA==","signatures":[{"sig":"MEUCIHhOP5ow/0sW9nCJ/CoOcXbOO1y43wT4ycrPAgoNN3ADAiEA+lYLe0mFrfwavnUoQgADx3WBrmuJo9+aoMR40FWfKsw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":571841},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"ddcf488c7e6f9184e4436e2506b3990c5f303bf4","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-559f1da-202501101505.0","@flowfuse/nr-file-nodes":"0.0.9-1e6a163-202412191018.0","@flowfuse/nr-project-nodes":"0.7.5-1fb7208-202412091856.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.13.1-ddcf488-202502121639.0_1739378364083_0.5523280041530416","host":"s3://npm-registry-packages-npm-production"}},"2.14.1-d724ae4-202502131018.0":{"name":"@flowfuse/nr-launcher","version":"2.14.1-d724ae4-202502131018.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.14.1-d724ae4-202502131018.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"300580221d87651a5c051084b7471ae78d6be504","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.14.1-d724ae4-202502131018.0.tgz","fileCount":41,"integrity":"sha512-c2GX6XVZK8f87tLP3orHCyc0MC9IqHNbMWr+kVJQGGaowRg/aPkVGFVjtG6YfuYdisrDmbIqvgbJBHINXLEhaA==","signatures":[{"sig":"MEYCIQC+3nvaN5aDW+p/mhpAh1sUDKwP/n4tyQKLWwCnDxyjGAIhAL+/NoDRnByuNfAU8GAGW96OjseHdeEgGwHOdF0J8LmR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":571914},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"d724ae4733646ad3b6580ecc4d8345db4f5ad38f","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-559f1da-202501101505.0","@flowfuse/nr-file-nodes":"0.0.9-1e6a163-202412191018.0","@flowfuse/nr-project-nodes":"0.7.5-1fb7208-202412091856.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.14.1-d724ae4-202502131018.0_1739441929780_0.46239473025568745","host":"s3://npm-registry-packages-npm-production"}},"2.14.0":{"name":"@flowfuse/nr-launcher","version":"2.14.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.14.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"23dd4953f15bfe735417ed0aad4f6493b50d8ff6","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.14.0.tgz","fileCount":41,"integrity":"sha512-AJ/KCulkog2doCzJxwvn0jPi7/69Y66z9/NPXJ6LxoY8MRKZEN40+N0onbCUJGeCFdENbEHH5hYan4QLytVRUg==","signatures":[{"sig":"MEUCIQDk5uNTpgKij9ONDZVeZdjSZEFozPm4p3xYYYizRIdqkAIgBvJRDdlgw+2jVSUXPRyAklwFYG/hCuXli3aCviE1C3o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":571825},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"d724ae4733646ad3b6580ecc4d8345db4f5ad38f","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"^0.1.3","@flowfuse/nr-file-nodes":"^0.0.8","@flowfuse/nr-project-nodes":"^0.7.4","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.14.0_1739441939400_0.4372046586067435","host":"s3://npm-registry-packages-npm-production"}},"2.14.1-3b93b2c-202502140941.0":{"name":"@flowfuse/nr-launcher","version":"2.14.1-3b93b2c-202502140941.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.14.1-3b93b2c-202502140941.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"e4fa4c2c4e37a7224d4b0c49b63690c54c336308","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.14.1-3b93b2c-202502140941.0.tgz","fileCount":41,"integrity":"sha512-OznzNjwcteO4yHDl+QUXAXN2Q+4mpLQVI3pYdDwX1fnfVEt62SZZy2yeOHhezerBux17k1I5I67/nOZ9Da1B9Q==","signatures":[{"sig":"MEYCIQDNP8hL9U1B4ZzPtal64cy1ual++smk4Ckz93uueAPFigIhAOdDleSKTSH5/o2HiyyzF1jVU9bRONX2028yr8WXi84z","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":571914},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"3b93b2c829486d4a3f228ab8f0f16e305a3f135f","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-559f1da-202501101505.0","@flowfuse/nr-file-nodes":"0.0.9-1e6a163-202412191018.0","@flowfuse/nr-project-nodes":"0.7.5-1fb7208-202412091856.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.14.1-3b93b2c-202502140941.0_1739526081390_0.0027480601479101807","host":"s3://npm-registry-packages-npm-production"}},"2.14.1-92f852a-202502141631.0":{"name":"@flowfuse/nr-launcher","version":"2.14.1-92f852a-202502141631.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.14.1-92f852a-202502141631.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"dccf1d6df98b0027d58247d3a4feb3a7aafec4ba","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.14.1-92f852a-202502141631.0.tgz","fileCount":41,"integrity":"sha512-muLxJrIQHpVJlSZuD0w1sDP5hjNSc0mob9QmKI94GJoG2lBS7iB2crfLmtkcsIm8PR2qUWK0At14LXgCUGm4tQ==","signatures":[{"sig":"MEQCIEvjUckZXfmKZbvPj/PPGIFTfsXEHUic9B6xvKecVWtUAiBTeF2+cAZ1w9QVSmkO6X7R2n0CDttX7ZFlcnjrx66xjQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":572298},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"92f852a498a3a9e1552150bd26707b39e270efe5","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-559f1da-202501101505.0","@flowfuse/nr-file-nodes":"0.0.9-1e6a163-202412191018.0","@flowfuse/nr-project-nodes":"0.7.5-1fb7208-202412091856.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.14.1-92f852a-202502141631.0_1739550723496_0.5105092524647172","host":"s3://npm-registry-packages-npm-production"}},"2.14.2-9b7518b-202502170954.0":{"name":"@flowfuse/nr-launcher","version":"2.14.2-9b7518b-202502170954.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.14.2-9b7518b-202502170954.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"f21179f8b4b8443c50d48566d68128a63199acba","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.14.2-9b7518b-202502170954.0.tgz","fileCount":41,"integrity":"sha512-9gFS4yIHkHx36ALww+JTm04AHfikOcWOHi9uG5mBDCu8rTOg0ZmoxsKDizkOYyjRvoGqEvNd0JEWe2lXAdl6jA==","signatures":[{"sig":"MEUCIDtva9lWDitz7dIvC+YgZvfwct4q1CyIyVgRkagwyvRtAiEArYXFX7fMaXD+j3eS/RwmKGRiMsKs9SS1DgssI9HnJmg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":572447},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"9b7518ba27a655a9df57442236e2799379ef1c01","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-559f1da-202501101505.0","@flowfuse/nr-file-nodes":"0.0.9-1e6a163-202412191018.0","@flowfuse/nr-project-nodes":"0.7.5-1fb7208-202412091856.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.14.2-9b7518b-202502170954.0_1739786099305_0.7454158524614125","host":"s3://npm-registry-packages-npm-production"}},"2.14.1":{"name":"@flowfuse/nr-launcher","version":"2.14.1","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.14.1","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"6bc1b1530d329d2472e1a401dd292bcc64ca876c","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.14.1.tgz","fileCount":41,"integrity":"sha512-5TK6G7SB3s8Fy6hYoR1Ohjc/gAfRdc8pdZheJLV9oMrlRHJI/oZMgtSr/eerRoVIV1ko/m3DAzpQ6xn+Lr1J/Q==","signatures":[{"sig":"MEQCIB61Kg4OkpQcxDEKEyG3cSvDD1DLPzXG16TkeZs60+i6AiAprkj0dnydHjwsIswhG5xUAa+/n0eqwadNMWsJnsgmFg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":572358},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"9b7518ba27a655a9df57442236e2799379ef1c01","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"^0.1.3","@flowfuse/nr-file-nodes":"^0.0.8","@flowfuse/nr-project-nodes":"^0.7.4","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.14.1_1739786122276_0.37603045322653705","host":"s3://npm-registry-packages-npm-production"}},"2.14.2-9b7518b-202502181639.0":{"name":"@flowfuse/nr-launcher","version":"2.14.2-9b7518b-202502181639.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.14.2-9b7518b-202502181639.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"07d4c543208b4ab80ff33a1dc94497491ca298ee","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.14.2-9b7518b-202502181639.0.tgz","fileCount":41,"integrity":"sha512-6auZv7y3qkSKqzEbvUw2AYOeFgBhKUTV6ltHctkWjqxSZsL/PwlT7p8HkTtURYTJyaFNvzQYBSgXB0U6uA5IrA==","signatures":[{"sig":"MEYCIQCHkzd8P6EfXbJ73wRSIjv4TkEei3oj+zeQ3EDXCpl11AIhANTQIHmmPyty10YYlke8TLRZUaD6CloGoPKNH1Ir+eo6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":572447},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"9b7518ba27a655a9df57442236e2799379ef1c01","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-559f1da-202501101505.0","@flowfuse/nr-file-nodes":"0.0.9-f097b7e-202502181638.0","@flowfuse/nr-project-nodes":"0.7.5-1fb7208-202412091856.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.14.2-9b7518b-202502181639.0_1739896784495_0.5835546446626825","host":"s3://npm-registry-packages-npm-production"}},"2.14.2-9b7518b-202502200858.0":{"name":"@flowfuse/nr-launcher","version":"2.14.2-9b7518b-202502200858.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.14.2-9b7518b-202502200858.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"3a64e48e323c572990a9f350efa514aa01cd9e1d","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.14.2-9b7518b-202502200858.0.tgz","fileCount":41,"integrity":"sha512-1IQUx9ZZwpxneudKht8zGQweR9PaUD0/1iABXGc2oAYjatwuQx5eOoX/IWfwh+yE7xppVrE6zFP1cGGPQxbtlQ==","signatures":[{"sig":"MEUCIDZ69zT6HlomLuUEkjduzOac2D0ca9kDRBxJd5MMPqBfAiEAuyvg2KX/eu5gxDxQoP6TdMhjGb5E9CfKdAWNRMggPUI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":572447},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"9b7518ba27a655a9df57442236e2799379ef1c01","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-559f1da-202501101505.0","@flowfuse/nr-file-nodes":"0.0.9-f097b7e-202502181638.0","@flowfuse/nr-project-nodes":"0.7.5-c692e61-202502200857.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.14.2-9b7518b-202502200858.0_1740041914138_0.355045984457109","host":"s3://npm-registry-packages-npm-production"}},"2.14.2-53fd496-202503051813.0":{"name":"@flowfuse/nr-launcher","version":"2.14.2-53fd496-202503051813.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.14.2-53fd496-202503051813.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"1d27f5c52227c392ac88fca5669461a200ded59e","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.14.2-53fd496-202503051813.0.tgz","fileCount":41,"integrity":"sha512-EitvhDmTtrwoPXO5ViSWjAo9N4jTz9qIS1IatKt7o/Pf48vwOy6+cAYD3foSzYKAlSfxqaqNVb/pAHoesYobZQ==","signatures":[{"sig":"MEUCIE4w3y9Cr2EbR5w+KnPOHQ6bHVs69GuTJhHMAJhxmdatAiEApa29xq62u7h23sjS180HgqbberCbFlGdvyLJHXA08x8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":573753},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"53fd49678788c8e8d9281321300c8ba131e4ab65","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.7","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-559f1da-202501101505.0","@flowfuse/nr-file-nodes":"0.0.9-f097b7e-202502181638.0","@flowfuse/nr-project-nodes":"0.7.5-c692e61-202502200857.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.14.2-53fd496-202503051813.0_1741198396236_0.7136927155400248","host":"s3://npm-registry-packages-npm-production"}},"2.15.1-48a41d3-202503131046.0":{"name":"@flowfuse/nr-launcher","version":"2.15.1-48a41d3-202503131046.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.15.1-48a41d3-202503131046.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"f269b904d412016a30325af33c69f932f15e2320","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.15.1-48a41d3-202503131046.0.tgz","fileCount":41,"integrity":"sha512-k0aAoURefe+9csj0MLMKs5u2iAXKWxzgQnS1xbMxabrxmQRG/uB3ih7zXX06LEVmNdHUQWTy8ROPtBqLb4soYQ==","signatures":[{"sig":"MEUCIBikB4njiZUpNsP7+SUhZ23D/W3aheP/W/xrEbXnYxM6AiEAwLoKBctx+eGuCgwl0n9RDPaMMWS9WbMq14+GktACobA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":573853},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"48a41d383950fda072946daad15b68baeb8e0881","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.7","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-559f1da-202501101505.0","@flowfuse/nr-file-nodes":"0.0.9-f097b7e-202502181638.0","@flowfuse/nr-project-nodes":"0.7.5-c692e61-202502200857.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.15.1-48a41d3-202503131046.0_1741862771148_0.4650242847857411","host":"s3://npm-registry-packages-npm-production"}},"2.15.0":{"name":"@flowfuse/nr-launcher","version":"2.15.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.15.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"7477101b6bcb98ff27f703bd7bcc373995efa1fd","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.15.0.tgz","fileCount":41,"integrity":"sha512-ZEpoGF7C7hKmTgMoVm96PdUO1vP1gN/GIqqXDNUrZhhEPuESnK/sbVK5UxiPHyYkkQg0KTyJzZrJqABEyQ8w7g==","signatures":[{"sig":"MEUCIH/S2W87bxTqyUxfKcYB//2oOL2tA+EA7sQgkkIwUK7aAiEAtrbmkfxDQyN3irXR9cm0CnApXp/yFa2Dmqq/9v5HPa8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":573764},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"48a41d383950fda072946daad15b68baeb8e0881","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"knolleary","email":"nick.oleary@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.7","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"^0.1.3","@flowfuse/nr-file-nodes":"^0.0.8","@flowfuse/nr-project-nodes":"^0.7.4","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.15.0_1741862774975_0.39413392982410933","host":"s3://npm-registry-packages-npm-production"}},"2.15.1-48a41d3-202503250945.0":{"name":"@flowfuse/nr-launcher","version":"2.15.1-48a41d3-202503250945.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.15.1-48a41d3-202503250945.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"1298873164bde08e11ee371b8bf95ab82dfb892c","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.15.1-48a41d3-202503250945.0.tgz","fileCount":41,"integrity":"sha512-9kPgZWD/bOpz/n3sWiQgYcRg+V0k9QZdFDQgh7Wz7w3EFVNz85QvLIvp4TIE2Rw+pD953jJJmkcL12tc8VkZpg==","signatures":[{"sig":"MEQCIC6CNgJF7lqgCgF/ThTjSyL8nwg4HFPa7yaLI9znd6+cAiBG+on47I4yaJ2f/loQfcGe1oYxCqcIE815dro+Um5teg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":573853},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"48a41d383950fda072946daad15b68baeb8e0881","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.7","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-b286c19-202503250944.0","@flowfuse/nr-file-nodes":"0.0.9-f097b7e-202502181638.0","@flowfuse/nr-project-nodes":"0.7.5-c692e61-202502200857.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.15.1-48a41d3-202503250945.0_1742895951986_0.7557940648446189","host":"s3://npm-registry-packages-npm-production"}},"2.15.1-48a41d3-202503251001.0":{"name":"@flowfuse/nr-launcher","version":"2.15.1-48a41d3-202503251001.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.15.1-48a41d3-202503251001.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"5b95e46f3df01fb83787e349c7436de6dce13a1a","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.15.1-48a41d3-202503251001.0.tgz","fileCount":41,"integrity":"sha512-FXZO0mqY2MZptqL6Qru9tzNlOHZCscFfz9CGb1C+RjtnQyAiE9j3nQd32QNJC/eykvyWAR/N1dll4G6rmWgRXQ==","signatures":[{"sig":"MEQCIFQI7jpAh1n/YmLO2TwoIeM2L7OpC79gXCMuL++XdnpqAiBwPXBfvAJZ+xmx5usvo30Yvdf+74f9WLhayJnOXrF75g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":573853},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"48a41d383950fda072946daad15b68baeb8e0881","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.7","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-b286c19-202503250944.0","@flowfuse/nr-file-nodes":"0.0.9-75ac7e7-202503251000.0","@flowfuse/nr-project-nodes":"0.7.5-c692e61-202502200857.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.15.1-48a41d3-202503251001.0_1742896895469_0.9516689396799587","host":"s3://npm-registry-packages-npm-production"}},"2.15.1-48a41d3-202503251009.0":{"name":"@flowfuse/nr-launcher","version":"2.15.1-48a41d3-202503251009.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.15.1-48a41d3-202503251009.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"0f9d9da42a376cdf18b82ae26b05492380432e5b","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.15.1-48a41d3-202503251009.0.tgz","fileCount":41,"integrity":"sha512-3m+A0k4KhACEWJ9Igrk6tDQCoeWPPFWtkq1rZVeEwNqolIcS4r7kQ0Pn74r9+XpBVv8LQNLHNJcin0SQQJ4pcw==","signatures":[{"sig":"MEUCIQDQzLnplVsKVFmi+uI7GpMuFMxOsBJIJmO8xElXOK/fJQIgWh7T9/HxIER1iO6rDnpy/Q464vax5gVVvSd/gTl8EwM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":573853},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"48a41d383950fda072946daad15b68baeb8e0881","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.7","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-b286c19-202503250944.0","@flowfuse/nr-file-nodes":"0.0.9-75ac7e7-202503251000.0","@flowfuse/nr-project-nodes":"0.7.5-b103c9d-202503251008.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.15.1-48a41d3-202503251009.0_1742897362930_0.1978592635496479","host":"s3://npm-registry-packages-npm-production"}},"2.15.1-036d714-202503251009.0":{"name":"@flowfuse/nr-launcher","version":"2.15.1-036d714-202503251009.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.15.1-036d714-202503251009.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"1e710296c87ad69fc6dce020e912789f624467be","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.15.1-036d714-202503251009.0.tgz","fileCount":41,"integrity":"sha512-GiXZj5OkKL3ZLn+Q1xHGBAZRnCzkoNoinzXgg5nMFuS6knQh0OnymoAZnv8ztBRnh/nKOh2fYv+Db9LlrE2RfQ==","signatures":[{"sig":"MEYCIQCSy85o0z/xqfxe2na9m/eybMcvR6+T5DmHuBOulJY6mQIhAMSSzTDj7pUdTvliO/rgd/IAVju65mnKc7CXs5R2ELMj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":573853},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"036d71456ba4b73ae97d072d94cd25013fc4f595","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.7","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-b286c19-202503250944.0","@flowfuse/nr-file-nodes":"0.0.9-75ac7e7-202503251000.0","@flowfuse/nr-project-nodes":"0.7.5-b103c9d-202503251008.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.15.1-036d714-202503251009.0_1742897399291_0.5829453801593456","host":"s3://npm-registry-packages-npm-production"}},"2.15.1-036d714-202503251613.0":{"name":"@flowfuse/nr-launcher","version":"2.15.1-036d714-202503251613.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.15.1-036d714-202503251613.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"4e21f73d75f5b31ac29ba321e73b9e49cdb83932","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.15.1-036d714-202503251613.0.tgz","fileCount":41,"integrity":"sha512-d6mxVtMmTAk0i3AZx2hPt/yGXPK5sO78OS9b/JMNtF0WvJzHszRoXH4MlOLypQK+IIRyt+syvrGutK5rVh5HxA==","signatures":[{"sig":"MEQCHwia4j2vkb61Wj2HylFdTg/bkrlS2YOL9aYrDrMoftQCIQCJAbAP5GLQN3OwMZrEmeOKo3DXRbTRcg4Zq2BGyl629A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":573853},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"036d71456ba4b73ae97d072d94cd25013fc4f595","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.7","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-b286c19-202503250944.0","@flowfuse/nr-file-nodes":"0.0.9-34c1a3c-202503251612.0","@flowfuse/nr-project-nodes":"0.7.5-b103c9d-202503251008.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.15.1-036d714-202503251613.0_1742919190619_0.8812666160412079","host":"s3://npm-registry-packages-npm-production"}},"2.15.1-036d714-202503251614.0":{"name":"@flowfuse/nr-launcher","version":"2.15.1-036d714-202503251614.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.15.1-036d714-202503251614.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"181b0ef5a4c619035911a7b524d037a4c3bdd1b2","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.15.1-036d714-202503251614.0.tgz","fileCount":41,"integrity":"sha512-VX1NS7sIlLaPjx05VJxc1botCF69lJmYC+LOJXhUgeZzb46OoUpnG4VNS2VoFawJwZ6fOQBnMciJbIWQyQ36vg==","signatures":[{"sig":"MEYCIQCsU0TuJxROYjC+9paHv3R04o/pEpBhrN0BVigHOi6JkwIhAM3OiK/euyRbGVc94DULoolymnyx9MVR4Mhihud+5+ue","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":573853},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"036d71456ba4b73ae97d072d94cd25013fc4f595","scripts":{"lint":"eslint -c .eslintrc *.js lib/**/*.js test/**/*.js","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc *.js lib/*.js test/**/*.js --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.7","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-b286c19-202503250944.0","@flowfuse/nr-file-nodes":"0.0.9-34c1a3c-202503251612.0","@flowfuse/nr-project-nodes":"0.7.5-696408f-202503251613.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.15.1-036d714-202503251614.0_1742919274270_0.35048048411968225","host":"s3://npm-registry-packages-npm-production"}},"2.15.1-0e7e2a6-202504011636.0":{"name":"@flowfuse/nr-launcher","version":"2.15.1-0e7e2a6-202504011636.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.15.1-0e7e2a6-202504011636.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"aece15911a5db8534442b56f4b02da498fc5268e","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.15.1-0e7e2a6-202504011636.0.tgz","fileCount":41,"integrity":"sha512-f7h7OrU4m1Qx5aPd02ZIeodzLSvA4HBYaua+KVreDvd1aWTrVimTKMjNxZYTssVW3YMV/nywafTyO5r+BkDzsw==","signatures":[{"sig":"MEYCIQDyAn22RzINRSx9nYyjfTZJcer/+npfK+Qtuu2HbMvmMQIhAPGBya4+7cP/06JwfnH9i5tYelHWrnVQ/d1aqqRFMtY5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":573877},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"0e7e2a614dfb8703bbbac99eae4c0e02ef37e5f5","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-b286c19-202503250944.0","@flowfuse/nr-file-nodes":"0.0.9-34c1a3c-202503251612.0","@flowfuse/nr-project-nodes":"0.7.5-696408f-202503251613.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.15.1-0e7e2a6-202504011636.0_1743525408951_0.03232800869876007","host":"s3://npm-registry-packages-npm-production"}},"2.15.1-944d84b-202504021310.0":{"name":"@flowfuse/nr-launcher","version":"2.15.1-944d84b-202504021310.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.15.1-944d84b-202504021310.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"75a1b5b9afa3b3ddddda476acdc6eb494b647c93","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.15.1-944d84b-202504021310.0.tgz","fileCount":41,"integrity":"sha512-vB4bOV9l3eWwj9ZETJmVGZPYYunkcEojFm7YEvZjlrRPjFFFBKCPrDlMuYFrU+7LcBCyu8YuaARbDwl5+F73CA==","signatures":[{"sig":"MEUCIEEpb536JmZ21ZePMIlpklO6Wet0Ydnv0wC4VaITS7dhAiEAufGlCIeXQexh8jtAXFkEgOmwFL+85eovoSYuBdqPEa0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":573877},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"944d84b19e5d828af991abfcf24fd299bb097c28","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-b286c19-202503250944.0","@flowfuse/nr-file-nodes":"0.0.9-34c1a3c-202503251612.0","@flowfuse/nr-project-nodes":"0.7.5-696408f-202503251613.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.15.1-944d84b-202504021310.0_1743599423391_0.044849444242142544","host":"s3://npm-registry-packages-npm-production"}},"2.15.1-944d84b-202504040810.0":{"name":"@flowfuse/nr-launcher","version":"2.15.1-944d84b-202504040810.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.15.1-944d84b-202504040810.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"ac8715359bbd1ae4ccd492a1ae7cb42412c0d42f","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.15.1-944d84b-202504040810.0.tgz","fileCount":41,"integrity":"sha512-xXaaSci9L+5wufdXctxsrn4/TPwedKM+jXhLoVpIdPRsFYyazFpUMjW0yUM+Sy/1UBdx5ZiLQHvEsZT4OBgrnQ==","signatures":[{"sig":"MEYCIQC5W/GFALlXRcul0cl1+wQobvhE1MwjlllNOPR9SYsJBwIhAMaNI/LiMeBQi3aAzpt2iYJqx2+s/xq/+3uFD90dODXI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":573877},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"944d84b19e5d828af991abfcf24fd299bb097c28","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.7","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-b0b916a-202504040809.0","@flowfuse/nr-file-nodes":"0.0.9-34c1a3c-202503251612.0","@flowfuse/nr-project-nodes":"0.7.5-696408f-202503251613.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.15.1-944d84b-202504040810.0_1743754219096_0.2955140154582063","host":"s3://npm-registry-packages-npm-production"}},"2.15.1-944d84b-202504041532.0":{"name":"@flowfuse/nr-launcher","version":"2.15.1-944d84b-202504041532.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.15.1-944d84b-202504041532.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"edba95dd4d0c31b797f4da47071b07b2fc33e96d","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.15.1-944d84b-202504041532.0.tgz","fileCount":41,"integrity":"sha512-hSXndwCavPdb7WYJBGeZUA4aJ7MYQpStKajYQVajNSPDikgLeirea0LWZNZPXoUkcS2aElNqNvBVlMECuY7whw==","signatures":[{"sig":"MEUCICtjlBoE86aKhfDwAm3dTw1XtH1pT6xHyH5pQOUkfB6mAiEArnfixUyT/YX9nlNDPR5AX9P7XqdL8tcr9ag05L1H9ss=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":573877},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"944d84b19e5d828af991abfcf24fd299bb097c28","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.7","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-b0b916a-202504040809.0","@flowfuse/nr-file-nodes":"0.0.9-315b381-202504041531.0","@flowfuse/nr-project-nodes":"0.7.5-5761faf-202504041531.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.15.1-944d84b-202504041532.0_1743780736739_0.0556122600538318","host":"s3://npm-registry-packages-npm-production"}},"2.15.1-9ba80c1-202504081440.0":{"name":"@flowfuse/nr-launcher","version":"2.15.1-9ba80c1-202504081440.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.15.1-9ba80c1-202504081440.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"7e9f3043deb8f292dd5da89c7e1a7c8afbe31ac6","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.15.1-9ba80c1-202504081440.0.tgz","fileCount":41,"integrity":"sha512-hVbfTBfAzNPSG0tfDSIe+DcxIak8Uu/k1cK9k3uOZQw3ryMKqPjl9H3PHjd/9EOWXPDhdH0HtZmY85rA36QQuw==","signatures":[{"sig":"MEUCIC+TSh24e1Elunhrer8rq6ket9Q1RlX7QYFUkmxcVfEWAiEAlKO0T3l+dysapHOR0gd6QKFZo840pemGzaKtzWEg/Ag=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":577199},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"9ba80c1e0cd344df76ca72badd2725ff145faceb","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.7","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-b0b916a-202504040809.0","@flowfuse/nr-file-nodes":"0.0.9-315b381-202504041531.0","@flowfuse/nr-project-nodes":"0.7.5-5761faf-202504041531.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.15.1-9ba80c1-202504081440.0_1744123213661_0.7372187285741134","host":"s3://npm-registry-packages-npm-production"}},"2.16.0":{"name":"@flowfuse/nr-launcher","version":"2.16.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.16.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"184b06a171f6eaab50f529fbefcc709fe29d5af9","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.16.0.tgz","fileCount":41,"integrity":"sha512-dVdSU7ZjwxzhXCQ8QflfJ35rbFNFx668mxLUViu3TczQBOkafnvSPvZ5O83YOHqHCrgbFC+gKSAFm37pXWO+sQ==","signatures":[{"sig":"MEYCIQDEA4/VK7lEpY1BE7Viuz8Elu5L9iClYaA8u8fV7GXoSQIhAPaw0IYAWxxQp9BFNhriFX0G7FVpB/EFiqERxCulp25y","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":577378},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"65c35223fe00422e24e50fe81a7925d62a77e381","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"^0.1.3","@flowfuse/nr-file-nodes":"^0.0.8","@flowfuse/nr-project-nodes":"^0.7.4","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.16.0_1744276419937_0.05342321179175369","host":"s3://npm-registry-packages-npm-production"}},"2.16.1-65c3522-202504100913.0":{"name":"@flowfuse/nr-launcher","version":"2.16.1-65c3522-202504100913.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.16.1-65c3522-202504100913.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"fed200f6bff72b98ba4ab93f7559ca0a990d9bb2","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.16.1-65c3522-202504100913.0.tgz","fileCount":41,"integrity":"sha512-oArrFfx7YC21ui20YKe+KKggNWnHsw+vLrAro6ODL3+AqHUXvaYDYCt/8F+HR174WFah+Hc3CMPbBxs5C+4mXA==","signatures":[{"sig":"MEUCIDuyWV1cH0agYc9w75KyfM6YJuB9SrLgsBUUUSNM2nUCAiEAqkA425/RagFxiD8hs96utk1Bl2dM1Brgk8sTMXJDuTU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":577467},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"65c35223fe00422e24e50fe81a7925d62a77e381","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-b0b916a-202504040809.0","@flowfuse/nr-file-nodes":"0.0.9-315b381-202504041531.0","@flowfuse/nr-project-nodes":"0.7.5-5761faf-202504041531.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.16.1-65c3522-202504100913.0_1744276425277_0.6897418957587811","host":"s3://npm-registry-packages-npm-production"}},"2.16.1-65c3522-202504140624.0":{"name":"@flowfuse/nr-launcher","version":"2.16.1-65c3522-202504140624.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.16.1-65c3522-202504140624.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"57c8083525d3ce084934c5a488dcfb064e2de516","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.16.1-65c3522-202504140624.0.tgz","fileCount":41,"integrity":"sha512-2ry54FcuonQ2SiQEv8GQPizUgKUonjzjprcmiESH6/0+Nf1emcLgV8g58a9l9i3M56iB0WzPm9bnUAkwzdlYzA==","signatures":[{"sig":"MEYCIQCFC5aks8VlK0q4DzrsziOQ4v8uEhioG1eMuCpZUIg7YQIhAOM7tdMSTBCXFLbkyCAF2PEnueMA0U+aXNO/cVMrI9O1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":577467},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"65c35223fe00422e24e50fe81a7925d62a77e381","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-cba1235-202504140623.0","@flowfuse/nr-file-nodes":"0.0.9-315b381-202504041531.0","@flowfuse/nr-project-nodes":"0.7.5-5761faf-202504041531.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.16.1-65c3522-202504140624.0_1744611867174_0.36527129945362624","host":"s3://npm-registry-packages-npm-production"}},"2.16.1-65c3522-202504141227.0":{"name":"@flowfuse/nr-launcher","version":"2.16.1-65c3522-202504141227.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.16.1-65c3522-202504141227.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"d72f8c47fb171189b68b8bf4e5df718b9c7f8878","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.16.1-65c3522-202504141227.0.tgz","fileCount":41,"integrity":"sha512-4hmt2iCRBILUPi06qpp45iMKTtKDMvhR8pq4CrqXSi8z8WKz5rFpVJlk+R4x7/M69yWw+H01LDjCxJ1GtcPYQQ==","signatures":[{"sig":"MEYCIQC8aJ10FxUaJ+eVKmiqXJYXW/K0RxnlsUkQZbbSs1p/UAIhAPkpse0ZApfvBJ/zwctoJQQgGGusM84B6JjNWYTvSEqs","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":577467},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"65c35223fe00422e24e50fe81a7925d62a77e381","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-cba1235-202504140623.0","@flowfuse/nr-file-nodes":"0.0.9-315b381-202504041531.0","@flowfuse/nr-project-nodes":"0.7.5-f7aad69-202504141227.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.16.1-65c3522-202504141227.0_1744633679831_0.09263965435556298","host":"s3://npm-registry-packages-npm-production"}},"2.16.1-65c3522-202504141657.0":{"name":"@flowfuse/nr-launcher","version":"2.16.1-65c3522-202504141657.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.16.1-65c3522-202504141657.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"7fb69b3b06d138ca845887f1c4cebc4d74d6646a","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.16.1-65c3522-202504141657.0.tgz","fileCount":41,"integrity":"sha512-KzBl+lgoLNFxM5K1G/19h/RFFw09sVuRo8naZh4sti48munTM7K7DIppvFzXpOGxxLLNZEQyWufHA2+wvusnOA==","signatures":[{"sig":"MEQCIGXknktbMENo9rMbzP7GIY9id5zPZoU+25/XXG5Q/dt/AiAzDGNFnpk+WsoINDJJI8zcSoz4gE8nm7pwzCPWfV/zVA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":577467},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"65c35223fe00422e24e50fe81a7925d62a77e381","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-cba1235-202504140623.0","@flowfuse/nr-file-nodes":"0.0.9-d6fac30-202504141656.0","@flowfuse/nr-project-nodes":"0.7.5-f7aad69-202504141227.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.16.1-65c3522-202504141657.0_1744649827862_0.3842951352105024","host":"s3://npm-registry-packages-npm-production"}},"2.16.1-c4da47b-202504150617.0":{"name":"@flowfuse/nr-launcher","version":"2.16.1-c4da47b-202504150617.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.16.1-c4da47b-202504150617.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"d73097d91060e89ced965abe40f1b0a979cb2723","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.16.1-c4da47b-202504150617.0.tgz","fileCount":41,"integrity":"sha512-n8wQuTSyH3wNJHEknpjTbrYWIeZGZCca5wCyqBRncREFfUh0sLRqqOPRj9IlELcX2dSTsIDSWXZkhuZh4GoRVw==","signatures":[{"sig":"MEUCIQCIt80iMVwUih8vEDsO5FDt3SA88gDL05nywdMBs8G+HgIgUOczAMiwK+2iSCI8PPH1bYoxNBQC4UKp5mRSHwehNNA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":577467},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"c4da47b5654ecc46a08932b8e2035e594cdeb74d","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-cba1235-202504140623.0","@flowfuse/nr-file-nodes":"0.0.9-d6fac30-202504141656.0","@flowfuse/nr-project-nodes":"0.7.5-f7aad69-202504141227.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.16.1-c4da47b-202504150617.0_1744697864150_0.35680933461108655","host":"s3://npm-registry-packages-npm-production"}},"2.16.1-e5e5139-202504301540.0":{"name":"@flowfuse/nr-launcher","version":"2.16.1-e5e5139-202504301540.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.16.1-e5e5139-202504301540.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"0bf3434dc3d1330b61b11ff46005c4aa912bae30","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.16.1-e5e5139-202504301540.0.tgz","fileCount":41,"integrity":"sha512-MgVQCzaAAhbaT+v4CHzNLnRQ+xKILA9tiekWms+viFKT1IabqfaxQcuGznkP9wf8gU+lCV4wldlgr/S1znI5YQ==","signatures":[{"sig":"MEUCIQCIzs9W71j9w8GtM5CR3M+LMbWS68FsY7vAQUDC0V65vQIgF395v8ihRDWFRoz1zvyz1aci+EC4UjtSZcEOMC39ly8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587184},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"e5e5139c00dda7170b9e4e7afc96d5d22f131ff1","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-cba1235-202504140623.0","@flowfuse/nr-file-nodes":"0.0.9-d6fac30-202504141656.0","@flowfuse/nr-project-nodes":"0.7.5-f7aad69-202504141227.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.16.1-e5e5139-202504301540.0_1746027648374_0.8483662945949844","host":"s3://npm-registry-packages-npm-production"}},"2.16.1-e5e5139-202505051644.0":{"name":"@flowfuse/nr-launcher","version":"2.16.1-e5e5139-202505051644.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.16.1-e5e5139-202505051644.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"f39811f5482814fe0a0f7f7c048249f6b8026b4b","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.16.1-e5e5139-202505051644.0.tgz","fileCount":41,"integrity":"sha512-kvMN3LkI/M6TIw8WscizeU7r9aaGb+q0hf6Jn04LmlTmKTy+SVSxgzXUujBjGR68Vxis51flv4Ie/Pbc851jfA==","signatures":[{"sig":"MEQCIDVv+6y4wmz1nUrIaHOY5/dCEmcZg/iaL2JN+Rhd7c2QAiAjDyyRWUcT+HCD+a+ENi0pW24iRSjMPH+DGu9Pdsi1hA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587184},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"e5e5139c00dda7170b9e4e7afc96d5d22f131ff1","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-cba1235-202504140623.0","@flowfuse/nr-file-nodes":"0.0.9-d6fac30-202504141656.0","@flowfuse/nr-project-nodes":"0.7.5-9d6c680-202505051644.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.16.1-e5e5139-202505051644.0_1746463500286_0.5989480044584141","host":"s3://npm-registry-packages-npm-production"}},"2.17.0":{"name":"@flowfuse/nr-launcher","version":"2.17.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.17.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"05cf939e0d0e1d6c4d4b56d084d22220d8bd7bcf","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.17.0.tgz","fileCount":41,"integrity":"sha512-R4y40d783po1JmYr0qNiJ9QuCh2kjtEScJBHPZSeF++9QcWGpYNf87fuJriolf95FVfEt7feHmaXtCs3LnbfDw==","signatures":[{"sig":"MEUCIGZGTeaxqrlFoqWZ7mfFwkBEK5HxW0O3C+D3LQOvYos7AiEAkGQAWJMOr5b3dMFtAOMLIa8Sr8eZ+T8OCslO6CrezFs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587243},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"3d0851043443a4e477870141f5e0741617ab865d","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"^0.1.3","@flowfuse/nr-file-nodes":"^0.0.8","@flowfuse/nr-project-nodes":"^0.7.4","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.17.0_1746696916303_0.3874377661517989","host":"s3://npm-registry-packages-npm-production"}},"2.17.1-3e29caa-202505141115.0":{"name":"@flowfuse/nr-launcher","version":"2.17.1-3e29caa-202505141115.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.17.1-3e29caa-202505141115.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"f9e7cbff6a40434832fd10d54407c9134ed645e0","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.17.1-3e29caa-202505141115.0.tgz","fileCount":41,"integrity":"sha512-RxKRw5cHg/y2YatumjsjUHkJH0/Xt7XejVh+klnPWJdmGu3Jv9CKYn5piO0T/ksZBlfdPHMRvEdQbgeIcr3D/Q==","signatures":[{"sig":"MEUCIQCala4X/FlH2bYdaqM7DIdCMmcjBQ+MhqGOqMAHPOOlJgIgbwnNINgI2iTYXK1OaRbAO2U3kQekoibgBj9NoP21hBM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587695},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"3e29caa374c12c25f39dda8f2a1b452ae3b19f6a","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-cba1235-202504140623.0","@flowfuse/nr-file-nodes":"0.0.9-d6fac30-202504141656.0","@flowfuse/nr-project-nodes":"0.7.5-9d6c680-202505051644.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.17.1-3e29caa-202505141115.0_1747221353879_0.19445715785487572","host":"s3://npm-registry-packages-npm-production"}},"2.17.1-3e29caa-202505141124.0":{"name":"@flowfuse/nr-launcher","version":"2.17.1-3e29caa-202505141124.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.17.1-3e29caa-202505141124.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"b123af8540dc2080da80b422939fbdd03df5eff3","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.17.1-3e29caa-202505141124.0.tgz","fileCount":41,"integrity":"sha512-ZTFkLtG7MQQ57gh0fGWHcLkyRM5GMlBIKThjKq25Ydobh73TfNoucFYkzs88mwPuBa5Lbry6daSzyTa+qfNZsg==","signatures":[{"sig":"MEYCIQDpj6xJ2GI7xShcKrqlv8RjyuntQw7KOqpXkLwFf/PXIwIhAO9Z7eAogKA1WuO8/fW8H//VGro8/N5LqT/OT19uHB0I","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587695},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"3e29caa374c12c25f39dda8f2a1b452ae3b19f6a","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-cba1235-202504140623.0","@flowfuse/nr-file-nodes":"0.0.9-d6fac30-202504141656.0","@flowfuse/nr-project-nodes":"0.7.5-9d6c680-202505051644.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.17.1-3e29caa-202505141124.0_1747221872737_0.5568795077338975","host":"s3://npm-registry-packages-npm-production"}},"2.17.1-3e29caa-202505141240.0":{"name":"@flowfuse/nr-launcher","version":"2.17.1-3e29caa-202505141240.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.17.1-3e29caa-202505141240.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"efb6a462fdd4f33624162c9041d66ac5160c7dab","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.17.1-3e29caa-202505141240.0.tgz","fileCount":41,"integrity":"sha512-3D5WmZfyvzr+v5Unmg0GndZ7aU5IQ/zSsvlAOwYFj+SAja9+6+kOVrlJ5mz7ROEdAcMXTKs8f9bjb8FWjOHZDg==","signatures":[{"sig":"MEYCIQCnvQleImAyo5BSQV56PcbtAdWcQBSXo9YboDnGYK5SGQIhAO3fCDFdjEEQ+Jmykqt/AD4RoA4Sq3a6HG4wzuKNEzu8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587695},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"3e29caa374c12c25f39dda8f2a1b452ae3b19f6a","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-cba1235-202504140623.0","@flowfuse/nr-file-nodes":"0.0.9-d6fac30-202504141656.0","@flowfuse/nr-project-nodes":"0.7.5-9d6c680-202505051644.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.17.1-3e29caa-202505141240.0_1747226451400_0.4463439844496955","host":"s3://npm-registry-packages-npm-production"}},"2.17.1-3e29caa-202505141403.0":{"name":"@flowfuse/nr-launcher","version":"2.17.1-3e29caa-202505141403.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.17.1-3e29caa-202505141403.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"432e07d93a588464ca351d9a689b50679e5e77ac","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.17.1-3e29caa-202505141403.0.tgz","fileCount":41,"integrity":"sha512-PX6Dl3PSsG8n//mbcaGpMmcF7bVlEA0NUnOhWfmemnS7XDE8tX75Lokw3eXwmFk+omxL816axYxG3WHKuCznaQ==","signatures":[{"sig":"MEYCIQCtsfyYgKwkkE5PcMcryiBMWlrMxT3irxoFfKsuPZzlyAIhAN8SG6k/RW9AHva4eUiwh0qButDbT7CvayIHZj9IH/GX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587695},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"3e29caa374c12c25f39dda8f2a1b452ae3b19f6a","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^1.4.5-lts.1","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-cba1235-202504140623.0","@flowfuse/nr-file-nodes":"0.0.9-d6fac30-202504141656.0","@flowfuse/nr-project-nodes":"0.7.5-9d6c680-202505051644.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.17.1-3e29caa-202505141403.0_1747231438736_0.9182371862393877","host":"s3://npm-registry-packages-npm-production"}},"2.17.1-e862c84-202505271335.0":{"name":"@flowfuse/nr-launcher","version":"2.17.1-e862c84-202505271335.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.17.1-e862c84-202505271335.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"ffc5be24c9ae62e996b998ea94413f1966d7e1c2","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.17.1-e862c84-202505271335.0.tgz","fileCount":41,"integrity":"sha512-id1hGifuavrwnn2pE2JNc+kSbBqb+h7ZzhB3v56CI61hYEa1ejzHoHa4w2+/Dw+chq73LovTAJnCM39hHRfgBw==","signatures":[{"sig":"MEQCIAD/0Rvv8+AxTTXGTNz5ScwtTcwEJyTPuRf7iWxaoWnnAiAY83gcoCl2VfYhyy5Y0ffiOLYQunhYx8ItzacRblLbVA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587326},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"e862c845f0a6c42cf4cc9a82f9ec6f269c347aa4","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-cba1235-202504140623.0","@flowfuse/nr-file-nodes":"0.0.9-d6fac30-202504141656.0","@flowfuse/nr-project-nodes":"0.7.5-9d6c680-202505051644.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.17.1-e862c84-202505271335.0_1748352963060_0.023685476501925207","host":"s3://npm-registry-packages-npm-production"}},"2.17.1-0a0b6ca-202505291600.0":{"name":"@flowfuse/nr-launcher","version":"2.17.1-0a0b6ca-202505291600.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.17.1-0a0b6ca-202505291600.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"a2c9434ac764acc9aa121a3219862b55317d63ee","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.17.1-0a0b6ca-202505291600.0.tgz","fileCount":41,"integrity":"sha512-WJolHJBeDef59MxdYG7fC/KDAcDpOloDtMlsTP5KiPgGwjrSW6ufWdTgLcdC4U8cG+QhzTXIp9YzFPxFbbX1tQ==","signatures":[{"sig":"MEUCIHYqq14NeVDPzRGqET3p/HO86oyVC1d9x+fPnsrvWzq4AiEA0zSC4cjhMoJJiAuh+1iqUINWJ0YRb2tWBTEBCBojj5k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":589160},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"0a0b6ca8fbdc199f4e2fe2bf20cef7581e4a5817","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-cba1235-202504140623.0","@flowfuse/nr-file-nodes":"0.0.9-d6fac30-202504141656.0","@flowfuse/nr-project-nodes":"0.7.5-9d6c680-202505051644.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.17.1-0a0b6ca-202505291600.0_1748534424192_0.2221594167434504","host":"s3://npm-registry-packages-npm-production"}},"2.17.1-281fc44-202505301314.0":{"name":"@flowfuse/nr-launcher","version":"2.17.1-281fc44-202505301314.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.17.1-281fc44-202505301314.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"1d6fe82018c95ddbfde42d7be38b85322851f725","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.17.1-281fc44-202505301314.0.tgz","fileCount":41,"integrity":"sha512-Nirm29ozcrXuZepNRU08XiWZ+8C9AjqvKZ7L8Dm5rbfrjxkKz129XxJ1YvtsI0ZrgvJ5vmLHbxqOESwizsKlqQ==","signatures":[{"sig":"MEYCIQD9ArN4lHhTiZgfEtBBiU5Riy7L/7TkkeBsUaTTk/kUAwIhAN7FaDuQasQaLQQizVvNI5wKdXDtdxa0aEq1XltkgW+V","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":589208},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"281fc4470243abdf6787c690a955feb2d8a3a12c","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-cba1235-202504140623.0","@flowfuse/nr-file-nodes":"0.0.9-d6fac30-202504141656.0","@flowfuse/nr-project-nodes":"0.7.5-9d6c680-202505051644.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.17.1-281fc44-202505301314.0_1748610883590_0.7918059864710576","host":"s3://npm-registry-packages-npm-production"}},"2.17.1-fcd8951-202506050902.0":{"name":"@flowfuse/nr-launcher","version":"2.17.1-fcd8951-202506050902.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.17.1-fcd8951-202506050902.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"d61f1c303f82ac2630fece0df0a464693f6493c7","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.17.1-fcd8951-202506050902.0.tgz","fileCount":41,"integrity":"sha512-IUyOr2chqKnsK1Cog42qzu9CsR1t9RD6GNMUgsBJyvGRkMzH23mNLsM2WeDuJZW3SAYh9yJW0PI/VJRF8w13bg==","signatures":[{"sig":"MEQCIEkY5NL0z9F0+t4uo2MRJOkPK1m9qFR+uzfKUve7am6PAiARFKgBTeLYAaUywENXO6kyWJEbuTr1ofqKUmolif2msw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":589208},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"fcd895107513712bf3101284532053af514c5378","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-cba1235-202504140623.0","@flowfuse/nr-file-nodes":"0.0.9-d6fac30-202504141656.0","@flowfuse/nr-project-nodes":"0.7.5-9d6c680-202505051644.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.17.1-fcd8951-202506050902.0_1749114175287_0.5626527389596432","host":"s3://npm-registry-packages-npm-production"}},"2.17.1-50ce18e-202506051025.0":{"name":"@flowfuse/nr-launcher","version":"2.17.1-50ce18e-202506051025.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.17.1-50ce18e-202506051025.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"9f2885b9517b52bcc5addb0bb3fa5a0aace359b6","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.17.1-50ce18e-202506051025.0.tgz","fileCount":41,"integrity":"sha512-chWU3u5GKU7daaMjj2v8gZQXniyKxqCBr502Be+ow0Pp/XvBBTSzFejTPSma+1eTLP0RwPdnewzdkNBG931wtA==","signatures":[{"sig":"MEYCIQDRcJKJJpmKj8Lh6PJYZtXEEw1gA/08jYyD3FkZoJ1S1QIhAOz0DN3xzwpUHiGNO4+96ITw4CcYc7A4kRfGP4/SGLqd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":589481},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"50ce18eb7073b46c4f76ba35fde4534f4e4ebde7","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-cba1235-202504140623.0","@flowfuse/nr-file-nodes":"0.0.9-d6fac30-202504141656.0","@flowfuse/nr-project-nodes":"0.7.5-9d6c680-202505051644.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.17.1-50ce18e-202506051025.0_1749119139976_0.081024891601436","host":"s3://npm-registry-packages-npm-production"}},"2.18.0":{"name":"@flowfuse/nr-launcher","version":"2.18.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.18.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"204f4436ee3c364f67121065da63711a6d5e99c1","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.18.0.tgz","fileCount":41,"integrity":"sha512-4SgbDSBeI6xZeW8Nk1kJEXgmujcnvKbqfMqgSFCf3/OUcFt1C6jPdztrsw0+NUuv1DVF7F3tqc0oJLbH4tRRSw==","signatures":[{"sig":"MEUCIQCRgcXyc5thmhgcOB4Bbriu3doKM75764ammTFnrmaySQIgPqLi7CrUmTxFU26/1QipDoCrSE6GKRBur/E7l1XxBlA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":589769},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"ddffe279c31521959d44d3360168801c0000769f","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"^0.1.3","@flowfuse/nr-file-nodes":"^0.0.8","@flowfuse/nr-project-nodes":"^0.7.4","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.18.0_1749119987145_0.8445720437986322","host":"s3://npm-registry-packages-npm-production"}},"2.18.1-ddffe27-202506051039.0":{"name":"@flowfuse/nr-launcher","version":"2.18.1-ddffe27-202506051039.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.18.1-ddffe27-202506051039.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"e3eadfee98a69e998a46ee735b5d112a16ef49cd","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.18.1-ddffe27-202506051039.0.tgz","fileCount":41,"integrity":"sha512-aBBka3CtbvhkGmcKZmoTTZ+pSmueaLw27vQProlzlfUvghpyWRDCooNH7+WSWvyWUtOo4JYb165jWJfNY5perA==","signatures":[{"sig":"MEQCIDwLb3vQUT6kVe+kODfapvi5pMfRKo/n2MJdmcakbia7AiAy3UytX//6CDRlaXWl29G3QNUvsSOGSeTQ2krlsbSFAw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":589858},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"ddffe279c31521959d44d3360168801c0000769f","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-cba1235-202504140623.0","@flowfuse/nr-file-nodes":"0.0.9-d6fac30-202504141656.0","@flowfuse/nr-project-nodes":"0.7.5-9d6c680-202505051644.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.18.1-ddffe27-202506051039.0_1749119997067_0.8701490337343056","host":"s3://npm-registry-packages-npm-production"}},"2.18.1-ddffe27-202506061020.0":{"name":"@flowfuse/nr-launcher","version":"2.18.1-ddffe27-202506061020.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.18.1-ddffe27-202506061020.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"fa09ad5cdd7c5d66145be7cb01464821f6f70d35","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.18.1-ddffe27-202506061020.0.tgz","fileCount":41,"integrity":"sha512-IaZgEdOSCKW+MS7DRmZSs39KHFgw49jIFLz6Yz3YMSkLDEMGHM3hk7S1GBtI8fIlsrpGPMvKgbeNpaluiaHw2A==","signatures":[{"sig":"MEYCIQCj0KXIEhXOf5VgJLtVMOYq5zf4veu3kqUao9AIAABkHAIhALFILwCSaDW40chiiDfMQcMQZn2/Wczqn3lRIgfqGN8O","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":589858},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"ddffe279c31521959d44d3360168801c0000769f","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-cba1235-202504140623.0","@flowfuse/nr-file-nodes":"0.0.9-5e66412-202506061019.0","@flowfuse/nr-project-nodes":"0.7.5-9d6c680-202505051644.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.18.1-ddffe27-202506061020.0_1749205250096_0.5921244134630028","host":"s3://npm-registry-packages-npm-production"}},"2.18.1-ddffe27-202506061022.0":{"name":"@flowfuse/nr-launcher","version":"2.18.1-ddffe27-202506061022.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.18.1-ddffe27-202506061022.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"3f7c5260cf4b23dfb3c4fb15a2ec7e8ed56b32b8","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.18.1-ddffe27-202506061022.0.tgz","fileCount":41,"integrity":"sha512-imMGUMdLY1A2N6Ut0HLuvsRwbjVdu3QuloqP8MlXJQZdwFgaHYfg3MUkL3eFN+w4EPY0JOLNuWz1Q2cKZP6PzA==","signatures":[{"sig":"MEQCICxqV6ebzg4xJJlX6fIPQVS8JjArQHqYCmwjvYnLiGOQAiA/c1e7rMh8caxrOw0tw8h1IPX71lyZ+YGQGAm4hUb82A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":589858},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"ddffe279c31521959d44d3360168801c0000769f","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-cba1235-202504140623.0","@flowfuse/nr-file-nodes":"0.0.9-f1f9fb1-202506061022.0","@flowfuse/nr-project-nodes":"0.7.5-9d6c680-202505051644.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.18.1-ddffe27-202506061022.0_1749205390986_0.14122995598078014","host":"s3://npm-registry-packages-npm-production"}},"2.18.1-ddffe27-202506061023.0":{"name":"@flowfuse/nr-launcher","version":"2.18.1-ddffe27-202506061023.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.18.1-ddffe27-202506061023.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"63f9c10c7f5f474c36d55a7af6e82744c095f7d2","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.18.1-ddffe27-202506061023.0.tgz","fileCount":41,"integrity":"sha512-gZ4WLvF6icUqeyx/H+lAhG5jlkgVaBuhcTA3Dae5u0/lqOvXFoAi4HeHQFWkzhG7cjnt/5qyhCnwXh6777tujg==","signatures":[{"sig":"MEYCIQCgJaRLOH/65qops3D0XyxrriwwKbllHSDdNNGnwgaIJgIhAKZZgs8D/CDJywegoHeWsTgNDVuN8s/onPEEJYPy+wnS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":589858},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"ddffe279c31521959d44d3360168801c0000769f","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-cba1235-202504140623.0","@flowfuse/nr-file-nodes":"0.0.9-7fbc75d-202506061023.0","@flowfuse/nr-project-nodes":"0.7.5-9d6c680-202505051644.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.18.1-ddffe27-202506061023.0_1749205440365_0.617844415612077","host":"s3://npm-registry-packages-npm-production"}},"2.18.1-ddffe27-202506111911.0":{"name":"@flowfuse/nr-launcher","version":"2.18.1-ddffe27-202506111911.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.18.1-ddffe27-202506111911.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"0d1076b7094ec392955605d6cfd4c52655bb0cc6","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.18.1-ddffe27-202506111911.0.tgz","fileCount":41,"integrity":"sha512-bdJenvTB2P+pOYxjyUEXEk8lKhXpEVVJsQ/FD+xT5PbQeoeCMwMTeErumAMM8R5JEKIIwIZGvPP0lxnNUmAy8g==","signatures":[{"sig":"MEUCICF6eNmqQZj/wr7vXaufUbG6ti1VrsHq6lEb0ZBhOIUNAiEA+OBzjjkS0PuynUdtrQvobR3oxjIfsyp975cMeGGwJTY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":589858},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"ddffe279c31521959d44d3360168801c0000769f","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.1.4-ed98905-202506111910.0","@flowfuse/nr-file-nodes":"0.0.9-7fbc75d-202506061023.0","@flowfuse/nr-project-nodes":"0.7.5-9d6c680-202505051644.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.18.1-ddffe27-202506111911.0_1749669087827_0.258294774175164","host":"s3://npm-registry-packages-npm-production"}},"2.18.1-ddffe27-202506111916.0":{"name":"@flowfuse/nr-launcher","version":"2.18.1-ddffe27-202506111916.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.18.1-ddffe27-202506111916.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"07b470b196ff637284d5e1cfadf377153c93c39f","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.18.1-ddffe27-202506111916.0.tgz","fileCount":41,"integrity":"sha512-OCn51JylMc5oMxQJ0eTp8/Bmfiz/IYnHig0ncISte/F14EqxfCLmQIPXpXHNpXywjijMuvAYvg9AR4ucJjsqgw==","signatures":[{"sig":"MEQCIA/0dC4aYIWAR5u+KFLmdu5ER15y4r6sMlIonvz/nCx9AiBvRUtE9pSE9cioM6s8az1GjH9rKTpirOZh252wZxfghQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":589858},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"ddffe279c31521959d44d3360168801c0000769f","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.2.1-78d933c-202506111915.0","@flowfuse/nr-file-nodes":"0.0.9-7fbc75d-202506061023.0","@flowfuse/nr-project-nodes":"0.7.5-9d6c680-202505051644.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.18.1-ddffe27-202506111916.0_1749669412230_0.09241241565893032","host":"s3://npm-registry-packages-npm-production"}},"2.18.1-ddffe27-202506121248.0":{"name":"@flowfuse/nr-launcher","version":"2.18.1-ddffe27-202506121248.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.18.1-ddffe27-202506121248.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"715ac88027eec59400388ee23426b8dd690863cf","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.18.1-ddffe27-202506121248.0.tgz","fileCount":41,"integrity":"sha512-uQc0jEWGhgz6CQZeAlaWe5LoK2Rs1uWlsmhfX0+EXF5S5x3QwERyzhHFOIR/8vkYuIDi1c6csJDOWDKCLmws6A==","signatures":[{"sig":"MEUCIGyK7f7fzp/XEnw6ZmaD5RegGVnoO1P8/wL+j8IcZ+8YAiEA1d9AsqSF0FxoIYtbtI/hlIl2xMbOwgfKThSXL2rJkE8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":589858},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"ddffe279c31521959d44d3360168801c0000769f","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.2.1-78d933c-202506111915.0","@flowfuse/nr-file-nodes":"0.0.9-7fbc75d-202506061023.0","@flowfuse/nr-project-nodes":"0.7.5-f6536a3-202506121248.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.18.1-ddffe27-202506121248.0_1749732541965_0.6068074858058006","host":"s3://npm-registry-packages-npm-production"}},"2.18.1-ddffe27-202506121513.0":{"name":"@flowfuse/nr-launcher","version":"2.18.1-ddffe27-202506121513.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.18.1-ddffe27-202506121513.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"e2574b4a2e3ce17b07ebface059c4dc2d144c49d","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.18.1-ddffe27-202506121513.0.tgz","fileCount":41,"integrity":"sha512-tqmXtK9o2bEbQj4QfsuLqClTbC6WuXF09LqvVNtR4hg4XHyk1Rt5YyiHYMxOMMkRkMHIMISwjtiIJC1N64CGZA==","signatures":[{"sig":"MEUCIEL/av/EZEu5YtU3ETBFtQT66RRnJ4igHIQhiO+4b87jAiEAqCJmEIAegALtcRjsG8dKwMhKQX0BsWc80vcCZIbNnB8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":589858},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"ddffe279c31521959d44d3360168801c0000769f","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.2.1-1212b04-202506121513.0","@flowfuse/nr-file-nodes":"0.0.9-7fbc75d-202506061023.0","@flowfuse/nr-project-nodes":"0.7.5-f6536a3-202506121248.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.18.1-ddffe27-202506121513.0_1749741242923_0.09536893743287878","host":"s3://npm-registry-packages-npm-production"}},"2.18.1-ddffe27-202506121536.0":{"name":"@flowfuse/nr-launcher","version":"2.18.1-ddffe27-202506121536.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.18.1-ddffe27-202506121536.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"323b3a2bf22274f66ca6c156ddb332533c1d12eb","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.18.1-ddffe27-202506121536.0.tgz","fileCount":41,"integrity":"sha512-LMaapsYuP1WORA34cSF+CFq7tMOtIFLdHt1TP7fi+OsRb4EvXYcwRHtbXJ5wB6cenmiJE8VOsm7SF/xE/R7rQA==","signatures":[{"sig":"MEQCIFRKwOg3Hh9HNflo20rRgy7ypYaQ9tgCqrxbB0CE6uO2AiBwWc3hGpOkiPNMi2cRQvFTnZeSRIlt/co5a8Wn1eu/uA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":589858},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"ddffe279c31521959d44d3360168801c0000769f","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.2.2-28e5c9f-202506121535.0","@flowfuse/nr-file-nodes":"0.0.9-7fbc75d-202506061023.0","@flowfuse/nr-project-nodes":"0.7.5-f6536a3-202506121248.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.18.1-ddffe27-202506121536.0_1749742571971_0.4341903031502732","host":"s3://npm-registry-packages-npm-production"}},"2.18.1-ddffe27-202506131430.0":{"name":"@flowfuse/nr-launcher","version":"2.18.1-ddffe27-202506131430.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.18.1-ddffe27-202506131430.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"f0034f1a217784cc15757fdfe81db3bb5703c621","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.18.1-ddffe27-202506131430.0.tgz","fileCount":41,"integrity":"sha512-vqtJBFgD+1Ss4u4R4faXXbPY3RoLNiLjG23+xe6KHjIf5g8nevl7lCwxfkXE3ehsAc/geHgGd3VxSShJpZjcUw==","signatures":[{"sig":"MEUCIQDoitq7fL53dtB8yw7XyARGNGQx+QnybPn3bNn1UonGhgIgH/FPpCU1qGsFJsOyxqBSFbXrkiHmFeWkHBzD+JTRagc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":589858},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"ddffe279c31521959d44d3360168801c0000769f","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.2.2-28e5c9f-202506121535.0","@flowfuse/nr-file-nodes":"0.0.9-2701e09-202506131429.0","@flowfuse/nr-project-nodes":"0.7.5-f6536a3-202506121248.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.18.1-ddffe27-202506131430.0_1749825046393_0.036319920319080934","host":"s3://npm-registry-packages-npm-production"}},"2.18.1-ddffe27-202506131700.0":{"name":"@flowfuse/nr-launcher","version":"2.18.1-ddffe27-202506131700.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.18.1-ddffe27-202506131700.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"76f79087f99da4cb3616d8d6acf38395af7559e1","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.18.1-ddffe27-202506131700.0.tgz","fileCount":41,"integrity":"sha512-MKFL4EKn5yWDU2ZA0lSh1em5/mQUeu+c1EOCNrE/n8KvLguHPvE9GVdn/o0eJCJsoWnk/qk/wl3VaRrbyLlduA==","signatures":[{"sig":"MEQCIG7NE4R4CfIzTlEFjweLrK4NcQSFTa4IVoIoMv3/p5LWAiBUCwG8m3OG8F7adpNzjsKu1v5Ug46VnlHZL3G/jMU96g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":589858},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"ddffe279c31521959d44d3360168801c0000769f","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.2.2-28e5c9f-202506121535.0","@flowfuse/nr-file-nodes":"0.0.9-2701e09-202506131429.0","@flowfuse/nr-project-nodes":"0.7.5-9caed1e-202506131700.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.18.1-ddffe27-202506131700.0_1749834055473_0.9383084415942007","host":"s3://npm-registry-packages-npm-production"}},"2.18.1-ddffe27-202506131704.0":{"name":"@flowfuse/nr-launcher","version":"2.18.1-ddffe27-202506131704.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.18.1-ddffe27-202506131704.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"dfdb3a3d52bbc85f99e612f0a01a09d34ca00a31","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.18.1-ddffe27-202506131704.0.tgz","fileCount":41,"integrity":"sha512-6tO95ncEV0VjKfqITufBOFH77FNIvwYv6DUQ89rGJkAXe0+0n64ye2pLE/F8O7LVC5Ne/4cgG3jgWjd8wGpFfg==","signatures":[{"sig":"MEQCIEzhFWNSPy8CKxOKZQ6fLw9UykqqOpITU073gmUMezy4AiAoz16HEU2RtjqGbz63i4+vs+wSxiB+35wBqE3vshtK8g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":589858},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"ddffe279c31521959d44d3360168801c0000769f","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.2.2-28e5c9f-202506121535.0","@flowfuse/nr-file-nodes":"0.0.9-2701e09-202506131429.0","@flowfuse/nr-project-nodes":"0.7.5-58cd3cc-202506131703.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.18.1-ddffe27-202506131704.0_1749834288325_0.7457749517360075","host":"s3://npm-registry-packages-npm-production"}},"2.18.1-ddffe27-202506171456.0":{"name":"@flowfuse/nr-launcher","version":"2.18.1-ddffe27-202506171456.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.18.1-ddffe27-202506171456.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"d3eb143c859b7fc8f1dfd3bf072fbe8d0c0bfb9b","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.18.1-ddffe27-202506171456.0.tgz","fileCount":41,"integrity":"sha512-1mKR8K5pUs7QPsMLJbekSw9IMuXHjj+TadIundFcecSNIyDyWCTvVizmy97OzS9aCICikLFhNIMR9dbz+y5iOg==","signatures":[{"sig":"MEQCIBN8GI6tDXCjC8pT2XArR5sQNnABLjkxCVA4os9+R51sAiBCjL9+dIl55yuNUXCjdCMNRQ6ZNUOEIyDacgEWRCtc3g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":589858},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"ddffe279c31521959d44d3360168801c0000769f","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","actor":{"name":"flowfuse-user","type":"user","email":"nick@flowfuse.com"},"email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.2.2-28e5c9f-202506121535.0","@flowfuse/nr-file-nodes":"0.0.9-2701e09-202506131429.0","@flowfuse/nr-project-nodes":"0.7.6-0113eca-202506171455.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.18.1-ddffe27-202506171456.0_1750172190268_0.5869370880102374","host":"s3://npm-registry-packages-npm-production"}},"2.18.1-ddffe27-202506180949.0":{"name":"@flowfuse/nr-launcher","version":"2.18.1-ddffe27-202506180949.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.18.1-ddffe27-202506180949.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"3c8ca0fe85a8756220505559278205e278ca0bc6","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.18.1-ddffe27-202506180949.0.tgz","fileCount":41,"integrity":"sha512-4zjLbT+twj63B8w4LJ54C8DGxNDp/KvQJEqe+GrBDdQZcydONhAgF6wz9d0ncqVWshGKLJ4e866Nnw315zYDkQ==","signatures":[{"sig":"MEQCIHLU60xB4kDd6ZSApT5htqkoAMySGvr5PqmCOMFC39iNAiBktSJKDEcqJkF1tRdZfgTEjUyUOKLyAVZxrMHCyNP1gw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":589858},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"ddffe279c31521959d44d3360168801c0000769f","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","actor":{"name":"flowfuse-user","type":"user","email":"nick@flowfuse.com"},"email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.2.2-480c08b-202506180948.0","@flowfuse/nr-file-nodes":"0.0.9-2701e09-202506131429.0","@flowfuse/nr-project-nodes":"0.7.6-0113eca-202506171455.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.18.1-ddffe27-202506180949.0_1750240182691_0.42118396961750815","host":"s3://npm-registry-packages-npm-production"}},"2.18.1-ddffe27-202506241235.0":{"name":"@flowfuse/nr-launcher","version":"2.18.1-ddffe27-202506241235.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.18.1-ddffe27-202506241235.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"ff18155fe7b0faf7d2a0f7aee62cc6a2d716bd30","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.18.1-ddffe27-202506241235.0.tgz","fileCount":41,"integrity":"sha512-N+OF1bpj3/40iJTRIHfgSNjSqMEi+VWUtr87AVWBmkfNYCr6bNAf8Po2la60kExxC7t8gFLWEVJRvWB2PfOuQw==","signatures":[{"sig":"MEQCICubNz6BT/yeTI7JjQg9HADvOMIxUtFfgVz9uMkvb4zpAiBuzSnTONI5sxX0jaZUmqc1Tr9GLg4DiDfq8cDNJzvv8g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":589858},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"ddffe279c31521959d44d3360168801c0000769f","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","actor":{"name":"flowfuse-user","type":"user","email":"nick@flowfuse.com"},"email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.2.2-b1748b8-202506241235.0","@flowfuse/nr-file-nodes":"0.0.9-2701e09-202506131429.0","@flowfuse/nr-project-nodes":"0.7.6-0113eca-202506171455.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.18.1-ddffe27-202506241235.0_1750768565237_0.6039308975441857","host":"s3://npm-registry-packages-npm-production"}},"2.18.1-5a67a91-202506251400.0":{"name":"@flowfuse/nr-launcher","version":"2.18.1-5a67a91-202506251400.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.18.1-5a67a91-202506251400.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"ee71cde967843a9f9a826e5396f40059db27ed21","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.18.1-5a67a91-202506251400.0.tgz","fileCount":42,"integrity":"sha512-2p98W7T8JLiKdDSYAlc2x+u4/KGg0JcnYfQEmbM7iK9XHqzvpZv8v7+CnsgGp4LER4hZa6C6dgJ5UmlByon7cg==","signatures":[{"sig":"MEYCIQCtzWpm7sHIXx4b61D4rzSVjOa+q2Ba18tZ/bqv/EGk+wIhAN7BylsJ5KDWGvzW4OAETVUgCXnd0y9FJeBz8e0RMJ12","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":597495},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"5a67a914e1d54b5230a8051b53a025a469db0c94","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","actor":{"name":"flowfuse-user","type":"user","email":"nick@flowfuse.com"},"email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.2.2-b1748b8-202506241235.0","@flowfuse/nr-file-nodes":"0.0.9-2701e09-202506131429.0","@flowfuse/nr-project-nodes":"0.7.6-0113eca-202506171455.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.18.1-5a67a91-202506251400.0_1750860025219_0.5821615018726627","host":"s3://npm-registry-packages-npm-production"}},"2.18.1-5a67a91-202506271715.0":{"name":"@flowfuse/nr-launcher","version":"2.18.1-5a67a91-202506271715.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.18.1-5a67a91-202506271715.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"d73e2357f9c7239c20941cdb31248d1ac33da860","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.18.1-5a67a91-202506271715.0.tgz","fileCount":42,"integrity":"sha512-eeTCJRja0+qO2CaDScJnh+Vk0SrztF8JV74nxkBXWyW2o6WLbN1rSvMeSttscxx8MBeyp7BQYLbRd1jM8BWlmQ==","signatures":[{"sig":"MEQCIGcaFWNNE84A79lL6TMUSsiAf5UFd+mF82iK+oaspzfaAiBRmnc4Sqbm6nr1Te7fxDUBPTm4Hw6LF9P1Tuu6r+zcXg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":597495},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"5a67a914e1d54b5230a8051b53a025a469db0c94","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","actor":{"name":"flowfuse-user","type":"user","email":"nick@flowfuse.com"},"email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.3.1-911c4d1-202506271714.0","@flowfuse/nr-file-nodes":"0.0.9-2701e09-202506131429.0","@flowfuse/nr-project-nodes":"0.7.6-0113eca-202506171455.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.18.1-5a67a91-202506271715.0_1751044547894_0.5880771522914778","host":"s3://npm-registry-packages-npm-production"}},"2.18.1-5a67a91-202506300805.0":{"name":"@flowfuse/nr-launcher","version":"2.18.1-5a67a91-202506300805.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.18.1-5a67a91-202506300805.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"6f807af27c724d7c0ee6fc7c7d585260235e4b8a","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.18.1-5a67a91-202506300805.0.tgz","fileCount":42,"integrity":"sha512-uSn0MfohERC3vL6BHiGtgeuPYIY6DIzqxOYfB52+12YO+MUzwRbIjnrnbrqrZ3tXvEs9NLFZYpnx5L3NJJWtPQ==","signatures":[{"sig":"MEUCIHDYlBL9NnytRQJxB2tQ28lKtGFQexSmvEr4+oVB56j6AiEA6TWCwqDq5yy7CYxh+BtwyRbvFuj7P9EIgcprqJ/K3Rk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":597495},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"5a67a914e1d54b5230a8051b53a025a469db0c94","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","actor":{"name":"flowfuse-user","type":"user","email":"nick@flowfuse.com"},"email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.3.1-2c05106-202506300804.0","@flowfuse/nr-file-nodes":"0.0.9-2701e09-202506131429.0","@flowfuse/nr-project-nodes":"0.7.6-0113eca-202506171455.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.18.1-5a67a91-202506300805.0_1751270729815_0.2942440716040904","host":"s3://npm-registry-packages-npm-production"}},"2.18.1-5a67a91-202506301632.0":{"name":"@flowfuse/nr-launcher","version":"2.18.1-5a67a91-202506301632.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.18.1-5a67a91-202506301632.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"b62843af62f2339478071a7fce74b723f0428219","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.18.1-5a67a91-202506301632.0.tgz","fileCount":42,"integrity":"sha512-KHkNF8SQoS/y+0f1PTq9pv5xOlTe5WMce/PUhytdfc1txl/ZpGiYicJ7kunGGesQH+O/HJUSq/WmkESxZYZeWA==","signatures":[{"sig":"MEQCIDgimeWF34zumM4z1dxT1bd8yOvjQidNq0w0xzsFC2qjAiBbIgRUYwXr3UBuso5e7u3e5n8wWHqe2PrLVd5mChM8og==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":597495},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"5a67a914e1d54b5230a8051b53a025a469db0c94","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","actor":{"name":"flowfuse-user","type":"user","email":"nick@flowfuse.com"},"email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.3.1-2c05106-202506300804.0","@flowfuse/nr-file-nodes":"0.0.9-2701e09-202506131429.0","@flowfuse/nr-project-nodes":"0.7.6-67f213c-202506301631.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.18.1-5a67a91-202506301632.0_1751301131637_0.893364868803739","host":"s3://npm-registry-packages-npm-production"}},"2.18.1-5a67a91-202506301749.0":{"name":"@flowfuse/nr-launcher","version":"2.18.1-5a67a91-202506301749.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.18.1-5a67a91-202506301749.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"4ac32f2e987f17409926beadaddbc49a157fdc94","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.18.1-5a67a91-202506301749.0.tgz","fileCount":42,"integrity":"sha512-czSxE2jrVWf9lI+rwfGMEgN2qYd+WNJwqDTSVVWxBn9GIBu6qCPGPds2m9rH4ef5JpPbOEAlkMdrhxBseoHxhA==","signatures":[{"sig":"MEUCIDkH7K5n80C6IvdDI/Wvj8Ty+Qz4U/B91M6TTJFkRYrnAiEA79G8//1GQigxynjpAdxh89lN5fMtj0YoSDlgKLQ/+gk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":597495},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"5a67a914e1d54b5230a8051b53a025a469db0c94","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","actor":{"name":"flowfuse-user","type":"user","email":"nick@flowfuse.com"},"email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.3.1-2c05106-202506300804.0","@flowfuse/nr-file-nodes":"0.0.9-3886e57-202506301748.0","@flowfuse/nr-project-nodes":"0.7.6-67f213c-202506301631.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.18.1-5a67a91-202506301749.0_1751305763874_0.5295892504480539","host":"s3://npm-registry-packages-npm-production"}},"2.18.1-69e9fe4-202507011822.0":{"name":"@flowfuse/nr-launcher","version":"2.18.1-69e9fe4-202507011822.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.18.1-69e9fe4-202507011822.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"dd98fd8391bbb2af35f9e0aacf979816ef31048f","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.18.1-69e9fe4-202507011822.0.tgz","fileCount":42,"integrity":"sha512-vlLEWIGaeGicgYYyvXen6EE7JjwCRZcbFbEOKSF06fB9S/3+9hkzP8pJ/l3y/c+eKfezVGl0DPfFh4wUfHu0Fg==","signatures":[{"sig":"MEUCIFPnnGl8AqUBDr+6Sw1duIVARn/b131v2wA1r/dNi1DiAiEAkCcZfMIgtQj/mYJzVIiRMy8Hc71vfwZVnpdQ/X0GJ6o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":597495},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"69e9fe4e1d377a009185c550bc39e6a1c1618466","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","actor":{"name":"flowfuse-user","type":"user","email":"nick@flowfuse.com"},"email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.3.1-2c05106-202506300804.0","@flowfuse/nr-file-nodes":"0.0.9-3886e57-202506301748.0","@flowfuse/nr-project-nodes":"0.7.6-67f213c-202506301631.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.18.1-69e9fe4-202507011822.0_1751394136122_0.257883239400748","host":"s3://npm-registry-packages-npm-production"}},"2.18.1-a601b96-202507021405.0":{"name":"@flowfuse/nr-launcher","version":"2.18.1-a601b96-202507021405.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.18.1-a601b96-202507021405.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"a0a250b5626b5afc21b03b18fa9a8a6d9ad3c549","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.18.1-a601b96-202507021405.0.tgz","fileCount":43,"integrity":"sha512-htnqUMhqLaVz42O9o5PXBvRehptIHlY1DGIlwXr96B1tusqsozKBKtbmsJoHB6yor776TJrU14aZwFG/+e8shA==","signatures":[{"sig":"MEQCIACp30jw6Jem6JA0QpxPLx9xd6qjVBOOJ2mqchwkDKnoAiBU5jFGyczW4uUhI5BzF9xGkzDegwKng0xNsfRJbIBbLg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":600738},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"a601b965dbad938f4b9c0bd5d94c608ff655d285","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","actor":{"name":"flowfuse-user","type":"user","email":"nick@flowfuse.com"},"email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.3.1-2c05106-202506300804.0","@flowfuse/nr-file-nodes":"0.0.9-3886e57-202506301748.0","@flowfuse/nr-project-nodes":"0.7.6-67f213c-202506301631.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.18.1-a601b96-202507021405.0_1751465156485_0.08887903882901216","host":"s3://npm-registry-packages-npm-production"}},"2.18.1-3516120-202507030845.0":{"name":"@flowfuse/nr-launcher","version":"2.18.1-3516120-202507030845.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.18.1-3516120-202507030845.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"7d05506a119afafff6ee0d153dcc44fc905d66c7","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.18.1-3516120-202507030845.0.tgz","fileCount":43,"integrity":"sha512-f8wmcwiCWUA5GMLNtYQABaAvkf0Qv/XAG89Z1TM7z/6hYYO6rtTpwMq1KbIlri+igK9UkSQF1tUEjhKMdSlUCA==","signatures":[{"sig":"MEYCIQD8BOiQFGG+DFYO6Fi1K86SXVtT0OmGL9uUKTUbFmQ2bgIhAM1D+MUObfAWNM1Zh+uKKCmu2zXZCuULjvg6O5aWzHsZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":600784},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"3516120dc73812f533f3cafcbee318cdcfe095ae","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","actor":{"name":"flowfuse-user","type":"user","email":"nick@flowfuse.com"},"email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.3.1-2c05106-202506300804.0","@flowfuse/nr-file-nodes":"0.0.9-3886e57-202506301748.0","@flowfuse/nr-project-nodes":"0.7.6-67f213c-202506301631.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.18.1-3516120-202507030845.0_1751532346771_0.6737998416311808","host":"s3://npm-registry-packages-npm-production"}},"2.18.1-7337182-202507030905.0":{"name":"@flowfuse/nr-launcher","version":"2.18.1-7337182-202507030905.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.18.1-7337182-202507030905.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"b25c5687cc3755dc0cb4fa0c92089d5c52d9241f","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.18.1-7337182-202507030905.0.tgz","fileCount":43,"integrity":"sha512-t4+uJ1pbebWDgga3HGFsYQ7c9xXyrYDYtZHEMlppl7aNsHkgPHE86WqjmHN5yjekUvTOTOhlqEMqLZHD2c1TMw==","signatures":[{"sig":"MEQCIA+gj1hxYdDhTg42/FUAh9YcchJDttpSA1Ot/2/3RU9JAiB3M3FzQ/eQE8T6ydjrWFIFsZSiq2CEbGm2McvqNWVb+w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":600784},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"7337182f4cd3766a92b04372d43ab0fc0cbdb595","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","actor":{"name":"flowfuse-user","type":"user","email":"nick@flowfuse.com"},"email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.3.1-2c05106-202506300804.0","@flowfuse/nr-file-nodes":"0.0.9-3886e57-202506301748.0","@flowfuse/nr-project-nodes":"0.7.6-67f213c-202506301631.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.18.1-7337182-202507030905.0_1751533539083_0.19817948985638134","host":"s3://npm-registry-packages-npm-production"}},"2.19.0":{"name":"@flowfuse/nr-launcher","version":"2.19.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.19.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"705a33fda6b0574ed23356c695f61b0b7eb57eb6","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.19.0.tgz","fileCount":43,"integrity":"sha512-nPNTrDWYyGI3lCyztz5X2BmH6dL6PL6uhpeKHIArfgQn+iNtcyfM7PPvCGyViSZ996SsShfkeK1dSWuLCxwt0Q==","signatures":[{"sig":"MEUCIDzdunl3dNVVQLEinSo7UM42L97k9ZAyN4FwnVU6RRoLAiEAn1KeITE9YXxRxRJ8N+DQjgYjNFwqdhAgbfwdWnicSdE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":601014},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"4eb77941e1fd93b6dbb89e3db16be1612d464a74","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","actor":{"name":"flowfuse-user","type":"user","email":"nick@flowfuse.com"},"email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"^0.3.0","@flowfuse/nr-file-nodes":"^0.0.8","@flowfuse/nr-project-nodes":"^0.7.5","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.19.0_1751534818131_0.251672589042615","host":"s3://npm-registry-packages-npm-production"}},"2.19.1-4eb7794-202507030927.0":{"name":"@flowfuse/nr-launcher","version":"2.19.1-4eb7794-202507030927.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.19.1-4eb7794-202507030927.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"09fb57e837a9901df6a12ded83ee45fc29f955c8","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.19.1-4eb7794-202507030927.0.tgz","fileCount":43,"integrity":"sha512-tmgfPCl0Ol680YJMQHmZczJt/rZmSfR+OnD/Jl90OyPy4+/TluYyv/1Y3g+NITu0SmA31q57cUy41EXgsa+1gw==","signatures":[{"sig":"MEUCIFhoowj5oZyNN5a+e73hd7UahtyCRkZz1BpE+OiNBIGuAiEAiF4rKfPeRvIeGNL4ah7EBE6j2DTV70pPRNFJoddvx3c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":601103},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"4eb77941e1fd93b6dbb89e3db16be1612d464a74","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","actor":{"name":"flowfuse-user","type":"user","email":"nick@flowfuse.com"},"email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.3.1-2c05106-202506300804.0","@flowfuse/nr-file-nodes":"0.0.9-3886e57-202506301748.0","@flowfuse/nr-project-nodes":"0.7.6-67f213c-202506301631.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.19.1-4eb7794-202507030927.0_1751534828243_0.6283233533664525","host":"s3://npm-registry-packages-npm-production"}},"2.19.1-4eb7794-202507071026.0":{"name":"@flowfuse/nr-launcher","version":"2.19.1-4eb7794-202507071026.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.19.1-4eb7794-202507071026.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"5b1b8a569284f4c36b1ce03aff215b3ddab9faaa","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.19.1-4eb7794-202507071026.0.tgz","fileCount":43,"integrity":"sha512-Jk2xSZ3V6EXms9eUbRgym5cHt8vJBug+cBn16FSpjHQkfVMHCunj9jVTvOMSEY2awBZtjuY3j4z25YtVH8UL5w==","signatures":[{"sig":"MEQCIBmDH/JrdwXRyokq4GGPb6vE/u9eeGwHDZEckQ/HihbKAiABRHxdn8D149GdtAWesX31q6ngG8EU1G/SeCek9J2oxw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":601103},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"4eb77941e1fd93b6dbb89e3db16be1612d464a74","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","actor":{"name":"flowfuse-user","type":"user","email":"nick@flowfuse.com"},"email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.3.1-2c05106-202506300804.0","@flowfuse/nr-file-nodes":"0.0.9-3886e57-202506301748.0","@flowfuse/nr-project-nodes":"0.7.6-c75703e-202507071025.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.19.1-4eb7794-202507071026.0_1751884002809_0.5717029765235739","host":"s3://npm-registry-packages-npm-production"}},"2.19.1-4eb7794-202507071158.0":{"name":"@flowfuse/nr-launcher","version":"2.19.1-4eb7794-202507071158.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.19.1-4eb7794-202507071158.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"e5a072b5587b05f4c6813df1dafb130aad678404","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.19.1-4eb7794-202507071158.0.tgz","fileCount":43,"integrity":"sha512-vCmqGbuqERfY7ImAq1rMqLDSt6ZpopnOZB9ng4Fae41tfLdDgMpi/1604gkYnkLGR00MQ8DH5TN0uf21QMyZ1A==","signatures":[{"sig":"MEUCIQDOWl+rEib6pkcp1YmLOIIGV5vBIMvQ9QpPxmclKOcA0wIgZ9zEeJMBTmu3nfRCxqiMFqO8xtakD91XshGT1gHUPis=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":601103},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"4eb77941e1fd93b6dbb89e3db16be1612d464a74","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","actor":{"name":"flowfuse-user","type":"user","email":"nick@flowfuse.com"},"email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.3.1-2c05106-202506300804.0","@flowfuse/nr-file-nodes":"0.0.9-3886e57-202506301748.0","@flowfuse/nr-project-nodes":"0.7.6-c75703e-202507071025.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.19.1-4eb7794-202507071158.0_1751889543261_0.6794895786597788","host":"s3://npm-registry-packages-npm-production"}},"2.19.1-4eb7794-202507071744.0":{"name":"@flowfuse/nr-launcher","version":"2.19.1-4eb7794-202507071744.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.19.1-4eb7794-202507071744.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"05a6bb6f775aff37e614724373227efb3ae8f975","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.19.1-4eb7794-202507071744.0.tgz","fileCount":43,"integrity":"sha512-aSnMb7Ww7QXgdFh844STtvgJaCJDRTum5lXeOWD8d9BfHf6tCNQsR23NsaBLKPQlDffzDqL/6oq7DYstGlqsiQ==","signatures":[{"sig":"MEQCIBkkpugUSGAmk++Lopc0QPf9utWgK+xp2cIeR+NuEeziAiBb4H3m/JFxhvvmnh3b9jrjW9LHHif7tnbTJ0DAOwu5qg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":601103},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"4eb77941e1fd93b6dbb89e3db16be1612d464a74","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","actor":{"name":"flowfuse-user","type":"user","email":"nick@flowfuse.com"},"email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.3.1-8f3f1da-202507071743.0","@flowfuse/nr-file-nodes":"0.0.9-3886e57-202506301748.0","@flowfuse/nr-project-nodes":"0.7.7-5bf37d0-202507071158.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.19.1-4eb7794-202507071744.0_1751910283376_0.5695477410422742","host":"s3://npm-registry-packages-npm-production"}},"2.19.1-4eb7794-202507160926.0":{"name":"@flowfuse/nr-launcher","version":"2.19.1-4eb7794-202507160926.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.19.1-4eb7794-202507160926.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"6a1a5e2f9c4fc3ce32445bb20b49795cd471a739","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.19.1-4eb7794-202507160926.0.tgz","fileCount":43,"integrity":"sha512-qk7vNvtImKiPpzYngSFh2CHDayflrVDXnYZrS6xGtAKs5yFTIvlLrfYrux5OXw7DSnpT07pn9fg8CcHADPL8Fw==","signatures":[{"sig":"MEQCIEt9IpULmvrQ7f6DeQANYJQbMpXVxMOhAaHFbaUFdeV8AiA/zyJ1oHlyHfR5zD0QIT1azI6wu848qunNPQcW2TYLiA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":601103},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"4eb77941e1fd93b6dbb89e3db16be1612d464a74","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.3","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.3.1-92d1581-202507160925.0","@flowfuse/nr-file-nodes":"0.0.9-3886e57-202506301748.0","@flowfuse/nr-project-nodes":"0.7.7-5bf37d0-202507071158.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.19.1-4eb7794-202507160926.0_1752657966891_0.7888684601510947","host":"s3://npm-registry-packages-npm-production"}},"2.19.1-82953c5-202507171229.0":{"name":"@flowfuse/nr-launcher","version":"2.19.1-82953c5-202507171229.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.19.1-82953c5-202507171229.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"be81aa305554ec25105b2b60946c42753c72df3e","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.19.1-82953c5-202507171229.0.tgz","fileCount":43,"integrity":"sha512-PMZRR5qb8iWidDQrjf88QBR4mlWce0GRryqEbUAGZiJqYqHWunlOQLNzEWixlhz9EiQxWZ8rwPrhNAEtNYzu6g==","signatures":[{"sig":"MEQCIHRAH4cpp1PMUKiBsDGezN1UCuiWOy5ASIMIofLNoeg0AiBMSpgEHzJSyrfl/wUejS9ETrGI0FYXMvQ+xte/QZ9hbw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":601137},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"82953c5d7ca76a401ea8e63d90837fe76ff1c783","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.3","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.3.1-92d1581-202507160925.0","@flowfuse/nr-file-nodes":"0.0.9-3886e57-202506301748.0","@flowfuse/nr-project-nodes":"0.7.7-5bf37d0-202507071158.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.19.1-82953c5-202507171229.0_1752755406027_0.1257478353502186","host":"s3://npm-registry-packages-npm-production"}},"2.19.1-4832e24-202507181013.0":{"name":"@flowfuse/nr-launcher","version":"2.19.1-4832e24-202507181013.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.19.1-4832e24-202507181013.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"47774197eb91f67c086c938470193bb3c2e68bcc","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.19.1-4832e24-202507181013.0.tgz","fileCount":43,"integrity":"sha512-KhZ915JnYLKUHYEU8u3jrwHzS6S6R9eBREFqR9BcB/cbksqTpPAY1DA4+i4WXG1y27kxvhMCvf5qJhWAbbkDPw==","signatures":[{"sig":"MEUCICsyzwpzTmG4pUH3zoUb0HoV+TUhzo0kI6MsdBtct2j8AiEA99DBCP0WibxfuHxC+eV8iDmXG7e7qv6FT64jw9vnF9o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":601137},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"4832e24b6f7338e26b6d3218c59977325a2705b0","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.3","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.3.1-92d1581-202507160925.0","@flowfuse/nr-file-nodes":"0.0.9-3886e57-202506301748.0","@flowfuse/nr-project-nodes":"0.7.7-5bf37d0-202507071158.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.19.1-4832e24-202507181013.0_1752833606028_0.23190635877666566","host":"s3://npm-registry-packages-npm-production"}},"2.19.1-b1c5db7-202507181016.0":{"name":"@flowfuse/nr-launcher","version":"2.19.1-b1c5db7-202507181016.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.19.1-b1c5db7-202507181016.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"2f3e1bae3ff8e82fbdc6e8cb613e45d807e99e13","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.19.1-b1c5db7-202507181016.0.tgz","fileCount":43,"integrity":"sha512-pILXm8zL7wvC6bjR/QrJ5Bdo3kmGAfbs5nnLkcKag+ucSvNGqDj4pjNdL0VVQkPtPzrNZBgq0skqHrKUa5KdbA==","signatures":[{"sig":"MEYCIQDSriQom38oVG1C5ZQi8bC4uWpXgeF74qvvBOvTxwKYEQIhANL0oJO3neSx/C+UE05ChJql5vBtF2ieRHbyuQusnbFC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":601137},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"b1c5db7253a39215a4a0cabb29fe851556f34557","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.3","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.3.1-92d1581-202507160925.0","@flowfuse/nr-file-nodes":"0.0.9-3886e57-202506301748.0","@flowfuse/nr-project-nodes":"0.7.7-5bf37d0-202507071158.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.19.1-b1c5db7-202507181016.0_1752833790163_0.31319009872229464","host":"s3://npm-registry-packages-npm-production"}},"2.19.2-0fdb7aa-202507221405.0":{"name":"@flowfuse/nr-launcher","version":"2.19.2-0fdb7aa-202507221405.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.19.2-0fdb7aa-202507221405.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"4177ec35bf2955eb8d6e59dd00d8fe931d7b2a81","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.19.2-0fdb7aa-202507221405.0.tgz","fileCount":43,"integrity":"sha512-/VmQKUydH7dUvi0zJZKGWbhNTalWE9Z/UOKdUHoUpvH8PXoNj+2Nmqh1qlu+od2VQV/oJLSa2e3eZ01MnRGrxg==","signatures":[{"sig":"MEUCIQCJX5dJwcdNYOlWmwmAIm7KlRMvxwdAtFC0c4U1pJ3sXQIgV2iVqMHsfkLZxcyj6jd+EUAv/V1c332UUJYZTpk1ASM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":601343},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"0fdb7aa31e48d936e03078f4efa99ba4554a8a74","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.3","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.3.1-92d1581-202507160925.0","@flowfuse/nr-file-nodes":"0.0.9-3886e57-202506301748.0","@flowfuse/nr-project-nodes":"0.7.7-5bf37d0-202507071158.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.19.2-0fdb7aa-202507221405.0_1753193153256_0.18516421545719286","host":"s3://npm-registry-packages-npm-production"}},"2.19.1":{"name":"@flowfuse/nr-launcher","version":"2.19.1","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.19.1","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"aef3566feecbb790b000c8fdeb29880992cf68bf","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.19.1.tgz","fileCount":43,"integrity":"sha512-djTcICG60wJ8dSJcaFILFBP4ECpI8lWRSDK4z6iSxCcBMVXvtONswIqsrkwyGIWNwgQPxJ5Hh2SX8MylNoBtjw==","signatures":[{"sig":"MEYCIQCj0yq5ujPccaFu1VxPOFEib4gvzpNBRhrLSUXCDmY0lgIhAKdl7B0oOE5EjrOapU3YVZzFYbyRYk+XUmNKma8HAKjh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":601254},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"0fdb7aa31e48d936e03078f4efa99ba4554a8a74","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"^0.3.0","@flowfuse/nr-file-nodes":"^0.0.8","@flowfuse/nr-project-nodes":"^0.7.5","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.19.1_1753193158003_0.04141683578216471","host":"s3://npm-registry-packages-npm-production"}},"2.19.2-0fdb7aa-202507240836.0":{"name":"@flowfuse/nr-launcher","version":"2.19.2-0fdb7aa-202507240836.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.19.2-0fdb7aa-202507240836.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"29fdf266c7a1d6d503742cbb26732d84ef80a82c","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.19.2-0fdb7aa-202507240836.0.tgz","fileCount":43,"integrity":"sha512-wrlt1KQfAkWetGsFg0lk7V4idSvDD+B8CBIeVbIRguKbj5/bK2TbQ6gPNrCIPKh8MptKhpbzEYVuJrXnm6SxrQ==","signatures":[{"sig":"MEYCIQDHXe1tia6aJ2FP+5zcC72OzBT7j+0C9xgbnO/JLJuxkgIhAPF/YcrOW5b0vtYk+QYDpbV8vhQKqaYA/DtfqgwlUrtX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":601343},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"0fdb7aa31e48d936e03078f4efa99ba4554a8a74","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.3.1-92d1581-202507160925.0","@flowfuse/nr-file-nodes":"0.0.9-3886e57-202506301748.0","@flowfuse/nr-project-nodes":"0.7.7-269bd7a-202507240835.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.19.2-0fdb7aa-202507240836.0_1753346167587_0.4418572167775736","host":"s3://npm-registry-packages-npm-production"}},"2.19.2-6bf0827-202507300858.0":{"name":"@flowfuse/nr-launcher","version":"2.19.2-6bf0827-202507300858.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.19.2-6bf0827-202507300858.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"89fef9c7140d197a7f78e19bfa1dcf6f922ad687","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.19.2-6bf0827-202507300858.0.tgz","fileCount":43,"integrity":"sha512-ZPxy0wwSgmOroa/m8GdnxVtusS8ILebNCeUtLaZ5TinAAwr1FcT6yXeZ2l7Yp5lWTADYbkpeaCMbuuAu+3VQmg==","signatures":[{"sig":"MEUCICTcQbx15g4yCMPDPCEBuY8Xi9Vaf9gfTJSbhgQsCXW1AiEAirN1+pcXxHrzn8DiAApYOsMThPJl1YgjnXCSWi+LbJc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":601747},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"6bf08270d4cdd7390a6226b2b3625e941187b8ab","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.3.1-92d1581-202507160925.0","@flowfuse/nr-file-nodes":"0.0.9-3886e57-202506301748.0","@flowfuse/nr-project-nodes":"0.7.7-269bd7a-202507240835.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.19.2-6bf0827-202507300858.0_1753865908314_0.5395387053139176","host":"s3://npm-registry-packages-npm-production"}},"2.19.2-63af933-202507300928.0":{"name":"@flowfuse/nr-launcher","version":"2.19.2-63af933-202507300928.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.19.2-63af933-202507300928.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"2f97d770089a6ef4d2208a730600a3b62119a987","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.19.2-63af933-202507300928.0.tgz","fileCount":43,"integrity":"sha512-+W4VZKNqNZBNKlXtehx7UdOpLOzWm3a/f4raB+rkufNzt9wN2RdSWnVUlPD1HKn2ZJYh/8WudZ5yBjXvNKe/PQ==","signatures":[{"sig":"MEUCIHCu43bbcc5WjYnpsYcie7MhIH395JSuwu9ult1jxVWSAiEA/YXCwCu5iihBO0RtmgwDJpvs9FxBJnItWbXv/uBzRMY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":601843},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"63af9331482fd0a0cdf9e724c55187ee660135d7","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.3.1-92d1581-202507160925.0","@flowfuse/nr-file-nodes":"0.0.9-3886e57-202506301748.0","@flowfuse/nr-project-nodes":"0.7.7-269bd7a-202507240835.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.19.2-63af933-202507300928.0_1753867715460_0.5614377869373666","host":"s3://npm-registry-packages-npm-production"}},"2.19.2-bc7207b-202507301023.0":{"name":"@flowfuse/nr-launcher","version":"2.19.2-bc7207b-202507301023.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.19.2-bc7207b-202507301023.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"f594c56b5fed0c1fa8821d3d32ef23367b284ff6","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.19.2-bc7207b-202507301023.0.tgz","fileCount":43,"integrity":"sha512-xzBv5iuAvzKem5HHWK6lxDuEt2NxfKxtm/9I9HSTbd1iyp0jGEReFjxKyQIcO5PMcnLhvrKoyB5IOayt4YAN7g==","signatures":[{"sig":"MEYCIQCpMKWQW82H3g+jkhhAkTn4U/Cv7CbL0NSS0t7CPYfSawIhANHGf5dhtxIQBZ+a/mJx3ZTDux7qC2cJlytR82f9EUtj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":602126},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"bc7207b290135cf63458395bb1721f1d806bd61e","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.3.1-6237044-202507301022.0","@flowfuse/nr-file-nodes":"0.0.9-3886e57-202506301748.0","@flowfuse/nr-tables-nodes":"^0.1.0","@flowfuse/nr-project-nodes":"0.7.7-269bd7a-202507240835.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.19.2-bc7207b-202507301023.0_1753871000721_0.4645735833885949","host":"s3://npm-registry-packages-npm-production"}},"2.19.2-bc7207b-202507301241.0":{"name":"@flowfuse/nr-launcher","version":"2.19.2-bc7207b-202507301241.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.19.2-bc7207b-202507301241.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"24cc7e1e8ddd54c80d95123cc43209075d0f1201","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.19.2-bc7207b-202507301241.0.tgz","fileCount":43,"integrity":"sha512-AsEriKtrf21E8ufnnfD6YrfmJb1AR7fCUrO8ErcCzMRxkcleYKnAf4JW+BFsDdlPIXF3iVf7yx+Q8dO6Hmml4Q==","signatures":[{"sig":"MEUCIQC9n8r9i6mLh3Cib4ZM4/b6YaeseW6OWR/z2goAqIOxMQIgCz+M1+3kEQeBpJdJkTvGwIlWdVdPvavSY/qpcDlDZw4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":602126},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"bc7207b290135cf63458395bb1721f1d806bd61e","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.4.1-7727d4e-202507301240.0","@flowfuse/nr-file-nodes":"0.0.9-3886e57-202506301748.0","@flowfuse/nr-tables-nodes":"^0.1.0","@flowfuse/nr-project-nodes":"0.7.7-269bd7a-202507240835.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.19.2-bc7207b-202507301241.0_1753879325597_0.13185910531587197","host":"s3://npm-registry-packages-npm-production"}},"2.19.2-584542b-202507301512.0":{"name":"@flowfuse/nr-launcher","version":"2.19.2-584542b-202507301512.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.19.2-584542b-202507301512.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"5c4db7183deb59cbd840d14e92902a69410bc3a7","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.19.2-584542b-202507301512.0.tgz","fileCount":43,"integrity":"sha512-xaPIeCN9hXLPUlSFWSGr/LJhCopCYThqpx20uD4oVtA7JbDSFC8+3EGm/aX7avf0QWzuT1WLZGEFaq8K6gly5Q==","signatures":[{"sig":"MEQCIB+WXyOYDbdfMzIDSEz+zU7g3V4x28PK7CiPvBaWk4xlAiArgxJ+YGx76P6pFcuw3T3yHmpmjaOYT8nmfZQ5c6bdKg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":602126},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"584542ba283962b524e70e8f7aeb64943ef4fcb6","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.4.1-7727d4e-202507301240.0","@flowfuse/nr-file-nodes":"0.0.9-3886e57-202506301748.0","@flowfuse/nr-tables-nodes":"^0.1.0","@flowfuse/nr-project-nodes":"0.7.7-269bd7a-202507240835.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.19.2-584542b-202507301512.0_1753888347515_0.8956531337859672","host":"s3://npm-registry-packages-npm-production"}},"2.19.2-23238d8-202507301542.0":{"name":"@flowfuse/nr-launcher","version":"2.19.2-23238d8-202507301542.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.19.2-23238d8-202507301542.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"c07155e188ff27a3a02933832c4e8ada94239ec9","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.19.2-23238d8-202507301542.0.tgz","fileCount":43,"integrity":"sha512-wSSuoMBe0vA7mU0Be6o0vc2qbZVIwvm/kwf0X0jlvS84sgDHN8bJ3rgot5W5LGJgSXec+WYj5WiH00zjpoQ6Eg==","signatures":[{"sig":"MEQCIG93txVRMdXANQMhDwEuCVYZ/0XUoIayOnBYJWCnBeDGAiBvoFSQNde38LoFLIrcM+sV40N53UiJ5/rWD+WNn8GzCg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":602678},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"23238d82079e175a28228ee2c9cc312320f7ec07","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.4.1-7727d4e-202507301240.0","@flowfuse/nr-file-nodes":"0.0.9-3886e57-202506301748.0","@flowfuse/nr-tables-nodes":"^0.1.0","@flowfuse/nr-project-nodes":"0.7.7-269bd7a-202507240835.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.19.2-23238d8-202507301542.0_1753890135803_0.17568605224549283","host":"s3://npm-registry-packages-npm-production"}},"2.19.2-23238d8-202507301552.0":{"name":"@flowfuse/nr-launcher","version":"2.19.2-23238d8-202507301552.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.19.2-23238d8-202507301552.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"68f86fc24f522ef05c530c0cff9f4a331bc68683","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.19.2-23238d8-202507301552.0.tgz","fileCount":43,"integrity":"sha512-m5ERFsDO14epiSW2Zee1SVFz5Cinz6WDZ1lgF0RlGg3wnOUwnIvfnJou8OwsauvcGCbCCVPSVJJ4UamynHzvTQ==","signatures":[{"sig":"MEYCIQC8Ky8BvVtZKbLV0e40cB4V2aTKjTYhVg4Rb5VvZ8YM2AIhALXwg3WMXSk7mjuvLR1t5Gk3VhQRES4xtpB0HcL5Oy5d","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":602678},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"23238d82079e175a28228ee2c9cc312320f7ec07","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.4.1-7727d4e-202507301240.0","@flowfuse/nr-file-nodes":"0.0.9-3886e57-202506301748.0","@flowfuse/nr-tables-nodes":"^0.1.0","@flowfuse/nr-project-nodes":"0.7.7-6dc547d-202507301551.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.19.2-23238d8-202507301552.0_1753890770428_0.7628252218635541","host":"s3://npm-registry-packages-npm-production"}},"2.19.2-23238d8-202507310847.0":{"name":"@flowfuse/nr-launcher","version":"2.19.2-23238d8-202507310847.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.19.2-23238d8-202507310847.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"3568af9ee99ebe56a761f5cc982a8557e428e535","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.19.2-23238d8-202507310847.0.tgz","fileCount":43,"integrity":"sha512-3WLjyb6s3b917f6Ct7dT0g9QlgQPBRfrcvBpuH8rkPQA+tulouZFAPaZUYB4vVbX2Ks7mWjWd41E5iGJlUoIXw==","signatures":[{"sig":"MEUCIQC3UXxPtfJXahZ27ycwluidgE6yRikG/q9U479MWTyrNAIgOZRIBiSrdc3+tEHjCq2i76gv4NtuZaQb3or61/D1+rA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":602678},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"23238d82079e175a28228ee2c9cc312320f7ec07","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.4.1-7727d4e-202507301240.0","@flowfuse/nr-file-nodes":"0.0.9-3886e57-202506301748.0","@flowfuse/nr-tables-nodes":"^0.1.0","@flowfuse/nr-project-nodes":"0.7.8-d7dc94a-202507310846.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.19.2-23238d8-202507310847.0_1753951637933_0.7744534326344124","host":"s3://npm-registry-packages-npm-production"}},"2.19.2-d2ea289-202507310850.0":{"name":"@flowfuse/nr-launcher","version":"2.19.2-d2ea289-202507310850.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.19.2-d2ea289-202507310850.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"91560a01d2165f2cf96700c2d9f5f2063e95ad21","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.19.2-d2ea289-202507310850.0.tgz","fileCount":43,"integrity":"sha512-y1jJspJbu6UhW79xcaQLqT3GOb1khP9mZ+UDEFcYOaXtveLMjYDcYFWfygDZQWntzqzLMEqqohcNxGXVqjuitg==","signatures":[{"sig":"MEYCIQC0/W6LqUZEf5Az8cNHlCCNXlcVx3kD5EmRQE5VA9TMAgIhAJ2mqYdAcXeWWt1aE4wL5bbEYYEUBtmIK8xP/jjm+16Y","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":602678},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"d2ea289692e657bf3c569492a242ac7e4891f201","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.4.1-7727d4e-202507301240.0","@flowfuse/nr-file-nodes":"0.0.9-3886e57-202506301748.0","@flowfuse/nr-tables-nodes":"^0.1.0","@flowfuse/nr-project-nodes":"0.7.8-d7dc94a-202507310846.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.19.2-d2ea289-202507310850.0_1753951853034_0.29117750539622445","host":"s3://npm-registry-packages-npm-production"}},"2.20.1-04225a2-202507310919.0":{"name":"@flowfuse/nr-launcher","version":"2.20.1-04225a2-202507310919.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.20.1-04225a2-202507310919.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"bfb7f1ab6b8f276efd1ec940fd103da756447c12","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.20.1-04225a2-202507310919.0.tgz","fileCount":43,"integrity":"sha512-KQmRthqGJUP2dwBdH5dA0rnF71vgUcsDK1M/9nOvdvWrPPIQ4h1xc6Xw8kRtTcid5potAmNO76tH/55aG1a2DQ==","signatures":[{"sig":"MEYCIQDCb8tl5TlqdPrIYLzDrVhFVWz45y1UHgYYSXHMZgzbVQIhAM71q92qadHElssSBaV7+BvUZhmNjUV11ERL8hpfTRfY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":603042},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"04225a23cb2000848eaa5065f29bdac8ba0e849e","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.4.1-7727d4e-202507301240.0","@flowfuse/nr-file-nodes":"0.0.9-3886e57-202506301748.0","@flowfuse/nr-tables-nodes":"^0.1.0","@flowfuse/nr-project-nodes":"0.7.8-d7dc94a-202507310846.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.20.1-04225a2-202507310919.0_1753953583024_0.0279472466646411","host":"s3://npm-registry-packages-npm-production"}},"2.20.0":{"name":"@flowfuse/nr-launcher","version":"2.20.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.20.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"f70f5618fbe15433284a007fe763031c89cc918c","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.20.0.tgz","fileCount":43,"integrity":"sha512-yB92GSfjAxFe+QVRfhj3GskHdpFu4NoBapEvEfWlZBxTzEP49dey3e4GAC8Py/libpzZsd1tRWK7T4LPJr46+g==","signatures":[{"sig":"MEUCIH2HWX2ci7R0zVu2JwIFf1ZxoB9wUO24bgeinsuYEJoXAiEApxjh3YG7Lq0GJVZA6OL9U+w3tk9Yn2RJWDJA3C9iwAg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":602953},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"04225a23cb2000848eaa5065f29bdac8ba0e849e","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"^0.4.0","@flowfuse/nr-file-nodes":"^0.0.8","@flowfuse/nr-tables-nodes":"^0.1.0","@flowfuse/nr-project-nodes":"^0.7.7","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.20.0_1753953597424_0.6087176045108502","host":"s3://npm-registry-packages-npm-production"}},"2.20.1-04225a2-202507311230.0":{"name":"@flowfuse/nr-launcher","version":"2.20.1-04225a2-202507311230.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.20.1-04225a2-202507311230.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"87ab6600f48765d7d82d21beefd577f4e13dc459","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.20.1-04225a2-202507311230.0.tgz","fileCount":43,"integrity":"sha512-tQSw7H5K5FLarvv3/78CAtEIk+OiDUZhrShQ6aL43LY7oztTax+bcN1pSV82+d26wTqzyPuRNnNmpoOrZknBrA==","signatures":[{"sig":"MEYCIQD2Q0Chse3aBpKOlVvmC0NO1gSFemGmdsoMqpV/TOlCVAIhALIai/ALCIDUURoRgPGs9Ej996QcPMGFZpZ2zDGyZBXx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":603042},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"04225a23cb2000848eaa5065f29bdac8ba0e849e","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.4.1-7727d4e-202507301240.0","@flowfuse/nr-file-nodes":"0.0.9-3886e57-202506301748.0","@flowfuse/nr-tables-nodes":"^0.1.0","@flowfuse/nr-project-nodes":"0.7.8-3269d62-202507311229.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.20.1-04225a2-202507311230.0_1753965008608_0.5573226901491677","host":"s3://npm-registry-packages-npm-production"}},"2.20.1-04225a2-202507311233.0":{"name":"@flowfuse/nr-launcher","version":"2.20.1-04225a2-202507311233.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.20.1-04225a2-202507311233.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"b00709bbed6abac505ff480f81326853d9b9bb8a","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.20.1-04225a2-202507311233.0.tgz","fileCount":43,"integrity":"sha512-g7c+Q1nS/KlMD1NNWJ0kdn6qbxu/T187q3aS4/FwwcKzatFRckrRLnS4uCtnC0Krd575ui6kM+euOKuKD6JOQw==","signatures":[{"sig":"MEUCIQCu619g8Y75upBUnzHqzgF5KyK+ls3q8xG05mIBlFu2lwIgYeQP2E1piu42lUDO5oB2ALw9m9i4RzmrXcmLJEqdoDY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":603042},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"04225a23cb2000848eaa5065f29bdac8ba0e849e","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.4.1-7727d4e-202507301240.0","@flowfuse/nr-file-nodes":"0.0.9-78b5342-202507311232.0","@flowfuse/nr-tables-nodes":"^0.1.0","@flowfuse/nr-project-nodes":"0.7.8-3269d62-202507311229.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.20.1-04225a2-202507311233.0_1753965235398_0.2807243498886469","host":"s3://npm-registry-packages-npm-production"}},"2.20.1-8cdf7d4-202508011331.0":{"name":"@flowfuse/nr-launcher","version":"2.20.1-8cdf7d4-202508011331.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.20.1-8cdf7d4-202508011331.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"b1c27a9c58adfeac78775352420b1b3759f474f9","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.20.1-8cdf7d4-202508011331.0.tgz","fileCount":43,"integrity":"sha512-/anlTv9Mgj7FrcxRRxWbPX7qxWU/I5oTjjgicNOL/6iXtZgJpLUmEoy9UonnTe6Hi0xKmvRnJzt22fZqrZp19A==","signatures":[{"sig":"MEUCIQCg2dalv+IXAgZt3P+1mhCNtuYgfRNVx6gPFNSUfQzCUwIgbLuvHym8Qy1Gr/gADC6ePIuNr/zzAP+WRmgyCi6HYOg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":603122},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"8cdf7d401e27bd227b739f6d6c3c13017d106ec0","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.4.1-7727d4e-202507301240.0","@flowfuse/nr-file-nodes":"0.0.9-78b5342-202507311232.0","@flowfuse/nr-tables-nodes":"^0.1.0","@flowfuse/nr-project-nodes":"0.7.8-3269d62-202507311229.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.20.1-8cdf7d4-202508011331.0_1754055071140_0.9824291513149737","host":"s3://npm-registry-packages-npm-production"}},"2.20.1-0e12655-202508070738.0":{"name":"@flowfuse/nr-launcher","version":"2.20.1-0e12655-202508070738.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.20.1-0e12655-202508070738.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"ce3c7e8c7dca387023f62a25eed337ddf77ea5bf","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.20.1-0e12655-202508070738.0.tgz","fileCount":43,"integrity":"sha512-ROyAi07msHXkpIYefXkuFlRXdNtH3f4pHP2jn47nu66kXz8EHN2RELm1ZBCSA5w/yMBvy/pEbBAtCph74HONmw==","signatures":[{"sig":"MEUCIQDS/8ez1UI3HKz/m956UeuT3gRKQQ0RfHw5wx5Q8uqJSQIgVxayr+QddJSn8m/oTrB++5RiRF8Vr7Uex9cpWK0nspE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":604309},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"0e1265557b04e7a31f030876536b7b0a0d50182d","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.4.1-7727d4e-202507301240.0","@flowfuse/nr-file-nodes":"0.0.9-78b5342-202507311232.0","@flowfuse/nr-tables-nodes":"^0.1.0","@flowfuse/nr-project-nodes":"0.7.8-3269d62-202507311229.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.20.1-0e12655-202508070738.0_1754552323814_0.3753024702141814","host":"s3://npm-registry-packages-npm-production"}},"2.20.1-0e12655-202508111008.0":{"name":"@flowfuse/nr-launcher","version":"2.20.1-0e12655-202508111008.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.20.1-0e12655-202508111008.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"567241564333b77aca159ad4e2d79e1a1a5eff76","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.20.1-0e12655-202508111008.0.tgz","fileCount":43,"integrity":"sha512-c0x3cOFIJorgon83eZDPmy89V709uBE2D+LwmWlnSuoZrELTP9hMpo+wsB7b5UrxUHvY1HNfc/GX8tZU1bEgjw==","signatures":[{"sig":"MEUCIEHJ2ssrdT/PriTXQCxE/KiJUBrfQPeQtEMKfe1hKmBZAiEAqmro5fGQEiI3Dvt40rS1jZd1oiXna25Vf9+VnlLgKmE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":604309},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"0e1265557b04e7a31f030876536b7b0a0d50182d","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.4.1-878c0e5-202508111007.0","@flowfuse/nr-file-nodes":"0.0.9-78b5342-202507311232.0","@flowfuse/nr-tables-nodes":"^0.1.0","@flowfuse/nr-project-nodes":"0.7.8-3269d62-202507311229.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.20.1-0e12655-202508111008.0_1754906926121_0.530406116392012","host":"s3://npm-registry-packages-npm-production"}},"2.20.1-7a494ed-202508120844.0":{"name":"@flowfuse/nr-launcher","version":"2.20.1-7a494ed-202508120844.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.20.1-7a494ed-202508120844.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"f7f2a187723cd51e899843046b5ee2f86e72d691","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.20.1-7a494ed-202508120844.0.tgz","fileCount":43,"integrity":"sha512-gq8/SZy0lOnrrzElaLF/7IvB+nrw6JrcOBbiuCf3cVIpTyO7V7Iu22lLyXuM/j0xSC/JCmK6bPbmRL78Jsv7ag==","signatures":[{"sig":"MEUCIQCbtHN4m+24LvhaUlOMUgviYyDo8F2fldRf6pjNXyDWTgIgbibwU+GOl6ig3UbO+xRNQ/DKlImiLShE4mOQXbQIecA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":604309},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"7a494ed3920b9cf51f6dafc350e6ece7fa116d31","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.4.1-878c0e5-202508111007.0","@flowfuse/nr-file-nodes":"0.0.9-78b5342-202507311232.0","@flowfuse/nr-tables-nodes":"^0.1.0","@flowfuse/nr-project-nodes":"0.7.8-3269d62-202507311229.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.20.1-7a494ed-202508120844.0_1754988296873_0.8494967298978335","host":"s3://npm-registry-packages-npm-production"}},"2.20.1-c835553-202508120847.0":{"name":"@flowfuse/nr-launcher","version":"2.20.1-c835553-202508120847.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.20.1-c835553-202508120847.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"73e0e205748b68b609a1c06884d4512a240a963d","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.20.1-c835553-202508120847.0.tgz","fileCount":43,"integrity":"sha512-WhfEwrUtNXB6c5iXQMFZPnF0wk+E1cLAWACayVFrIdZWlZwGq4VdtE5ZoeTweR716s6C1jYhmSbfF3sylpXT7g==","signatures":[{"sig":"MEUCIQDa2hk+4x6xVP58jBIIzAL4jPZkOo0ZbCiBdgtCkQLVdQIgOmWqKEtrsQ9AlFUGZoBX3/QvtCtpmzEv1wX4Ebl/xhs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":604309},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"c83555358186c2a77616dfe566582ec42a02be8f","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.4.1-878c0e5-202508111007.0","@flowfuse/nr-file-nodes":"0.0.9-78b5342-202507311232.0","@flowfuse/nr-tables-nodes":"^0.1.0","@flowfuse/nr-project-nodes":"0.7.8-3269d62-202507311229.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.20.1-c835553-202508120847.0_1754988486647_0.4997469914097701","host":"s3://npm-registry-packages-npm-production"}},"2.20.1-c835553-202508120849.0":{"name":"@flowfuse/nr-launcher","version":"2.20.1-c835553-202508120849.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.20.1-c835553-202508120849.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"b5e286528952e5d84dd7c5c4b0e227ad91b24cd1","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.20.1-c835553-202508120849.0.tgz","fileCount":43,"integrity":"sha512-2YJk3KvCeQH46KwG0OdfLinp2P1I+1D4Gqvw0fHUxiJ1dpZ6+sNG/A7EEdkaPU3xOmm7Su6KBl5wC55euRbe8A==","signatures":[{"sig":"MEQCIEGhSDAUIWxPQDmQk5E4ZF1QfF6yvR+Eh3wKlni0LIs2AiA3iKqyLYMYv3rOaDNNSjVuxbcgf3pN4iwxnnERT3kXPw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":604309},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"c83555358186c2a77616dfe566582ec42a02be8f","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.4.1-878c0e5-202508111007.0","@flowfuse/nr-file-nodes":"0.0.9-78b5342-202507311232.0","@flowfuse/nr-tables-nodes":"^0.1.0","@flowfuse/nr-project-nodes":"0.7.8-aa77c44-202508120848.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.20.1-c835553-202508120849.0_1754988545049_0.2388204538200409","host":"s3://npm-registry-packages-npm-production"}},"2.20.1-61f2396-202508121034.0":{"name":"@flowfuse/nr-launcher","version":"2.20.1-61f2396-202508121034.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.20.1-61f2396-202508121034.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"b407dfd653c2a561480e1ad65770422dea834469","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.20.1-61f2396-202508121034.0.tgz","fileCount":43,"integrity":"sha512-K+7foDbyRQsu9POD4Pq4c8nJ3ZqCaVCHculIizKp6rRl8F5QvBLAHaixC8P0QtYa6d53AJ/b9qDuTVaE+SikEQ==","signatures":[{"sig":"MEQCIC/IOOVOwEIOaFr8yYPTbE+No46g4FNVbjJY6nnzHhtYAiBJMUWmk9ISztBKWgMd6WJwEsQfh0+QEOrN+oCwl890dg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":604862},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"61f239659e46feee49fd0e455f8dfb4a60d2508a","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.4.1-878c0e5-202508111007.0","@flowfuse/nr-file-nodes":"0.0.9-78b5342-202507311232.0","@flowfuse/nr-tables-nodes":"^0.1.0","@flowfuse/nr-project-nodes":"0.7.8-aa77c44-202508120848.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.20.1-61f2396-202508121034.0_1754994912381_0.9318769985030821","host":"s3://npm-registry-packages-npm-production"}},"2.20.1-f15bf37-202508130847.0":{"name":"@flowfuse/nr-launcher","version":"2.20.1-f15bf37-202508130847.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.20.1-f15bf37-202508130847.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"1671f74c0e6e8c6d45472fc81c7baf029c01b93a","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.20.1-f15bf37-202508130847.0.tgz","fileCount":43,"integrity":"sha512-vRRhUEYxKljSfyfSFdTugokc5M79SLNoxCU1AzYVmVBqaO2yu2VYYR3izeJ8fPEcwP/xTSygJA0cr0Q3TzF7ag==","signatures":[{"sig":"MEUCIQDGfl4QSzWSJXektZovUdNwOAjThgByZ+eglbFiyVC3AgIgfGU9Yz0hiQcAUv4Tn4k6PNrXSv+KX1DDcqV/ahVU3Pg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":604860},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"f15bf37bce68f20d3057aa1c9806ddbd1790f7c0","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.4.1-878c0e5-202508111007.0","@flowfuse/nr-file-nodes":"0.0.9-78b5342-202507311232.0","@flowfuse/nr-tables-nodes":"null","@flowfuse/nr-project-nodes":"0.7.8-aa77c44-202508120848.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.20.1-f15bf37-202508130847.0_1755074856725_0.7426682919208332","host":"s3://npm-registry-packages-npm-production"}},"2.20.1-f15bf37-202508131027.0":{"name":"@flowfuse/nr-launcher","version":"2.20.1-f15bf37-202508131027.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.20.1-f15bf37-202508131027.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"637314829a27e3fce2bd7f65a9ff2ccb6f368bdf","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.20.1-f15bf37-202508131027.0.tgz","fileCount":43,"integrity":"sha512-FgpkqQE1A9mfvpvQ4y0DT0S7pY+gL3YvSSXcdgIcPj8vWokg4gJMpSFJ2OSxY+f0FhPjScUscTfYpcgQdHEDmA==","signatures":[{"sig":"MEYCIQDufD8t472e6s1xboyTvpGO8nsqAEvZBBvVV2HedrqW0wIhALShE2zKLzHoDbWbY1lWjbf/gY9OP9z4MNdeSGoUiEgp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":604884},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"f15bf37bce68f20d3057aa1c9806ddbd1790f7c0","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.4.1-878c0e5-202508111007.0","@flowfuse/nr-file-nodes":"0.0.9-78b5342-202507311232.0","@flowfuse/nr-tables-nodes":"0.1.1-2578762-202508131026.0","@flowfuse/nr-project-nodes":"0.7.8-aa77c44-202508120848.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.20.1-f15bf37-202508131027.0_1755080843403_0.2136563422947546","host":"s3://npm-registry-packages-npm-production"}},"2.20.1-25c598d-202508180707.0":{"name":"@flowfuse/nr-launcher","version":"2.20.1-25c598d-202508180707.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.20.1-25c598d-202508180707.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"f44d89bab7df9cf715e7d8dd4879a91409b248cf","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.20.1-25c598d-202508180707.0.tgz","fileCount":43,"integrity":"sha512-ML/K4s2WMDu7cLVspkBLHMpEkmUGyQtn5pJmz72MyLOd8fTK4zaBVSml2I8nrzwjSM3ADQ7XdPqKAWDbHsb4LA==","signatures":[{"sig":"MEUCIAsuXT/fz2v4OVQplaMAAxsPE/pdsp+i8eHOSDX8NywpAiEAqfQjQ+fEqotaovyPMCFXvPXR30dwAQ6l6yEUgwoHI6o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":604927},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"25c598d147d74b195622d431a5d524a3c171df1e","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.4.1-878c0e5-202508111007.0","@flowfuse/nr-file-nodes":"0.0.9-78b5342-202507311232.0","@flowfuse/nr-mqtt-nodes":"null","@flowfuse/nr-tables-nodes":"0.1.1-2578762-202508131026.0","@flowfuse/nr-project-nodes":"0.7.8-aa77c44-202508120848.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.20.1-25c598d-202508180707.0_1755500884425_0.9886067600133668","host":"s3://npm-registry-packages-npm-production"}},"2.20.1-25c598d-202508180710.0":{"name":"@flowfuse/nr-launcher","version":"2.20.1-25c598d-202508180710.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.20.1-25c598d-202508180710.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"df7b718164f5a4bfd3b78ee8edea0d5bc5da6663","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.20.1-25c598d-202508180710.0.tgz","fileCount":43,"integrity":"sha512-ZeRZz21s7Ef2cKaT3xgfEyjwY7X0VstJafWMV4+4QDRgJX7M9W9581vi3yijoYgvIy4u+JQSiNm/H3hifH//SA==","signatures":[{"sig":"MEUCICNDywwBKEbvwo5zga7Ha0rSIbuJnyGAv2rGfPCQII6OAiEA4rMCWf2NS/9CYiKDlO7q5+7qpFHckOpapNGaDCsJXU8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":604927},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"25c598d147d74b195622d431a5d524a3c171df1e","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.4.1-878c0e5-202508111007.0","@flowfuse/nr-file-nodes":"0.0.9-78b5342-202507311232.0","@flowfuse/nr-mqtt-nodes":"null","@flowfuse/nr-tables-nodes":"0.1.1-2578762-202508131026.0","@flowfuse/nr-project-nodes":"0.7.8-aa77c44-202508120848.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.20.1-25c598d-202508180710.0_1755501018903_0.41429408272909374","host":"s3://npm-registry-packages-npm-production"}},"2.20.1-25c598d-202508180832.0":{"name":"@flowfuse/nr-launcher","version":"2.20.1-25c598d-202508180832.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.20.1-25c598d-202508180832.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"52a99958b0159aec70a59b9a2bf15509bcc6829f","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.20.1-25c598d-202508180832.0.tgz","fileCount":43,"integrity":"sha512-IjJsKRlrhP6iE74EDRPpNpXmBBQ0W9QI2j0Sfv+Icqsy0gviQjchV/iLlKsL2ikddFoDOhZXB/6twlhU3R67Vg==","signatures":[{"sig":"MEUCIQDhQgqbTrZTdj+ECgY539oPgTNSvhGDrBe7zCIg0+yfewIgQneWZj5wrPiyMQKM7bYkmwmUqJCLGcWUg555s6BLoCQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":604927},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"25c598d147d74b195622d431a5d524a3c171df1e","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.4.1-878c0e5-202508111007.0","@flowfuse/nr-file-nodes":"0.0.9-78b5342-202507311232.0","@flowfuse/nr-mqtt-nodes":"null","@flowfuse/nr-tables-nodes":"0.1.1-2578762-202508131026.0","@flowfuse/nr-project-nodes":"0.7.8-aa77c44-202508120848.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.20.1-25c598d-202508180832.0_1755505982775_0.11980586717246733","host":"s3://npm-registry-packages-npm-production"}},"2.20.1-25c598d-202508180853.0":{"name":"@flowfuse/nr-launcher","version":"2.20.1-25c598d-202508180853.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.20.1-25c598d-202508180853.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"8aedb6df21c13efd32b6c25ccc277676bf39b671","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.20.1-25c598d-202508180853.0.tgz","fileCount":43,"integrity":"sha512-K56cHlslnAxfBZezkUzGL5FEnsNr6+/hjgihnMzjM7qlno/mA+mRqXhFAf9AeXcf6Fit1BAZ/ilD+tQUYHXPgA==","signatures":[{"sig":"MEYCIQCeuDirgLDMmD7hFahTEm0Gzjjcf2AUSi9d/jTl/h25iQIhANHLFrv1dXEqnCqc/WelRe7fMNlyQpbh/BGNbuv1uh0l","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":604951},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"25c598d147d74b195622d431a5d524a3c171df1e","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.4.1-91d3033-202508180852.0","@flowfuse/nr-file-nodes":"0.0.9-78b5342-202507311232.0","@flowfuse/nr-mqtt-nodes":"0.1.1-50d1a18-202508180832.0","@flowfuse/nr-tables-nodes":"0.1.1-2578762-202508131026.0","@flowfuse/nr-project-nodes":"0.7.8-aa77c44-202508120848.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.20.1-25c598d-202508180853.0_1755507232851_0.5047202300008731","host":"s3://npm-registry-packages-npm-production"}},"2.20.1-b7a2a7e-202508180933.0":{"name":"@flowfuse/nr-launcher","version":"2.20.1-b7a2a7e-202508180933.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.20.1-b7a2a7e-202508180933.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"93a515faf957aca1eb822f8ff4b821cb2b9989b0","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.20.1-b7a2a7e-202508180933.0.tgz","fileCount":43,"integrity":"sha512-dTDUb4KSAwjlbFsooUTM78gHj1Zee1yk7mImI2/pmpplLB6gRGIRjiZf0WfNbwoeat90CqirvYpbJnmZjIAJzw==","signatures":[{"sig":"MEUCIDVnTvxw6EWuFgxg/r9cX/4q4ziy8Mw3sOBkAw+8UYxhAiEA0bLIiIBNs4fv13OjMzIJCx7coXI/UqbrWMSlbx54LIg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":606000},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"b7a2a7e9c24a107ec078c014d2633e0bd8239b5b","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.4.1-91d3033-202508180852.0","@flowfuse/nr-file-nodes":"0.0.9-78b5342-202507311232.0","@flowfuse/nr-mqtt-nodes":"0.1.1-50d1a18-202508180832.0","@flowfuse/nr-tables-nodes":"0.1.1-2578762-202508131026.0","@flowfuse/nr-project-nodes":"0.7.8-aa77c44-202508120848.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.20.1-b7a2a7e-202508180933.0_1755509637778_0.2011176828479737","host":"s3://npm-registry-packages-npm-production"}},"2.20.1-b7a2a7e-202508180948.0":{"name":"@flowfuse/nr-launcher","version":"2.20.1-b7a2a7e-202508180948.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.20.1-b7a2a7e-202508180948.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"9536dd8ad204ae84a56decf823d953d6b85ab10f","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.20.1-b7a2a7e-202508180948.0.tgz","fileCount":43,"integrity":"sha512-TWAmybd80DHuK5/oV/VQ5BFPDUeM/bkK7hXZ1bsPe+Pay4oIFCLR9NplL5uqbnxNZlQWMz5dwEVluEFrkhNdWA==","signatures":[{"sig":"MEUCIQCgsekZCutJKwu56aPXZtHsFmMb1PsDzusLU3SZPzQHZwIgB+LCjvZDGYhBS8NmsyU+siwnCxJka3aUDVNqwEL4aN4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":606000},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"b7a2a7e9c24a107ec078c014d2633e0bd8239b5b","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.4.1-91d3033-202508180852.0","@flowfuse/nr-file-nodes":"0.0.9-78b5342-202507311232.0","@flowfuse/nr-mqtt-nodes":"0.1.1-c172132-202508180948.0","@flowfuse/nr-tables-nodes":"0.1.1-2578762-202508131026.0","@flowfuse/nr-project-nodes":"0.7.8-aa77c44-202508120848.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.20.1-b7a2a7e-202508180948.0_1755510547731_0.7303230708978943","host":"s3://npm-registry-packages-npm-production"}},"2.20.1-b7a2a7e-202508190630.0":{"name":"@flowfuse/nr-launcher","version":"2.20.1-b7a2a7e-202508190630.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.20.1-b7a2a7e-202508190630.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"e79b8c18544f2202162d53a35aad08910179370d","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.20.1-b7a2a7e-202508190630.0.tgz","fileCount":43,"integrity":"sha512-a8V38h4x+/jIx7LeGp+1xUWppL2mVL+S2oLbjCitSqp9dfSwPLhF1yhCKInmr3q4sxegznCfS/ZvA11eMH+bDg==","signatures":[{"sig":"MEQCIFGgIHY5wzqubvKQNQxbspwOt1gK3huAIR0RO/978C3nAiB6myM4F43Y2Jt9qJ5huQAV5E/glqNhBLjx3L22IEi8EA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":606000},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"b7a2a7e9c24a107ec078c014d2633e0bd8239b5b","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.4.1-91d3033-202508180852.0","@flowfuse/nr-file-nodes":"0.0.9-25d4712-202508190630.0","@flowfuse/nr-mqtt-nodes":"0.1.1-c172132-202508180948.0","@flowfuse/nr-tables-nodes":"0.1.1-2578762-202508131026.0","@flowfuse/nr-project-nodes":"0.7.8-be88010-202508190630.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.20.1-b7a2a7e-202508190630.0_1755585046687_0.400264968059727","host":"s3://npm-registry-packages-npm-production"}},"2.20.1-b7a2a7e-202508190631.0":{"name":"@flowfuse/nr-launcher","version":"2.20.1-b7a2a7e-202508190631.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.20.1-b7a2a7e-202508190631.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"42e910f608973c2207bd9fa8b6f3f060f1777b8e","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.20.1-b7a2a7e-202508190631.0.tgz","fileCount":43,"integrity":"sha512-mCgg5zEvoqIukgwHKfOKs165g+naSRygd29LKPxi1taUYdsOIde9MrurWlVN0yRs1JO3ukFhSNU0X2E8OAnuvQ==","signatures":[{"sig":"MEUCIDQuftudmr8bFFEtWb73pt7Gg6FEfaaRMXKKRgiZDMloAiEAtkj0Uv0fzZFzBi1WCFqjc++m1cDVsXMutiBBbK6Ec2I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":606000},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"b7a2a7e9c24a107ec078c014d2633e0bd8239b5b","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.4.1-91d3033-202508180852.0","@flowfuse/nr-file-nodes":"0.0.9-25d4712-202508190630.0","@flowfuse/nr-mqtt-nodes":"0.1.1-c172132-202508180948.0","@flowfuse/nr-tables-nodes":"0.1.1-2578762-202508131026.0","@flowfuse/nr-project-nodes":"0.7.8-be88010-202508190630.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.20.1-b7a2a7e-202508190631.0_1755585066594_0.6127219640916186","host":"s3://npm-registry-packages-npm-production"}},"2.20.1-46f9b29-202508260940.0":{"name":"@flowfuse/nr-launcher","version":"2.20.1-46f9b29-202508260940.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.20.1-46f9b29-202508260940.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"2aa08328e058231b826b6a885e7792329d79849a","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.20.1-46f9b29-202508260940.0.tgz","fileCount":43,"integrity":"sha512-UJDkZ2ZJDJ3pwyGCv9Z8QiCQzcV0th5qVbW5jYXawFwWkFXO120eea95AGmR15oOayuefzdpOjfFMTZNGFP0nw==","signatures":[{"sig":"MEUCIQC4NYW29P+PphFXj+i+Fmc8URckjwqR+T0EMY29SgyDDgIgNtfGNz8m6pIUh/ukAaDqz7oyeyO1/71SeR6BM1GB1EM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":606494},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"46f9b29ff1d5be881f3915d37ec8b7f93cc3e3ce","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.4.1-91d3033-202508180852.0","@flowfuse/nr-file-nodes":"0.0.9-25d4712-202508190630.0","@flowfuse/nr-mqtt-nodes":"0.1.1-c172132-202508180948.0","@flowfuse/nr-tables-nodes":"0.1.1-2578762-202508131026.0","@flowfuse/nr-project-nodes":"0.7.8-be88010-202508190630.0","@flowfuse/nr-subflow-export":"^1.0.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.20.1-46f9b29-202508260940.0_1756201337770_0.2750702837412289","host":"s3://npm-registry-packages-npm-production"}},"2.20.1-46f9b29-202508261332.0":{"name":"@flowfuse/nr-launcher","version":"2.20.1-46f9b29-202508261332.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.20.1-46f9b29-202508261332.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"791eb08e2f5b86961185a5cbb0de298d621b9217","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.20.1-46f9b29-202508261332.0.tgz","fileCount":43,"integrity":"sha512-+HiH+XCwDPXdcMMIYvHo2779Y823uTXvplrMB98OlS0RWILpo24AZLvKj+naPhxPSZw1tL/4xo1zjE9Gza9rIw==","signatures":[{"sig":"MEQCIE3ZAH9n5DteGNRE0O5+wkWVBsoyLWY44LTceJZrCKEZAiALSaW9KELoqJkrZGQgNCSiFN3FqpKnZ678lscQI4iiCA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":606494},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"46f9b29ff1d5be881f3915d37ec8b7f93cc3e3ce","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.4.1-429f18d-202508261332.0","@flowfuse/nr-file-nodes":"0.0.9-25d4712-202508190630.0","@flowfuse/nr-mqtt-nodes":"0.1.1-c172132-202508180948.0","@flowfuse/nr-tables-nodes":"0.1.1-2578762-202508131026.0","@flowfuse/nr-project-nodes":"0.7.8-be88010-202508190630.0","@flowfuse/nr-subflow-export":"^1.0.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.20.1-46f9b29-202508261332.0_1756215182535_0.5697542470099539","host":"s3://npm-registry-packages-npm-production"}},"2.20.1-3939ee7-202508270928.0":{"name":"@flowfuse/nr-launcher","version":"2.20.1-3939ee7-202508270928.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.20.1-3939ee7-202508270928.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"0fc8224132f9c64f28ae361361d70f1dca2470e3","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.20.1-3939ee7-202508270928.0.tgz","fileCount":43,"integrity":"sha512-VQcp+o6/yw3HJqPdVyS68lcu/DfNddGuMBkplHfWGBj8TQZvw5fTet4MSn5UhPvs2bpD7IDGmcngJDNo4XWy+g==","signatures":[{"sig":"MEQCIH0OGbyjExCsTq8kboWB6SHoBjmhmVVtbE4DE9LaCP89AiB4ucPOWROdDue/k3/0o0pWBCZTettJF/AZLpls3taAxg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":608040},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"3939ee70f460c599dcbfaf18526c5f2d474412e4","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.4.1-429f18d-202508261332.0","@flowfuse/nr-file-nodes":"0.0.9-25d4712-202508190630.0","@flowfuse/nr-mqtt-nodes":"0.1.1-c172132-202508180948.0","@flowfuse/nr-tables-nodes":"0.1.1-2578762-202508131026.0","@flowfuse/nr-project-nodes":"0.7.8-be88010-202508190630.0","@flowfuse/nr-subflow-export":"^1.0.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.20.1-3939ee7-202508270928.0_1756286948514_0.6719873227045676","host":"s3://npm-registry-packages-npm-production"}},"2.20.1-3939ee7-202508280849.0":{"name":"@flowfuse/nr-launcher","version":"2.20.1-3939ee7-202508280849.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.20.1-3939ee7-202508280849.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"dfaa950c6f93852e53406665173b6947051ccca7","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.20.1-3939ee7-202508280849.0.tgz","fileCount":43,"integrity":"sha512-T/4TLdmxY2gywXdvEaqU9otE3W+KGp91RHc3/uJA47Dig6MYL38yX6JUhlRx4jmaMReWl2JJ35LgdFspj1C3Yw==","signatures":[{"sig":"MEUCIQCDsxmRZrvi7ut4kMr8YupGk4GuBJE9vCDzowzXGhTwugIgMNKebfLL2VjeUQ1yTFN6JRcehEpEulXgi3jejWvvz1E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":608040},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"3939ee70f460c599dcbfaf18526c5f2d474412e4","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.5.1-78995c8-202508280848.0","@flowfuse/nr-file-nodes":"0.0.9-25d4712-202508190630.0","@flowfuse/nr-mqtt-nodes":"0.1.1-c172132-202508180948.0","@flowfuse/nr-tables-nodes":"0.1.1-2578762-202508131026.0","@flowfuse/nr-project-nodes":"0.7.8-be88010-202508190630.0","@flowfuse/nr-subflow-export":"^1.0.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.20.1-3939ee7-202508280849.0_1756370988516_0.7150570607130684","host":"s3://npm-registry-packages-npm-production"}},"2.20.1-a5570ad-202508280914.0":{"name":"@flowfuse/nr-launcher","version":"2.20.1-a5570ad-202508280914.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.20.1-a5570ad-202508280914.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"1c7a27be4bdc151cd536d240f9c24ad4b89ce744","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.20.1-a5570ad-202508280914.0.tgz","fileCount":43,"integrity":"sha512-oa4+GFhGWheTojJwrQXTPNRVfM2SePNKfbug7hShQBQnX03me6N4a3u5896M0sPflq2EVA35zutAFj38epqwSw==","signatures":[{"sig":"MEUCIBuTn52hXfLRPcfbDLl1WWGj/VaixFIXqpwjH7QldnSIAiEA5kS8HQF5Ks4HVvhQ39e5SiPazHAtQtFmb1r5oeJ1c1s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":608040},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"a5570adb799cfaa32231b5fd2dbc26521c345631","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.5.1-78995c8-202508280848.0","@flowfuse/nr-file-nodes":"0.0.9-25d4712-202508190630.0","@flowfuse/nr-mqtt-nodes":"0.1.1-c172132-202508180948.0","@flowfuse/nr-tables-nodes":"0.1.1-2578762-202508131026.0","@flowfuse/nr-project-nodes":"0.7.8-be88010-202508190630.0","@flowfuse/nr-subflow-export":"^1.0.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.20.1-a5570ad-202508280914.0_1756372478828_0.7657993047670815","host":"s3://npm-registry-packages-npm-production"}},"2.21.1-9ff1a77-202508280927.0":{"name":"@flowfuse/nr-launcher","version":"2.21.1-9ff1a77-202508280927.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.21.1-9ff1a77-202508280927.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"83ee0e5b68e6a474c0fe99daebc003c90f3c20e2","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.21.1-9ff1a77-202508280927.0.tgz","fileCount":43,"integrity":"sha512-JVAMDi0BqiXOk68ikbhpxW7pKIgT5jYWpxp8R3IgYGJc//Am/VlzAWYLxilHuRACOU5RnO7jZz3SBXRuApoGsw==","signatures":[{"sig":"MEUCIFD6dVYtEYULkA/Xa/Ho+2sR/SXRg0KAaEKktB2hzYWqAiEA0oPQxvD29W1sD2dm8Bb8iqcJhPwsoyKPiBJJzTqJiFc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":608687},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"9ff1a77f3cb3dea57d97b4582e1f97797635cb25","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.5.1-78995c8-202508280848.0","@flowfuse/nr-file-nodes":"0.0.9-25d4712-202508190630.0","@flowfuse/nr-mqtt-nodes":"0.1.1-c172132-202508180948.0","@flowfuse/nr-tables-nodes":"0.1.1-2578762-202508131026.0","@flowfuse/nr-project-nodes":"0.7.8-be88010-202508190630.0","@flowfuse/nr-subflow-export":"^1.0.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.21.1-9ff1a77-202508280927.0_1756373269708_0.27244896090160897","host":"s3://npm-registry-packages-npm-production"}},"2.21.0":{"name":"@flowfuse/nr-launcher","version":"2.21.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.21.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"9a59622a2bf82b58fcc369380f647f438d0e1b7e","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.21.0.tgz","fileCount":43,"integrity":"sha512-HcyqTWBAMFB66WkprRvozbGPHnfTH94p3cTXo6oQILRgq6nDQob5mSXrUx+KJFMhqa1W6MFsD7Nmu5nRQ8jZSA==","signatures":[{"sig":"MEUCIQD6EWRkhpWMECjAgKCZYSG1U/LgryrNhAFiyRX6d4v+lwIgN8xJAsOQr0eQ8fs6TxbTLho1Ry1AGTpS2yCT9yG05kY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":608554},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"9ff1a77f3cb3dea57d97b4582e1f97797635cb25","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"^0.5.0","@flowfuse/nr-file-nodes":"^0.0.8","@flowfuse/nr-mqtt-nodes":"^0.1.0","@flowfuse/nr-tables-nodes":"^0.1.0","@flowfuse/nr-project-nodes":"^0.7.7","@flowfuse/nr-subflow-export":"^1.0.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.21.0_1756373310885_0.8241035018504661","host":"s3://npm-registry-packages-npm-production"}},"2.21.1-9ff1a77-202508281120.0":{"name":"@flowfuse/nr-launcher","version":"2.21.1-9ff1a77-202508281120.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.21.1-9ff1a77-202508281120.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"e1a6f4178f69c7aa903735db5cb255b3d8760c8b","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.21.1-9ff1a77-202508281120.0.tgz","fileCount":43,"integrity":"sha512-0rHjDKJ32ZJnXQHDkEutsRYFrHrLdEWO8aPIHLF8S2Oz0YfF5QHebLcwMbw9y1PCC/sakI3jkEu4zeQyREiFOA==","signatures":[{"sig":"MEUCIQDuGiEwN6YX7k8IHel55W0/t45R3TYKC7Bf10zR1fk3WAIgaD7Iav40zPuSfGhLjXULriw5o1AqPnBVHM+ITtjG87s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":608687},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"9ff1a77f3cb3dea57d97b4582e1f97797635cb25","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.5.1-78995c8-202508280848.0","@flowfuse/nr-file-nodes":"0.0.9-25d4712-202508190630.0","@flowfuse/nr-mqtt-nodes":"0.1.2-a1c84db-202508281119.0","@flowfuse/nr-tables-nodes":"0.1.1-2578762-202508131026.0","@flowfuse/nr-project-nodes":"0.7.8-be88010-202508190630.0","@flowfuse/nr-subflow-export":"^1.0.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.21.1-9ff1a77-202508281120.0_1756380019449_0.33453364378170547","host":"s3://npm-registry-packages-npm-production"}},"2.21.1-83fc582-202508281143.0":{"name":"@flowfuse/nr-launcher","version":"2.21.1-83fc582-202508281143.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.21.1-83fc582-202508281143.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"024686974bcf50d07026760476616affd16cc176","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.21.1-83fc582-202508281143.0.tgz","fileCount":43,"integrity":"sha512-tkBUlU4LTME6SlaKG8ZBXvxbrq0MyZuJNqFvQhSSF5UFoQ4YdxtFnP9qwYVTJOO9Gxva+hrX/fRDp2b7MMiHtg==","signatures":[{"sig":"MEUCIQCsipMpKl/VjRf8uxydyDfNOfl/kmLTgd4BCAvlzdm6JAIgdimRns1XCmmgnMa+b/wtTJMSfrmOirdi909wSCz+vx4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":608687},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"83fc5822067fb6e5f6d0ad0c90d2e33da3facb23","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.5.1-78995c8-202508280848.0","@flowfuse/nr-file-nodes":"0.0.9-25d4712-202508190630.0","@flowfuse/nr-mqtt-nodes":"0.1.2-a1c84db-202508281119.0","@flowfuse/nr-tables-nodes":"0.1.1-2578762-202508131026.0","@flowfuse/nr-project-nodes":"0.7.8-be88010-202508190630.0","@flowfuse/nr-subflow-export":"^1.0.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.21.1-83fc582-202508281143.0_1756381436286_0.32069718890857835","host":"s3://npm-registry-packages-npm-production"}},"2.21.2-e413d51-202508281155.0":{"name":"@flowfuse/nr-launcher","version":"2.21.2-e413d51-202508281155.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.21.2-e413d51-202508281155.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"8b69cf4ce2508792f352d9f43af78af90a6c3db1","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.21.2-e413d51-202508281155.0.tgz","fileCount":43,"integrity":"sha512-iCNudwOTrMTanghLVNdI2QoduDa/Z985QEEKQXzKp1vCswZs29cJ0dBKzPA+MkxR94UwpJx/AhocWwBIdUsLGg==","signatures":[{"sig":"MEUCIQCTkr3hr/Z7hpKzfNyj8hSAeYsu7gqiucA8Q6f5eN5aOQIgAXxNcdLnTi+hRdMhFhExlgqmcI1t4UhBuEvlWxHZHDw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":608790},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"e413d5192396d6afda0725194d76fb996464f7a4","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.5.1-78995c8-202508280848.0","@flowfuse/nr-file-nodes":"0.0.9-25d4712-202508190630.0","@flowfuse/nr-mqtt-nodes":"0.1.2-a1c84db-202508281119.0","@flowfuse/nr-tables-nodes":"0.1.1-2578762-202508131026.0","@flowfuse/nr-project-nodes":"0.7.8-be88010-202508190630.0","@flowfuse/nr-subflow-export":"^1.0.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.21.2-e413d51-202508281155.0_1756382155922_0.587471401611261","host":"s3://npm-registry-packages-npm-production"}},"2.21.1":{"name":"@flowfuse/nr-launcher","version":"2.21.1","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.21.1","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"e1da0b2cb4ac5ce832c238bef0de58bd4de9d738","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.21.1.tgz","fileCount":43,"integrity":"sha512-/Q9AOGZHFML5UeszCo/PD8ksGTHvWNW8Sy2lHtZYITymd4/BIfyMMpwj7h0xim/r7VhK4gTMraZSndf/LqJBJw==","signatures":[{"sig":"MEUCIQDcwL+PyNYbJOSZ5omjYb7w0+Or1ueBOYEQeS+FHKyOYQIgOfyRDtQG1qr2JjGZEeeFrDaUge0BlTI7HA/Tamwgwc0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":608657},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"e413d5192396d6afda0725194d76fb996464f7a4","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"^0.5.0","@flowfuse/nr-file-nodes":"^0.0.8","@flowfuse/nr-mqtt-nodes":"^0.1.1","@flowfuse/nr-tables-nodes":"^0.1.0","@flowfuse/nr-project-nodes":"^0.7.7","@flowfuse/nr-subflow-export":"^1.0.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.21.1_1756382165915_0.5959975179505952","host":"s3://npm-registry-packages-npm-production"}},"2.21.2-2953494-202509010916.0":{"name":"@flowfuse/nr-launcher","version":"2.21.2-2953494-202509010916.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.21.2-2953494-202509010916.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"ade22c5a425d3b8f0503fafd2664077d182f80c5","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.21.2-2953494-202509010916.0.tgz","fileCount":43,"integrity":"sha512-lqBZhpap3YkNb/eZYc319XEaV+ldw1gfG13Lmj0pxXIvdJpnlEd2YSQ+ElxoqqqsLpmoSvxWHPH/eYgTnBHzAw==","signatures":[{"sig":"MEYCIQCKzdyf5Uxlad1/uzpiWrS8ZMA1caEySyk1LkXfPC1EfgIhAKxTqRnaCro/42494XdglJJ/C+ffqMiuTK19M0M2wEIR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":608790},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"29534944b040de930be42b0b80de2d62a8398e04","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.5.1-78995c8-202508280848.0","@flowfuse/nr-file-nodes":"0.0.9-25d4712-202508190630.0","@flowfuse/nr-mqtt-nodes":"0.1.2-a1c84db-202508281119.0","@flowfuse/nr-tables-nodes":"0.1.1-2578762-202508131026.0","@flowfuse/nr-project-nodes":"0.7.8-be88010-202508190630.0","@flowfuse/nr-subflow-export":"^1.0.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.21.2-2953494-202509010916.0_1756718217564_0.14390826827470815","host":"s3://npm-registry-packages-npm-production"}},"2.21.2-2953494-202509041430.0":{"name":"@flowfuse/nr-launcher","version":"2.21.2-2953494-202509041430.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.21.2-2953494-202509041430.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"a9c769eaf05743824ebfc844dc7891d0a6303b62","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.21.2-2953494-202509041430.0.tgz","fileCount":43,"integrity":"sha512-xVKmBC8zulEYrubUeHT9b3m9BWg5BHZAWzuD/TzL/UPlyDt1j7dOVErAJOWnsDUKVxKL+2kxMLT/06g5f8JC/w==","signatures":[{"sig":"MEYCIQD2zn1Q8NDLTuRnrSieGLEdwc3SWIviDnZnUnnRw/KPEwIhAIWMUshCjuZWL+4oJXYJ1M1fD/ACPPCYoyl2ui4maf/Y","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":608790},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"29534944b040de930be42b0b80de2d62a8398e04","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.5.1-bdb2232-202509041429.0","@flowfuse/nr-file-nodes":"0.0.9-25d4712-202508190630.0","@flowfuse/nr-mqtt-nodes":"0.1.2-a1c84db-202508281119.0","@flowfuse/nr-tables-nodes":"0.1.1-2578762-202508131026.0","@flowfuse/nr-project-nodes":"0.7.8-be88010-202508190630.0","@flowfuse/nr-subflow-export":"^1.0.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.21.2-2953494-202509041430.0_1756996243536_0.2886441752648148","host":"s3://npm-registry-packages-npm-production"}},"2.21.2-2953494-202509051330.0":{"name":"@flowfuse/nr-launcher","version":"2.21.2-2953494-202509051330.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.21.2-2953494-202509051330.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"d6f95550c69afdef6866dbf840c0ee0aab1fafe4","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.21.2-2953494-202509051330.0.tgz","fileCount":43,"integrity":"sha512-lG8fsYwMt5ZDTU2K6OZnfPm9UdfvPbiHTzVoy44wja3kQdl1spXGKpFT2K1w7Lu3ElDllApGQK80WbqdfIK+GA==","signatures":[{"sig":"MEQCIGT04yBHnwKn0mF1bzBke0HfJqOC1MmMp0pK9ZVd/oKUAiA1cCF1i2/gzkejt8oB45HXvPZKnc8e+tzf6Lp4TqugqA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":608790},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"29534944b040de930be42b0b80de2d62a8398e04","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.5.1-ee8d657-202509051329.0","@flowfuse/nr-file-nodes":"0.0.9-25d4712-202508190630.0","@flowfuse/nr-mqtt-nodes":"0.1.2-a1c84db-202508281119.0","@flowfuse/nr-tables-nodes":"0.1.1-2578762-202508131026.0","@flowfuse/nr-project-nodes":"0.7.8-be88010-202508190630.0","@flowfuse/nr-subflow-export":"^1.0.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.21.2-2953494-202509051330.0_1757079042432_0.20270246780303935","host":"s3://npm-registry-packages-npm-production"}},"2.21.2-2953494-202509051341.0":{"name":"@flowfuse/nr-launcher","version":"2.21.2-2953494-202509051341.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.21.2-2953494-202509051341.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"469426957476a66151f58a70ebe22369db529971","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.21.2-2953494-202509051341.0.tgz","fileCount":43,"integrity":"sha512-2RxGjkBCHeYZ9Gi160FKKRFOSzhIjt7hRS2BtIY0bKF+2eHn/hYcvGOvk++czoITtCHpY8hTTz0HX2fJqp2pNQ==","signatures":[{"sig":"MEUCIAyw+JiyAFOSkTCYqLo2VjqyzbhYV0uBUQ00AHUcnmYGAiEAz7QkWGe5m+NTn/vHVwxKNTqehxS2QPPclLs/gJT2a68=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":608790},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"29534944b040de930be42b0b80de2d62a8398e04","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-f8348b5-202509051340.0","@flowfuse/nr-file-nodes":"0.0.9-25d4712-202508190630.0","@flowfuse/nr-mqtt-nodes":"0.1.2-a1c84db-202508281119.0","@flowfuse/nr-tables-nodes":"0.1.1-2578762-202508131026.0","@flowfuse/nr-project-nodes":"0.7.8-be88010-202508190630.0","@flowfuse/nr-subflow-export":"^1.0.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.21.2-2953494-202509051341.0_1757079683044_0.15201175845489523","host":"s3://npm-registry-packages-npm-production"}},"2.21.2-2953494-202509080756.0":{"name":"@flowfuse/nr-launcher","version":"2.21.2-2953494-202509080756.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.21.2-2953494-202509080756.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"9382992f8840653a222f3089bd2ea5b5ad3d380e","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.21.2-2953494-202509080756.0.tgz","fileCount":43,"integrity":"sha512-7ORg2Qmvc8mwHknC8OsLZmL+ZgPCzjOUq01YZ9W7AcfDJ1hm14cvD1kYTjp/LpVybB2kINJsc7l4+LWbVpe/8A==","signatures":[{"sig":"MEUCIBeBMt5dzU14p5RNyGXYW/ZLssoGjaJu8TE9b8yPhnGiAiEAqGpFq0gjhjhOAjpEmtWKeM3pQL+lUqeEDqtcxyfnuJ0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":608790},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"29534944b040de930be42b0b80de2d62a8398e04","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-0923bf2-202509080756.0","@flowfuse/nr-file-nodes":"0.0.9-25d4712-202508190630.0","@flowfuse/nr-mqtt-nodes":"0.1.2-a1c84db-202508281119.0","@flowfuse/nr-tables-nodes":"0.1.1-2578762-202508131026.0","@flowfuse/nr-project-nodes":"0.7.8-be88010-202508190630.0","@flowfuse/nr-subflow-export":"^1.0.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.21.2-2953494-202509080756.0_1757318224031_0.6251569098264413","host":"s3://npm-registry-packages-npm-production"}},"2.21.2-2953494-202509081321.0":{"name":"@flowfuse/nr-launcher","version":"2.21.2-2953494-202509081321.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.21.2-2953494-202509081321.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"22a76cd4e182d6876b8830e5f8c6905ee74e12ec","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.21.2-2953494-202509081321.0.tgz","fileCount":43,"integrity":"sha512-5EBId1BW+H873dgyb0McrPdDbnjrjtro8oMTKc3XQig/WCI1Bh8zieE6mfMt8VVtjphebVLqJ9pMrkJ8VT27ow==","signatures":[{"sig":"MEQCIHqmc6L3zVk6T8/YWcuJ+s5Bmj96wXpIURykNIv9kAoXAiA0gZvkqkuxv5wgwYl4kPTBpz6TlI0D9aKKMK1dgmUMFQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":608790},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"29534944b040de930be42b0b80de2d62a8398e04","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-0923bf2-202509080756.0","@flowfuse/nr-file-nodes":"0.0.9-25d4712-202508190630.0","@flowfuse/nr-mqtt-nodes":"0.1.2-a1c84db-202508281119.0","@flowfuse/nr-tables-nodes":"0.1.1-2578762-202508131026.0","@flowfuse/nr-project-nodes":"0.7.8-43c6678-202509081320.0","@flowfuse/nr-subflow-export":"^1.0.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.21.2-2953494-202509081321.0_1757337722813_0.43350551571172646","host":"s3://npm-registry-packages-npm-production"}},"2.21.2-2953494-202509081838.0":{"name":"@flowfuse/nr-launcher","version":"2.21.2-2953494-202509081838.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.21.2-2953494-202509081838.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"ac167e9a240fb213f8798e622f94d3e124dafe37","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.21.2-2953494-202509081838.0.tgz","fileCount":43,"integrity":"sha512-X1jN2Mo7gwXE20Te3Xuxno2lWyjHRtPi+xTE3VySY2IU3sjx3cwsVq+g7C2F72I1p87AAVlepvQOnTq3U42MyA==","signatures":[{"sig":"MEQCIGNPC+LQldWShfCKVTIUvts8oneuCuYu7NN0vfXFdGCsAiAOOIdIsQ/vkK1v/KegjyW4qQj6XlFWHet62gHu17+WCw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":608790},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"29534944b040de930be42b0b80de2d62a8398e04","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.4","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-0923bf2-202509080756.0","@flowfuse/nr-file-nodes":"0.0.9-bfe58b7-202509081837.0","@flowfuse/nr-mqtt-nodes":"0.1.2-a1c84db-202508281119.0","@flowfuse/nr-tables-nodes":"0.1.1-2578762-202508131026.0","@flowfuse/nr-project-nodes":"0.7.8-43c6678-202509081320.0","@flowfuse/nr-subflow-export":"^1.0.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.21.2-2953494-202509081838.0_1757356717270_0.8714256489941263","host":"s3://npm-registry-packages-npm-production"}},"2.21.2-0fb91a3-202509082048.0":{"name":"@flowfuse/nr-launcher","version":"2.21.2-0fb91a3-202509082048.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.21.2-0fb91a3-202509082048.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"ce421d9055f9fbad15f85695fc8167c939aee798","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.21.2-0fb91a3-202509082048.0.tgz","fileCount":43,"integrity":"sha512-JuuahyPVhoPVUVUyrCD05jjDE1JpcPe+x+xBYVKZYktzV5zlYlZStFh7Dhv4NjJJtgUv1HT6tlIGTqSrNN3m8Q==","signatures":[{"sig":"MEUCIQC0jDuh+0nVxUMzVC4AsK/Sr0SgYYYcWnB7ST1SWbQRVgIgAMrO3NN98zZdhuOLQfhBRsxvw/kMT8/ytFZ9YAABk/o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":608790},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"0fb91a39d562fc50b8f303bf915c90033f378f9d","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-0923bf2-202509080756.0","@flowfuse/nr-file-nodes":"0.0.9-bfe58b7-202509081837.0","@flowfuse/nr-mqtt-nodes":"0.1.2-a1c84db-202508281119.0","@flowfuse/nr-tables-nodes":"0.1.1-2578762-202508131026.0","@flowfuse/nr-project-nodes":"0.7.8-43c6678-202509081320.0","@flowfuse/nr-subflow-export":"^1.0.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.21.2-0fb91a3-202509082048.0_1757364552033_0.890350974290143","host":"s3://npm-registry-packages-npm-production"}},"2.21.2-2045b7a-202509091732.0":{"name":"@flowfuse/nr-launcher","version":"2.21.2-2045b7a-202509091732.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.21.2-2045b7a-202509091732.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"304f2e742c8ad05beb32a4b32d0985ac2ae18f60","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.21.2-2045b7a-202509091732.0.tgz","fileCount":43,"integrity":"sha512-gjJnKQ4uqx0bKfnqqGm0B+KYVIFGiDtxlD3SQIDjHnPIKG8AhmJfUbycvW6gTAFPRW6kr4Xo7xMK5I6+LKzk+g==","signatures":[{"sig":"MEQCIAve8bZFfw3XfSErVF/daQNLq5E9N8fvR4xRKlTzrcXZAiBh0QphpUJVE6Kuvt91G1fIEh+N8fnsJIDBlyiT4xtHtg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":608790},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"2045b7a33d751c977ca6624bb133195a900071bc","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-0923bf2-202509080756.0","@flowfuse/nr-file-nodes":"0.0.9-bfe58b7-202509081837.0","@flowfuse/nr-mqtt-nodes":"0.1.2-a1c84db-202508281119.0","@flowfuse/nr-tables-nodes":"0.1.1-2578762-202508131026.0","@flowfuse/nr-project-nodes":"0.7.8-43c6678-202509081320.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.21.2-2045b7a-202509091732.0_1757439184146_0.2590411966230597","host":"s3://npm-registry-packages-npm-production"}},"2.21.2":{"name":"@flowfuse/nr-launcher","version":"2.21.2","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.21.2","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"7bffd9fc2836488bc87aadd22adcfb39f85c7d10","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.21.2.tgz","fileCount":43,"integrity":"sha512-dN2xkhpaEWrkuxGRZnWkQRPI28zXBZjgUiyk0Hbrg/xzDjJ+l6nVS8pi9Q2HKZplwNG/uyNKBufOq/gipZ3nlg==","signatures":[{"sig":"MEYCIQDUVtrcyTg8mX0zDkGKrmiwYgOh5yXyIxCGAgRJDkuMJwIhAKwLl1rUOgm3X6xfNBEXPjGghjmpwkMtT8gNg/u5zvpN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":608849},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"0ed8e8e3ffa2eb0084201e41b8d0872815569e9d","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"^0.6.0","@flowfuse/nr-file-nodes":"^0.0.8","@flowfuse/nr-mqtt-nodes":"^0.1.1","@flowfuse/nr-tables-nodes":"^0.1.0","@flowfuse/nr-project-nodes":"^0.7.7","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.21.2_1757493056121_0.9871124121272781","host":"s3://npm-registry-packages-npm-production"}},"2.21.3-0ed8e8e-202509100830.0":{"name":"@flowfuse/nr-launcher","version":"2.21.3-0ed8e8e-202509100830.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.21.3-0ed8e8e-202509100830.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"732da29bd22a3c630c80b45d57e19f185bcec837","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.21.3-0ed8e8e-202509100830.0.tgz","fileCount":43,"integrity":"sha512-JvGr9KF2uaT1fYuStkN7T5AgH/UZJp5q/dzWPZUjGjbEjkHtHTSf4Z4iuk/wBUS9MgU+xYB/ey1pITwK8gB1VA==","signatures":[{"sig":"MEUCIQDe+85/CDE3D0eTLf6/4cHzIC5JJ6wgR72hoTisMFjZKgIgDG+S8wvhamYqoNproswW57XLQLOnYCj9uEwIbz3+x5w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":608982},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"0ed8e8e3ffa2eb0084201e41b8d0872815569e9d","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-0923bf2-202509080756.0","@flowfuse/nr-file-nodes":"0.0.9-bfe58b7-202509081837.0","@flowfuse/nr-mqtt-nodes":"0.1.2-a1c84db-202508281119.0","@flowfuse/nr-tables-nodes":"0.1.1-2578762-202508131026.0","@flowfuse/nr-project-nodes":"0.7.8-43c6678-202509081320.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.21.3-0ed8e8e-202509100830.0_1757493061541_0.6394927911621446","host":"s3://npm-registry-packages-npm-production"}},"2.21.3-0ed8e8e-202509150739.0":{"name":"@flowfuse/nr-launcher","version":"2.21.3-0ed8e8e-202509150739.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.21.3-0ed8e8e-202509150739.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"587d70f85ffa0fec6b7bd2bdd259b117e69eeaf6","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.21.3-0ed8e8e-202509150739.0.tgz","fileCount":43,"integrity":"sha512-JLMLdT0G6qjkZg3Kz6BoHbM5FdUIuZlk7gC9PtriwnJBWE7xtvRuoCaCBeTNWWA0oL67Ei6xO8l8axbtasV5BQ==","signatures":[{"sig":"MEYCIQDh8Eem1Txa9YEdYFp7xdhfiArPRh+oZXAOMXCDqOBY7wIhAId2S0YQH2fcMNOKZsAFdvv4G7/WCWJ0YXTjLv1Eiq4V","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":608982},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"0ed8e8e3ffa2eb0084201e41b8d0872815569e9d","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-635a0ee-202509150738.0","@flowfuse/nr-file-nodes":"0.0.9-bfe58b7-202509081837.0","@flowfuse/nr-mqtt-nodes":"0.1.2-a1c84db-202508281119.0","@flowfuse/nr-tables-nodes":"0.1.1-2578762-202508131026.0","@flowfuse/nr-project-nodes":"0.7.8-43c6678-202509081320.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.21.3-0ed8e8e-202509150739.0_1757921993925_0.8946913947501238","host":"s3://npm-registry-packages-npm-production"}},"2.21.3-0ed8e8e-202509151341.0":{"name":"@flowfuse/nr-launcher","version":"2.21.3-0ed8e8e-202509151341.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.21.3-0ed8e8e-202509151341.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"341d117a53c821e4e0a03cd9bc42dd90a0c01469","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.21.3-0ed8e8e-202509151341.0.tgz","fileCount":43,"integrity":"sha512-tgUTs5ZHe06bBrctUMau43Prjneaj0ocPLQ5BEYHhRLp+vjJlwYhxk5M6lnXxc94MsCtJRwuup1CgAFfWIzVew==","signatures":[{"sig":"MEUCIHgY+Tk1Bi/tzJdoLSWGUr5Ss/6jBcCeaLTJUK9D6nKfAiEA4nDw++SnQOBvGAPVRuptDZheh8P9DuOIRZTrdip0Bh8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":608982},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"0ed8e8e3ffa2eb0084201e41b8d0872815569e9d","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-635a0ee-202509150738.0","@flowfuse/nr-file-nodes":"0.0.9-bfe58b7-202509081837.0","@flowfuse/nr-mqtt-nodes":"0.1.2-a1c84db-202508281119.0","@flowfuse/nr-tables-nodes":"0.1.1-2578762-202508131026.0","@flowfuse/nr-project-nodes":"0.7.8-4ee1802-202509151340.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.21.3-0ed8e8e-202509151341.0_1757943696317_0.8315014644188041","host":"s3://npm-registry-packages-npm-production"}},"2.21.3-68908e9-202509160527.0":{"name":"@flowfuse/nr-launcher","version":"2.21.3-68908e9-202509160527.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.21.3-68908e9-202509160527.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"746ca39045a19116d974cff1e98df7c02292892c","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.21.3-68908e9-202509160527.0.tgz","fileCount":43,"integrity":"sha512-ulzmPs6cJ+RSiRJ26e2xl1Hafy1xtP5md2zpNQNszGuKaZdH2/DGp6UH1I2FmhmbfE/i10bCRYYYF8RFSQX3UA==","signatures":[{"sig":"MEYCIQDpUhwHeLffAbjHK/K2zNzbnCqlvyyPtzx+rlOqvdGemwIhAKU1n7GzY+hO993wbUkkWHtDlxrFkIHFOBXBY6La137z","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":608982},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"68908e9a6c7e1d0807fbc0e83c9fda68999819cb","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-635a0ee-202509150738.0","@flowfuse/nr-file-nodes":"0.0.9-bfe58b7-202509081837.0","@flowfuse/nr-mqtt-nodes":"0.1.2-a1c84db-202508281119.0","@flowfuse/nr-tables-nodes":"0.1.1-2578762-202508131026.0","@flowfuse/nr-project-nodes":"0.7.8-4ee1802-202509151340.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.21.3-68908e9-202509160527.0_1758000488470_0.6021137950173734","host":"s3://npm-registry-packages-npm-production"}},"2.21.3-b6b69a5-202509160939.0":{"name":"@flowfuse/nr-launcher","version":"2.21.3-b6b69a5-202509160939.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.21.3-b6b69a5-202509160939.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"0458e5cb08afa675f7a95fe2182187fc36bfc15a","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.21.3-b6b69a5-202509160939.0.tgz","fileCount":43,"integrity":"sha512-o4mE37jP0wo1XtRvdhI6rEY2ER5GGo3tpZ4HYEO/mmLwogK1AgAM8Y9CC3xXPfqEaat7Wj4hezw/ATTOi2HSZQ==","signatures":[{"sig":"MEYCIQDZ6p1kPa3TD+NhHWhguYYHvigo5Op5jlUXjHTQwbexjgIhAPfhG8eW5725j3kHxqfVOtVA+i1CsXdZgTd4SNzwAYgm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":608984},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"b6b69a547648c84bcc7217862440960dd72958ea","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-635a0ee-202509150738.0","@flowfuse/nr-file-nodes":"0.0.9-bfe58b7-202509081837.0","@flowfuse/nr-mqtt-nodes":"^0.1.1","@flowfuse/nr-tables-nodes":"0.1.1-2578762-202508131026.0","@flowfuse/nr-project-nodes":"0.7.8-4ee1802-202509151340.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.21.3-b6b69a5-202509160939.0_1758015592578_0.8742430769404368","host":"s3://npm-registry-packages-npm-production"}},"2.21.3-c479fcc-202509161022.0":{"name":"@flowfuse/nr-launcher","version":"2.21.3-c479fcc-202509161022.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.21.3-c479fcc-202509161022.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"cd2e582d2888924bddf9ce9065a53ff6c907880a","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.21.3-c479fcc-202509161022.0.tgz","fileCount":43,"integrity":"sha512-2VDGhYRRSuwpLzvfW3I9gvIZ7T1iLZ3XFngHpi4mriX5vJBTNDuxe3P3bkec/yWaW/SYH4o4MT7pGp4mIPlVhQ==","signatures":[{"sig":"MEUCIQDlmuj9uSzhG3AvsEi+bA1vwqw8ajyEUrDDfKtHV3kcswIgXGkltN7SqPu0veu4qvJu/HlctS1k+3Z2A2EwERhHl0w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":609006},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"c479fcc58efbcdca671b5252403d5473a867993c","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-635a0ee-202509150738.0","@flowfuse/nr-file-nodes":"0.0.9-bfe58b7-202509081837.0","@flowfuse/nr-mqtt-nodes":"0.1.2-a1c84db-202508281119.0","@flowfuse/nr-tables-nodes":"0.1.1-2578762-202508131026.0","@flowfuse/nr-project-nodes":"0.7.8-4ee1802-202509151340.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.21.3-c479fcc-202509161022.0_1758018181923_0.5169934101862135","host":"s3://npm-registry-packages-npm-production"}},"2.21.3-c479fcc-202509220522.0":{"name":"@flowfuse/nr-launcher","version":"2.21.3-c479fcc-202509220522.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.21.3-c479fcc-202509220522.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"515284c5c2a50251cb2516b02d754a71f5024aa4","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.21.3-c479fcc-202509220522.0.tgz","fileCount":43,"integrity":"sha512-hdIpRtmBkiJ37pc1Z+wffrVACxc1R5rGJjBRnYawXgeDLgY5z/MwFGMd5Sk8fcxStjaVaWJlxnXQz0Hntbnqsg==","signatures":[{"sig":"MEUCIQDQ478p7lK8b4kjkccXR5cciKgq5keACtQIk5cHzoYpigIgEa9R1q6SRoz/zBhMT3SuvfJY9WDj1yB1cAh4RuylqPw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":609006},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"c479fcc58efbcdca671b5252403d5473a867993c","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-9b36191-202509220521.0","@flowfuse/nr-file-nodes":"0.0.9-bfe58b7-202509081837.0","@flowfuse/nr-mqtt-nodes":"0.1.2-a1c84db-202508281119.0","@flowfuse/nr-tables-nodes":"0.1.1-2578762-202508131026.0","@flowfuse/nr-project-nodes":"0.7.8-4ee1802-202509151340.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.21.3-c479fcc-202509220522.0_1758518535346_0.17554979560858053","host":"s3://npm-registry-packages-npm-production"}},"2.21.3-c479fcc-202509221215.0":{"name":"@flowfuse/nr-launcher","version":"2.21.3-c479fcc-202509221215.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.21.3-c479fcc-202509221215.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"0c932ebc9407c5aea09cca12f500adf8004c4885","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.21.3-c479fcc-202509221215.0.tgz","fileCount":43,"integrity":"sha512-XgJMVwCM9lcIzOBqoQfx0vB5tlnpkFQTO+hQbmLHAbg+PZoP78gIyVje2MuzhNVfbXlVcjHU8GjOmzNY7gYbmg==","signatures":[{"sig":"MEYCIQCxcX925yL9359rOXYmHM/C+gTkigBq8VrssKxvPXTRywIhALinw44NJu3OALWhz9OmkqHFXOlt+/atG0KzOTkTx3U4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":609006},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"c479fcc58efbcdca671b5252403d5473a867993c","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-9b36191-202509220521.0","@flowfuse/nr-file-nodes":"0.0.9-bfe58b7-202509081837.0","@flowfuse/nr-mqtt-nodes":"0.1.2-a1c84db-202508281119.0","@flowfuse/nr-tables-nodes":"0.1.1-2578762-202508131026.0","@flowfuse/nr-project-nodes":"0.7.8-ada41d5-202509221214.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.21.3-c479fcc-202509221215.0_1758543383352_0.8329131385535156","host":"s3://npm-registry-packages-npm-production"}},"2.21.3-c479fcc-202509221417.0":{"name":"@flowfuse/nr-launcher","version":"2.21.3-c479fcc-202509221417.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.21.3-c479fcc-202509221417.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"c60cbb68fdf9bd639751416099bc77a4e0e24d8a","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.21.3-c479fcc-202509221417.0.tgz","fileCount":43,"integrity":"sha512-/FRDYxymStCkEW1sWK2S+Eg41klm8xdEiGMFfj4L31wnhEzPxX51G4lfd1UQYB/gUbBcmw4oc+2uQlU9Yak8oA==","signatures":[{"sig":"MEUCIDtUz6grIKRTlkUmN28L0DpKF6NYRsHW2/64G5b5gw2yAiEA5peFygsKnUBlrV2ltJqUOFBU8Wcm360O35jA9kQD9i4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":609006},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"c479fcc58efbcdca671b5252403d5473a867993c","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-9b36191-202509220521.0","@flowfuse/nr-file-nodes":"0.0.9-09bd213-202509221416.0","@flowfuse/nr-mqtt-nodes":"0.1.2-a1c84db-202508281119.0","@flowfuse/nr-tables-nodes":"0.1.1-2578762-202508131026.0","@flowfuse/nr-project-nodes":"0.7.8-ada41d5-202509221214.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.21.3-c479fcc-202509221417.0_1758550688098_0.4783269190974331","host":"s3://npm-registry-packages-npm-production"}},"2.21.3-614c862-202509230519.0":{"name":"@flowfuse/nr-launcher","version":"2.21.3-614c862-202509230519.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.21.3-614c862-202509230519.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"c2b0f94e0e30c34e8ff94c2e9b8fee8e48a24c60","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.21.3-614c862-202509230519.0.tgz","fileCount":43,"integrity":"sha512-NKjZ3hY2gEqqFuXx1jYbLW73XRf3ZlhwDwtmw0y4kSwRfCuBbls2PZgr1I/R3LFBVgZMPt4ZRamxrk2CoyVRfQ==","signatures":[{"sig":"MEUCIBgerjEI+Aa9txRiHH8qYZcyPbI5xcJTssTjf0zKyvE9AiEA5Bi+NpGGnEzcFIttCb52Hl8PLFnI3bwsO2sl6T/JtEQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":609006},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"614c8627e7d5602ca2213f83902000b4dbe6737f","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-9b36191-202509220521.0","@flowfuse/nr-file-nodes":"0.0.9-09bd213-202509221416.0","@flowfuse/nr-mqtt-nodes":"0.1.2-a1c84db-202508281119.0","@flowfuse/nr-tables-nodes":"0.1.1-2578762-202508131026.0","@flowfuse/nr-project-nodes":"0.7.8-ada41d5-202509221214.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.21.3-614c862-202509230519.0_1758604785551_0.7114301751549794","host":"s3://npm-registry-packages-npm-production"}},"2.21.3-0e47128-202509250928.0":{"name":"@flowfuse/nr-launcher","version":"2.21.3-0e47128-202509250928.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.21.3-0e47128-202509250928.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"250ce851c161b324d504a8758be3dace4e4117a0","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.21.3-0e47128-202509250928.0.tgz","fileCount":43,"integrity":"sha512-NrqC9ApwctRo4gkT8LABfAYo2wtno08QNlY5GAU6NYWmFaEqUwLaRgB4uJHWagQ09jCv5iTLLnES0zMEa+2DHA==","signatures":[{"sig":"MEUCIQCNOW770m5EEo1ovn+NINoi1youKl8okKq3CO8yxqcAMQIgGScY14m8JRAQTABkATnlfLzdKWQuoX0K32FI4RMb/jY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":609069},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"0e4712884c71ec1304272a88d3147dd3a1edfba0","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-9b36191-202509220521.0","@flowfuse/nr-file-nodes":"0.0.9-09bd213-202509221416.0","@flowfuse/nr-mqtt-nodes":"0.1.2-a1c84db-202508281119.0","@flowfuse/nr-tables-nodes":"0.1.1-2578762-202508131026.0","@flowfuse/nr-project-nodes":"0.7.8-ada41d5-202509221214.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.21.3-0e47128-202509250928.0_1758792544091_0.2078107978693413","host":"s3://npm-registry-packages-npm-production"}},"2.22.1-f5d7050-202509250947.0":{"name":"@flowfuse/nr-launcher","version":"2.22.1-f5d7050-202509250947.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.22.1-f5d7050-202509250947.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"454179f21798ec973437a4bb3bd5e933c680fd90","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.22.1-f5d7050-202509250947.0.tgz","fileCount":43,"integrity":"sha512-KYLSS5oeJlOKVD/4fqWUKQPSwuWWJtvRDYoI+nmwV7FqSjtwws+J07aovtPp1hZFa5DQVCX0lFNcaZgnr0pEGg==","signatures":[{"sig":"MEQCIAomkEWRmJ0Thyp5wZknNeQfu8QRBvwfR4H2U4qbs6eFAiAavkfMOVpJYKbuqnQv4pJ+HDqF6hGzaTbdaaDUv5SvUA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":609371},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"f5d705076822a4292b9d2f0fba3fd4b509cc70bb","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-9b36191-202509220521.0","@flowfuse/nr-file-nodes":"0.0.9-09bd213-202509221416.0","@flowfuse/nr-mqtt-nodes":"0.1.2-a1c84db-202508281119.0","@flowfuse/nr-tables-nodes":"0.1.1-2578762-202508131026.0","@flowfuse/nr-project-nodes":"0.7.8-ada41d5-202509221214.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.22.1-f5d7050-202509250947.0_1758793646453_0.24940567589103568","host":"s3://npm-registry-packages-npm-production"}},"2.22.0":{"name":"@flowfuse/nr-launcher","version":"2.22.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.22.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"a38955b62fd932cf3b3f9f15c14f5ea338d67adc","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.22.0.tgz","fileCount":43,"integrity":"sha512-9n+QD58draH1P3gZPuLHlFuju+Xi3GiE9oSy/Jrwl44veKsISA1rXzeLeEjg6OdxqZsVqJIwWte/EABa0BN0zg==","signatures":[{"sig":"MEUCID3lHPzq1QTS+1LvFeJ8p0k2hsPH8Y0raYIwLlZHV4uHAiEAllivJhvWtn1BoqxAj29k1Nb8P28en+ORO169Qm5l2F4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":609238},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"f5d705076822a4292b9d2f0fba3fd4b509cc70bb","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"^0.6.0","@flowfuse/nr-file-nodes":"^0.0.8","@flowfuse/nr-mqtt-nodes":"^0.1.1","@flowfuse/nr-tables-nodes":"^0.1.0","@flowfuse/nr-project-nodes":"^0.7.7","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.22.0_1758793671929_0.7483981303384168","host":"s3://npm-registry-packages-npm-production"}},"2.22.1-f5d7050-202509290620.0":{"name":"@flowfuse/nr-launcher","version":"2.22.1-f5d7050-202509290620.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.22.1-f5d7050-202509290620.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"1b51bcddedeb4c7b44996704330cdc505dcdca4c","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.22.1-f5d7050-202509290620.0.tgz","fileCount":43,"integrity":"sha512-onZv4uG3xdBnrWJ2jmDwTj4jh1CrwzK64wuNJtPLWUbScD1LOy8I2jgkeC6aoRX1KBtu6DK7UTVgmGQWoIWulQ==","signatures":[{"sig":"MEQCIGFDSHazW5KCAlOJ+cyEdN2cASVEQNV2ZqpDlJg7KR6jAiA6leSRqVPRNz9yfyYIom+OnVA8eBwTm8D4tfYoRzIpeQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":609371},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"f5d705076822a4292b9d2f0fba3fd4b509cc70bb","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-a2e6191-202509290619.0","@flowfuse/nr-file-nodes":"0.0.9-09bd213-202509221416.0","@flowfuse/nr-mqtt-nodes":"0.1.2-a1c84db-202508281119.0","@flowfuse/nr-tables-nodes":"0.1.1-2578762-202508131026.0","@flowfuse/nr-project-nodes":"0.7.8-ada41d5-202509221214.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.22.1-f5d7050-202509290620.0_1759126862471_0.15250802484004344","host":"s3://npm-registry-packages-npm-production"}},"2.22.1-622de46-202509291346.0":{"name":"@flowfuse/nr-launcher","version":"2.22.1-622de46-202509291346.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.22.1-622de46-202509291346.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"a185148118d2476d98859315eeccade64d1187a2","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.22.1-622de46-202509291346.0.tgz","fileCount":43,"integrity":"sha512-UtR4r98lHiCSoz3yRCSY5fxdGH60HV00Myi3awY5noJE9L3Dwd+dktdOmOrBRbWguHfY7AvTze+NztiOvD4k7Q==","signatures":[{"sig":"MEYCIQCrOyhTNzlLNTkkycCkSo66naKc1wT9FO5fChdhF/+UCwIhAIH2slON0pRnD28PMvHgAa6jKdFxU8PSgRUw6Z5DDZI0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":609363},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"622de460f977e2e0ba35ff9e3597aa95ec993e84","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-a2e6191-202509290619.0","@flowfuse/nr-file-nodes":"0.0.9-09bd213-202509221416.0","@flowfuse/nr-mqtt-nodes":"0.1.2-a1c84db-202508281119.0","@flowfuse/nr-tables-nodes":"0.1.1-2578762-202508131026.0","@flowfuse/nr-project-nodes":"0.7.8-ada41d5-202509221214.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.22.1-622de46-202509291346.0_1759153597456_0.9582569051267653","host":"s3://npm-registry-packages-npm-production"}},"2.22.1-622de46-202509291722.0":{"name":"@flowfuse/nr-launcher","version":"2.22.1-622de46-202509291722.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.22.1-622de46-202509291722.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"6529a22e79b171d4d8df07c18ca712ea1d1b2cc0","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.22.1-622de46-202509291722.0.tgz","fileCount":43,"integrity":"sha512-FaGUnnvpV1B3seKVorZM+kvNy5B06Q4ZwiQVL6LC/C7BYccpE6l2xnjLlVFkvTYX8jve/YV5K9h2PPFRpDVWdg==","signatures":[{"sig":"MEQCIBxpX8/7kOKFtH7uizLjpdWwmgplvF5nKDVfyRe8qIfNAiBrTg8fXt6s1YWWzx2HZJRMkdrF0sGZ63hqn9YeuXwilA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":609363},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"622de460f977e2e0ba35ff9e3597aa95ec993e84","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-a2e6191-202509290619.0","@flowfuse/nr-file-nodes":"0.0.9-8cda773-202509291722.0","@flowfuse/nr-mqtt-nodes":"0.1.2-a1c84db-202508281119.0","@flowfuse/nr-tables-nodes":"0.1.1-2578762-202508131026.0","@flowfuse/nr-project-nodes":"0.7.8-155b45f-202509291721.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.22.1-622de46-202509291722.0_1759166580191_0.33722510399534267","host":"s3://npm-registry-packages-npm-production"}},"2.22.1-622de46-202509291723.0":{"name":"@flowfuse/nr-launcher","version":"2.22.1-622de46-202509291723.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.22.1-622de46-202509291723.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"763357a044fd551ef06a9007ea30a42323b7e969","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.22.1-622de46-202509291723.0.tgz","fileCount":43,"integrity":"sha512-o1I5re6Kvr7ZDy7b6faPCYPRCUkAhTIOcjrZlw8jY2Qj2oJtKZW3CMkGQvnO4AA+cXz1lKYpEFBqt8WbaFnUbA==","signatures":[{"sig":"MEUCIFgHQXstph5zjZ6+1StpZZHv/KBqVm/rY11OITGasrvAAiEAoQX8TXE01GvfPba9RtOIR8uBu5lE2L8tQy8etYg9Wls=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":609363},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"622de460f977e2e0ba35ff9e3597aa95ec993e84","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-a2e6191-202509290619.0","@flowfuse/nr-file-nodes":"0.0.9-8cda773-202509291722.0","@flowfuse/nr-mqtt-nodes":"0.1.2-a1c84db-202508281119.0","@flowfuse/nr-tables-nodes":"0.1.1-2578762-202508131026.0","@flowfuse/nr-project-nodes":"0.7.8-155b45f-202509291721.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.22.1-622de46-202509291723.0_1759166596548_0.8166966452143831","host":"s3://npm-registry-packages-npm-production"}},"2.22.1-b9d3fbb-202509300816.0":{"name":"@flowfuse/nr-launcher","version":"2.22.1-b9d3fbb-202509300816.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.22.1-b9d3fbb-202509300816.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"9f5113a95baf465ab48e2ec376d8bb81a0b74bae","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.22.1-b9d3fbb-202509300816.0.tgz","fileCount":43,"integrity":"sha512-lAik9piCp9wUJtUZZ9jDWbzrCO9Zk04rCUcFciJrLzTKvrAk6pUSEQYKhOs/Ywl5JgbMhAu30cLXYDV/2B/xQA==","signatures":[{"sig":"MEUCIQCJPyjquFmdaDuqRqXSsm1xSnQyAWo6PgkT8rkwbR7vIgIgG9Y87WXngRsmWJJV8kpbbBK5pMq8OWE3nNpG6SYG8mU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":609363},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"b9d3fbbdafd227cac6340f64d65acddb5cbe91d7","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-a2e6191-202509290619.0","@flowfuse/nr-file-nodes":"0.0.9-8cda773-202509291722.0","@flowfuse/nr-mqtt-nodes":"0.1.2-a1c84db-202508281119.0","@flowfuse/nr-tables-nodes":"0.1.1-2578762-202508131026.0","@flowfuse/nr-project-nodes":"0.7.8-155b45f-202509291721.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.22.1-b9d3fbb-202509300816.0_1759220217678_0.9285718594104335","host":"s3://npm-registry-packages-npm-production"}},"2.22.1":{"name":"@flowfuse/nr-launcher","version":"2.22.1","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.22.1","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"3e292f0734eece88a133dbf8f68fabca4a8a591e","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.22.1.tgz","fileCount":43,"integrity":"sha512-UPVNBY7UqJgif1Dzw55qBfxByfvFaWuh09t8dW4EPaL7WWYUYMJ0OX0hmJHFd6tsm2xzMg7Fsw4HWNo2Jcz0LQ==","signatures":[{"sig":"MEYCIQCigPEmjapeIAHAS9xrzUq6Shh2eQqbFlRe3YV0oLx0ggIhAJYHn5fUEFbqLXtgltoogQFj8mrs+EJGKCSrdvzSRqPW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":609403},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"9e7224a99c5718ca2dc7b78bbd57a5b25d140ad0","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"^0.6.0","@flowfuse/nr-file-nodes":"^0.0.8","@flowfuse/nr-mqtt-nodes":"^0.1.1","@flowfuse/nr-tables-nodes":"^0.1.0","@flowfuse/nr-project-nodes":"^0.7.7","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.22.1_1760444092555_0.4706191101205619","host":"s3://npm-registry-packages-npm-production"}},"2.22.2-9e7224a-202510141214.0":{"name":"@flowfuse/nr-launcher","version":"2.22.2-9e7224a-202510141214.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.22.2-9e7224a-202510141214.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"3285696dff3fedaa7aff0f712dc32f80b2c5a7b5","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.22.2-9e7224a-202510141214.0.tgz","fileCount":43,"integrity":"sha512-MfgcmIOnJzttnMnpFrIoy4P0ifZxnlVX+nkhXN8YPozNhuY9AOZrs4fQ0caTA0kYzbMcHEQ6gnAWr5UuvqPTVQ==","signatures":[{"sig":"MEYCIQCMZjS30L4xVXu9B1N7QBWL+ry8N4fwQTXypBfuORbTgAIhAKcq7UI5T8Ce1N2bom/NR8Hpu1gepAy7BAewJ3TOrcBn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":609536},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"9e7224a99c5718ca2dc7b78bbd57a5b25d140ad0","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-a2e6191-202509290619.0","@flowfuse/nr-file-nodes":"0.0.9-8cda773-202509291722.0","@flowfuse/nr-mqtt-nodes":"0.1.2-a1c84db-202508281119.0","@flowfuse/nr-tables-nodes":"0.1.1-2578762-202508131026.0","@flowfuse/nr-project-nodes":"0.7.8-155b45f-202509291721.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.22.2-9e7224a-202510141214.0_1760444099956_0.6714218314820433","host":"s3://npm-registry-packages-npm-production"}},"2.22.2-9e7224a-202510200728.0":{"name":"@flowfuse/nr-launcher","version":"2.22.2-9e7224a-202510200728.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.22.2-9e7224a-202510200728.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"915c2d5f3ad91e929840107f485f156d007f66eb","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.22.2-9e7224a-202510200728.0.tgz","fileCount":43,"integrity":"sha512-4/FfV5x7pWRymZtq66qT3VAKeBD63jXMBU6wG1iG6V2R5N3dTrE0/ZHkX4t3LE8+OZHz08z6PWR2saOIiVmq2A==","signatures":[{"sig":"MEUCIDUjpIKQnb+BW4s9j8/JxCy57N+AL87lTIdBbkMQ1EdrAiEA0eDVd2r6eSHzakC2+mSRw7wthHZi2rXT3LHYAeMEMVU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":609536},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"9e7224a99c5718ca2dc7b78bbd57a5b25d140ad0","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-5411e97-202510200727.0","@flowfuse/nr-file-nodes":"0.0.9-8cda773-202509291722.0","@flowfuse/nr-mqtt-nodes":"0.1.2-a1c84db-202508281119.0","@flowfuse/nr-tables-nodes":"0.1.1-2578762-202508131026.0","@flowfuse/nr-project-nodes":"0.7.8-155b45f-202509291721.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.22.2-9e7224a-202510200728.0_1760945328162_0.8283444867543548","host":"s3://npm-registry-packages-npm-production"}},"2.22.2-9e7224a-202510201317.0":{"name":"@flowfuse/nr-launcher","version":"2.22.2-9e7224a-202510201317.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.22.2-9e7224a-202510201317.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"31dae041b39882ff7a0747fa5f0c7b4aecd4cbdf","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.22.2-9e7224a-202510201317.0.tgz","fileCount":43,"integrity":"sha512-6h+FuWJ/jz0e6T6+s66uFfrpKxW8w4SmrzdQzCf5HnU8NuHXb9q/XrKnsSNHNHL/J1JeMdJS700o/FcIjieaIQ==","signatures":[{"sig":"MEQCIAQkeBUtCS9/TdIr/4hQINTGXUjV0tdXvsF7sUgAWvqLAiBtY+EN1CcPXMWp4LaNKVvlcxinl1hm3SNSf8DrJUYUzw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":609536},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"9e7224a99c5718ca2dc7b78bbd57a5b25d140ad0","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-5411e97-202510200727.0","@flowfuse/nr-file-nodes":"0.0.9-8cda773-202509291722.0","@flowfuse/nr-mqtt-nodes":"0.1.2-a1c84db-202508281119.0","@flowfuse/nr-tables-nodes":"0.1.1-2578762-202508131026.0","@flowfuse/nr-project-nodes":"0.7.8-a99a7f0-202510201316.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.22.2-9e7224a-202510201317.0_1760966257594_0.1434342288548871","host":"s3://npm-registry-packages-npm-production"}},"2.22.2-18a4111-202510211104.0":{"name":"@flowfuse/nr-launcher","version":"2.22.2-18a4111-202510211104.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.22.2-18a4111-202510211104.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"6f92dc7c58f6a965325aedcbdc2ff9ef0612ff27","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.22.2-18a4111-202510211104.0.tgz","fileCount":43,"integrity":"sha512-/KTFXCsU1CouVmjtzDFcLU7zNqTMosSvy/Nas9NHMrgOBrDBBJm++QneN8KAr5++csAlg7V8C21auNmDi4HRBQ==","signatures":[{"sig":"MEYCIQDvbJw9RAvtjYk7S+cwwUPMxpp8qOoDE99iS/L70KA+cQIhAKa6H5PptHshHHnDKBP19M2qlPSXDtShEkhtXqu6+lGR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":609536},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"18a41112faf6e2dc91b3798126149e0ed06de87c","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-5411e97-202510200727.0","@flowfuse/nr-file-nodes":"0.0.9-09df0b4-202510211103.0","@flowfuse/nr-mqtt-nodes":"0.1.2-a1c84db-202508281119.0","@flowfuse/nr-tables-nodes":"0.1.1-2578762-202508131026.0","@flowfuse/nr-project-nodes":"0.7.8-a99a7f0-202510201316.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.22.2-18a4111-202510211104.0_1761044674954_0.06377959031241875","host":"s3://npm-registry-packages-npm-production"}},"2.22.2-18a4111-202510211105.0":{"name":"@flowfuse/nr-launcher","version":"2.22.2-18a4111-202510211105.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.22.2-18a4111-202510211105.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"ba7cf2e6889cf39aa153595439e50c917c2c823e","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.22.2-18a4111-202510211105.0.tgz","fileCount":43,"integrity":"sha512-POAXfdpERZBIwGiiGctsos2c0BTBxXlMW+4WRvL3cQp2Ff3PCqQXo9NEX/ih2r1uuk33E/CFLQxQDDKScB9kVg==","signatures":[{"sig":"MEUCIDWvU9N4X2Ne53Ebdl1rWDORAWckkES1uT8HimfibE4UAiEAlx0sty/ZgECa+UJ+pLFhQnzTeWdDnHAb9IG/YxhquVo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":609536},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"18a41112faf6e2dc91b3798126149e0ed06de87c","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-5411e97-202510200727.0","@flowfuse/nr-file-nodes":"0.0.9-09df0b4-202510211103.0","@flowfuse/nr-mqtt-nodes":"0.1.2-a1c84db-202508281119.0","@flowfuse/nr-tables-nodes":"0.1.1-2578762-202508131026.0","@flowfuse/nr-project-nodes":"0.7.8-a99a7f0-202510201316.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.22.2-18a4111-202510211105.0_1761044722744_0.9477881087293298","host":"s3://npm-registry-packages-npm-production"}},"2.22.2-18a4111-202510221043.0":{"name":"@flowfuse/nr-launcher","version":"2.22.2-18a4111-202510221043.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.22.2-18a4111-202510221043.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"4633c61f3294232b911e9b63b32d285c29948edf","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.22.2-18a4111-202510221043.0.tgz","fileCount":43,"integrity":"sha512-d47agLYdWWbAlwWaeayNnplGMzGBIUf5IkP1UQPZayu6bU1nqHf1L0cQ1FKsPooxg818Xv7dIxGvTkvmB/FNiw==","signatures":[{"sig":"MEUCIGrt/iEciMeBWDCwQg8d5MBwN9WB5C2aL3Cs3S2gmGQ+AiEA57HyGVcz6cNIwoqKieHOEoeW3xjAscgKrANtfRC1aI8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":609536},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"18a41112faf6e2dc91b3798126149e0ed06de87c","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-5411e97-202510200727.0","@flowfuse/nr-file-nodes":"0.0.9-09df0b4-202510211103.0","@flowfuse/nr-mqtt-nodes":"0.1.2-0aca7be-202510221042.0","@flowfuse/nr-tables-nodes":"0.1.1-2578762-202508131026.0","@flowfuse/nr-project-nodes":"0.7.8-a99a7f0-202510201316.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.22.2-18a4111-202510221043.0_1761129814450_0.33104811691079505","host":"s3://npm-registry-packages-npm-production"}},"2.22.2-18a4111-202510221120.0":{"name":"@flowfuse/nr-launcher","version":"2.22.2-18a4111-202510221120.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.22.2-18a4111-202510221120.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"198d480be35aa2850b0180d685079c3b7a367a69","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.22.2-18a4111-202510221120.0.tgz","fileCount":43,"integrity":"sha512-t8jYC3HWv9r2sdLx0vCzZmunK5gpDrJbS2OIbdg7gT7LVmb7SkDov/gwzshBwca7+z37oZcvYTjQaj2x/lbCVA==","signatures":[{"sig":"MEUCID/9WUy+p3+gh0DQdMLzcwvZB3WFjd43wZjgeSB+iu+3AiEAsvOIZZum7ObAWWnxePa/bKobABFiNgBQANNclTAA0zM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":609536},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"18a41112faf6e2dc91b3798126149e0ed06de87c","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-5411e97-202510200727.0","@flowfuse/nr-file-nodes":"0.0.9-09df0b4-202510211103.0","@flowfuse/nr-mqtt-nodes":"0.1.2-9a9e11d-202510221118.0","@flowfuse/nr-tables-nodes":"0.1.1-2578762-202508131026.0","@flowfuse/nr-project-nodes":"0.7.8-a99a7f0-202510201316.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.22.2-18a4111-202510221120.0_1761132022793_0.2991959972050777","host":"s3://npm-registry-packages-npm-production"}},"2.22.2-18a4111-202510221546.0":{"name":"@flowfuse/nr-launcher","version":"2.22.2-18a4111-202510221546.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.22.2-18a4111-202510221546.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"60756d5f1dd447499bb066f1d11f3f1841ee665b","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.22.2-18a4111-202510221546.0.tgz","fileCount":43,"integrity":"sha512-hOLf+oHT1Z7M0fd+/LcEj6Eg4WXNL4dTvqFZbZ5wkklEGJdJx8OSNZsrH/zHSloDC6YBswrYetfdCcUNaIxLtw==","signatures":[{"sig":"MEYCIQCBOOmrvEy+hDqYws1VguI45DER/yAw+GySmm8tFt3T/wIhAOdpbDI5zBAlz5l3jKmkdRsBr8Xjb/7yCU5+jXlSuZbs","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":609536},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"18a41112faf6e2dc91b3798126149e0ed06de87c","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-5411e97-202510200727.0","@flowfuse/nr-file-nodes":"0.0.9-09df0b4-202510211103.0","@flowfuse/nr-mqtt-nodes":"0.1.2-578b4d6-202510221545.0","@flowfuse/nr-tables-nodes":"0.1.1-2578762-202508131026.0","@flowfuse/nr-project-nodes":"0.7.8-a99a7f0-202510201316.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.22.2-18a4111-202510221546.0_1761147995547_0.27629247342375596","host":"s3://npm-registry-packages-npm-production"}},"2.22.2-18a4111-202510221646.0":{"name":"@flowfuse/nr-launcher","version":"2.22.2-18a4111-202510221646.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.22.2-18a4111-202510221646.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"20adb2df3e9fb9d054a30a35d49f62ae5fd46411","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.22.2-18a4111-202510221646.0.tgz","fileCount":43,"integrity":"sha512-QSP4tbIBxUb/kmJoEws4NfuYX/WjUfY87aPzcQx8DEDeTLE+qIKCSWIot/jLegPLuqHkh52KV9IWbW9gd5y3kQ==","signatures":[{"sig":"MEUCIQCetjdknOGZc55RVlFw+NFgMM+/N0olRzFjW46CNy5ZuQIgbcTKirR73jzN/uwr/EKrQKY5/Emtmd4YUc8YQlzu4MA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":609536},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"18a41112faf6e2dc91b3798126149e0ed06de87c","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-5411e97-202510200727.0","@flowfuse/nr-file-nodes":"0.0.9-09df0b4-202510211103.0","@flowfuse/nr-mqtt-nodes":"0.1.2-0287dd4-202510221645.0","@flowfuse/nr-tables-nodes":"0.1.1-2578762-202508131026.0","@flowfuse/nr-project-nodes":"0.7.8-a99a7f0-202510201316.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.22.2-18a4111-202510221646.0_1761151601114_0.9082735927503061","host":"s3://npm-registry-packages-npm-production"}},"2.22.2-18a4111-202510230816.0":{"name":"@flowfuse/nr-launcher","version":"2.22.2-18a4111-202510230816.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.22.2-18a4111-202510230816.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"10922c02a9201793462a11b84576a45efae2879f","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.22.2-18a4111-202510230816.0.tgz","fileCount":43,"integrity":"sha512-n/RD7n6ylGU4gf4AqzCeBYxxfycRfWyrV6UuteoxA/057Ogj1o+/q7/EqdzaQdhkf9OWUUIb1sLxd98s1R8tVQ==","signatures":[{"sig":"MEUCIGZuEhA8xuZVx6fnxAkO7+Qmgpvhx4rPtVH7Nor1BKceAiEAlz15VeIGkjLnWQi3HA7oklzUZ1LBlpbFWtGP3VUQFFc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":609536},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"18a41112faf6e2dc91b3798126149e0ed06de87c","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-5411e97-202510200727.0","@flowfuse/nr-file-nodes":"0.0.9-09df0b4-202510211103.0","@flowfuse/nr-mqtt-nodes":"0.2.1-e657d2c-202510230815.0","@flowfuse/nr-tables-nodes":"0.1.1-2578762-202508131026.0","@flowfuse/nr-project-nodes":"0.7.8-a99a7f0-202510201316.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.22.2-18a4111-202510230816.0_1761207397887_0.4118436321339105","host":"s3://npm-registry-packages-npm-production"}},"2.22.2-18a4111-202510230926.0":{"name":"@flowfuse/nr-launcher","version":"2.22.2-18a4111-202510230926.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.22.2-18a4111-202510230926.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"50bb130214f53216aff07f19d16bde0792220679","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.22.2-18a4111-202510230926.0.tgz","fileCount":43,"integrity":"sha512-q1hbcWBWidmlxrf01J67XL/GzGQZNgSO7wgTQMDUaiBF0TXWNqqjw/AA7MQlkRU3gDQp+p55Cq87Ig6nF/Be8A==","signatures":[{"sig":"MEYCIQCjGDUI5NqQJ6g1MZByfTuQ7yoAmz61VQ9X7SCiGBO52wIhALjaLDI6tOgSjEZMLD9rZt4cYVpUUWmdMU8vCWdWwf94","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":609536},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"18a41112faf6e2dc91b3798126149e0ed06de87c","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-5411e97-202510200727.0","@flowfuse/nr-file-nodes":"0.0.9-09df0b4-202510211103.0","@flowfuse/nr-mqtt-nodes":"0.2.1-e657d2c-202510230815.0","@flowfuse/nr-tables-nodes":"0.1.1-963ddaa-202510230925.0","@flowfuse/nr-project-nodes":"0.7.8-a99a7f0-202510201316.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.22.2-18a4111-202510230926.0_1761211634263_0.23620307058489232","host":"s3://npm-registry-packages-npm-production"}},"2.22.2-18a4111-202510230931.0":{"name":"@flowfuse/nr-launcher","version":"2.22.2-18a4111-202510230931.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.22.2-18a4111-202510230931.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"f0c3dedf8993d56837edd1746dfdb6db8dcc839d","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.22.2-18a4111-202510230931.0.tgz","fileCount":43,"integrity":"sha512-WceGnN1DGqqtDDpAdxu3zHfPblADp3EX+itxYBHn4aCOaeYor6nWEErONGC2SSUwO6eeA+dT1BSVpndal5GYTg==","signatures":[{"sig":"MEQCIC8rGGNR9pjKcxrZW8keqqNPSJymFIUlz/aTtxtxUd9kAiBQ3Fs95y9e2rsybZqA+CRe/+G+5rgWimttdmeagUI7JQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":609536},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"18a41112faf6e2dc91b3798126149e0ed06de87c","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-5411e97-202510200727.0","@flowfuse/nr-file-nodes":"0.0.9-09df0b4-202510211103.0","@flowfuse/nr-mqtt-nodes":"0.2.1-e657d2c-202510230815.0","@flowfuse/nr-tables-nodes":"0.1.2-d8f2d66-202510230930.0","@flowfuse/nr-project-nodes":"0.7.8-a99a7f0-202510201316.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.22.2-18a4111-202510230931.0_1761211908208_0.3632318046796419","host":"s3://npm-registry-packages-npm-production"}},"2.22.2-a144d37-202510230933.0":{"name":"@flowfuse/nr-launcher","version":"2.22.2-a144d37-202510230933.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.22.2-a144d37-202510230933.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"6ababf953a00c5eab5b449904f9905341c5d0bbd","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.22.2-a144d37-202510230933.0.tgz","fileCount":43,"integrity":"sha512-ZPAyTCW+VUPlS/Szr0uolc2pGZi6OmJuo3ibATHt3RT5kMyx1djdWmLfgvtWwfQukIrl81LR3qCb1EVRKqojFw==","signatures":[{"sig":"MEUCIQDhPqneFh0fy7tEdzIifbb3vy46QFzjh2WChUdk6938+gIgG7kGFRc+SZXLYdGryewpQ3qVtPLh6yKnv6EzQylU6IM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":609536},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"a144d3738bc2da5cf74f221e6c6c9390fe486740","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-5411e97-202510200727.0","@flowfuse/nr-file-nodes":"0.0.9-09df0b4-202510211103.0","@flowfuse/nr-mqtt-nodes":"0.2.1-e657d2c-202510230815.0","@flowfuse/nr-tables-nodes":"0.1.2-d8f2d66-202510230930.0","@flowfuse/nr-project-nodes":"0.7.8-a99a7f0-202510201316.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.22.2-a144d37-202510230933.0_1761212013881_0.413791186200577","host":"s3://npm-registry-packages-npm-production"}},"2.23.1-f9447f5-202510230939.0":{"name":"@flowfuse/nr-launcher","version":"2.23.1-f9447f5-202510230939.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.23.1-f9447f5-202510230939.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"24e64cce5a870e94f126ad2c216d3c4568517383","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.23.1-f9447f5-202510230939.0.tgz","fileCount":43,"integrity":"sha512-9GaEmeRXBljtRSjFFa5nqBg0aOJch/o3aVNhAdj4BnKM0NseA+PEV1Vans6sY7rDm/QSWD0A9ShLZZBma7zbrA==","signatures":[{"sig":"MEUCIQCPtHqAPVtd3ktJIy3u0rytEvVCXddflu832jCh3FpMzwIgOHmY3SIvaH4IfDbGrrgdqGLbZAo1/JpWQ1W4c90pxrU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":609663},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"f9447f561695d3c443efd0506b745248409f99e4","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-5411e97-202510200727.0","@flowfuse/nr-file-nodes":"0.0.9-09df0b4-202510211103.0","@flowfuse/nr-mqtt-nodes":"0.2.1-e657d2c-202510230815.0","@flowfuse/nr-tables-nodes":"0.1.2-d8f2d66-202510230930.0","@flowfuse/nr-project-nodes":"0.7.8-a99a7f0-202510201316.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.23.1-f9447f5-202510230939.0_1761212391395_0.03490773032178307","host":"s3://npm-registry-packages-npm-production"}},"2.23.0":{"name":"@flowfuse/nr-launcher","version":"2.23.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.23.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"40a4702973b56c31bdac25dc3d9aad8864e90dc6","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.23.0.tgz","fileCount":43,"integrity":"sha512-F+E5MOiDw5Irj0HWMWtASD4T63jcbUERdAHFz1vRmxiZ+t96Fctnn/epUcEfuFVtoeOV+juCPlQgC7zIHq0ZKw==","signatures":[{"sig":"MEUCIQDbkKuObA5ULlLyKAjyPciDJATz6TxRSEU5ZBb1lIYS0gIgBXnkYFATGgdhd8yuZrcgtKHNb6f86irXciOttnrFlPE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":609530},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"f9447f561695d3c443efd0506b745248409f99e4","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"^0.6.0","@flowfuse/nr-file-nodes":"^0.0.8","@flowfuse/nr-mqtt-nodes":"^0.2.0","@flowfuse/nr-tables-nodes":"^0.1.1","@flowfuse/nr-project-nodes":"^0.7.7","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.23.0_1761212453726_0.8579042157293484","host":"s3://npm-registry-packages-npm-production"}},"2.23.1-f9447f5-202510270718.0":{"name":"@flowfuse/nr-launcher","version":"2.23.1-f9447f5-202510270718.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.23.1-f9447f5-202510270718.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"410f7381a30c798a5d74145ed6d8757113bc6f4e","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.23.1-f9447f5-202510270718.0.tgz","fileCount":43,"integrity":"sha512-FxmbyLpSeoC5jggRbtUJmFL2HiynDVYwfmMBkT7E6vO3zmHqUVYk4/xpVPRUhkHlqIVWgLb7VUYKxOQJb8ZXFA==","signatures":[{"sig":"MEUCIDfiizQQJi4Qxnehj67fedThE3h7x2I6P7N7C+BPB19EAiEAlHnpEZEK2AT+sQsrbmt1qyyYqzj85Ldfk1vs4I3rhHw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":609663},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"f9447f561695d3c443efd0506b745248409f99e4","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-b88458b-202510270717.0","@flowfuse/nr-file-nodes":"0.0.9-09df0b4-202510211103.0","@flowfuse/nr-mqtt-nodes":"0.2.1-e657d2c-202510230815.0","@flowfuse/nr-tables-nodes":"0.1.2-d8f2d66-202510230930.0","@flowfuse/nr-project-nodes":"0.7.8-a99a7f0-202510201316.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.23.1-f9447f5-202510270718.0_1761549551230_0.8301275969079787","host":"s3://npm-registry-packages-npm-production"}},"2.23.1":{"name":"@flowfuse/nr-launcher","version":"2.23.1","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.23.1","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"c078b38d0b9a7c787a83f29a5bf03f413ae0eea2","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.23.1.tgz","fileCount":43,"integrity":"sha512-NtTckACr6+GHCTBHgcCQhGNrald6PtBqLp0IzS/NqsR9QosqPmKg2MkYwidNkUYqyIAGaBSg8TA2Pixw4IPAcg==","signatures":[{"sig":"MEUCIQC9TBlLbH94JWGwa3ShHVh+IDvfCDRUdglIOM0GZtStPQIgB2cgnc5/6YjLxNwObFK0LyOPjPWCq69HDw1PMAhwVDI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":609553},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"94fe1db7a5bf881da0d02a1dd8ae4e5ba20d7664","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"^0.6.0","@flowfuse/nr-file-nodes":"^0.0.8","@flowfuse/nr-mqtt-nodes":"^0.2.0","@flowfuse/nr-tables-nodes":"^0.1.1","@flowfuse/nr-project-nodes":"^0.7.7","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.23.1_1761561125731_0.609163833235429","host":"s3://npm-registry-packages-npm-production"}},"2.23.2-94fe1db-202510271031.0":{"name":"@flowfuse/nr-launcher","version":"2.23.2-94fe1db-202510271031.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.23.2-94fe1db-202510271031.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"73b9d59d5c56107b024306768cc4239b3603b833","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.23.2-94fe1db-202510271031.0.tgz","fileCount":43,"integrity":"sha512-FDHg1lus1ZdxeWu1rKChlM1Usee+mYiCgMpHoLrI4x3FfEH4ksxYdE65Bc5rx6BvfMYqYgW/WX9C6J9QJ/rGSA==","signatures":[{"sig":"MEYCIQCVyYZyiFKnNZYgRznK6PJ/p/2WCK8IENZhCk7ufs+XQwIhAM5fPqDuJlUHchQ8zl39K1SfWycUxc4Ft8bIF56b3d4g","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":609686},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"94fe1db7a5bf881da0d02a1dd8ae4e5ba20d7664","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-b88458b-202510270717.0","@flowfuse/nr-file-nodes":"0.0.9-09df0b4-202510211103.0","@flowfuse/nr-mqtt-nodes":"0.2.1-e657d2c-202510230815.0","@flowfuse/nr-tables-nodes":"0.1.2-d8f2d66-202510230930.0","@flowfuse/nr-project-nodes":"0.7.8-a99a7f0-202510201316.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.23.2-94fe1db-202510271031.0_1761561129183_0.1661756695158263","host":"s3://npm-registry-packages-npm-production"}},"2.23.2-94fe1db-202510271325.0":{"name":"@flowfuse/nr-launcher","version":"2.23.2-94fe1db-202510271325.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.23.2-94fe1db-202510271325.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"83d897783449f05230602e1a74aee9473af9cd54","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.23.2-94fe1db-202510271325.0.tgz","fileCount":43,"integrity":"sha512-YgVKfpANYjtopr62Gvqs/Pi3PlZmiW2LkHD9BkV5NRFjMBcOR8HlFDnuu3/DNQUaXWOY6zORuQt3Pn3uubTSXA==","signatures":[{"sig":"MEUCICeVEgMI1vjoQ3XZSAT4TUGDtAdKLSMZrLuUL6gp259qAiEA/8ZpWb9yv2enCGDcsiQJJ9+ecDJ2ggLWyRPtkPQBr6M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":609686},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"94fe1db7a5bf881da0d02a1dd8ae4e5ba20d7664","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-b88458b-202510270717.0","@flowfuse/nr-file-nodes":"0.0.9-09df0b4-202510211103.0","@flowfuse/nr-mqtt-nodes":"0.2.1-e657d2c-202510230815.0","@flowfuse/nr-tables-nodes":"0.1.2-d8f2d66-202510230930.0","@flowfuse/nr-project-nodes":"0.7.8-e4f870f-202510271324.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.23.2-94fe1db-202510271325.0_1761571526281_0.37686801294042827","host":"s3://npm-registry-packages-npm-production"}},"2.23.2-94fe1db-202510271908.0":{"name":"@flowfuse/nr-launcher","version":"2.23.2-94fe1db-202510271908.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.23.2-94fe1db-202510271908.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"c7ce3473e28a2ebdda17544bbe08892d458d0ec5","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.23.2-94fe1db-202510271908.0.tgz","fileCount":43,"integrity":"sha512-df4ZtK2tv2KFhRaBxpgRcZcBUP18vVh+LwtCCAQBS7a9YMEr8Fvirjuw9zVkn1XJSg4rlET/odd/7APFpql1xg==","signatures":[{"sig":"MEUCIQDBdeh9TwklqYwfKJrBdHpomS3gdwdvlJ1AGbO7sxg6+wIgYMjl4bvkXa2GFseELBZYBhey80jrf8vYinTvoY7wx+c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":609686},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"94fe1db7a5bf881da0d02a1dd8ae4e5ba20d7664","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-b88458b-202510270717.0","@flowfuse/nr-file-nodes":"0.0.9-d1dffa5-202510271907.0","@flowfuse/nr-mqtt-nodes":"0.2.1-e657d2c-202510230815.0","@flowfuse/nr-tables-nodes":"0.1.2-d8f2d66-202510230930.0","@flowfuse/nr-project-nodes":"0.7.8-e4f870f-202510271324.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.23.2-94fe1db-202510271908.0_1761592118556_0.30628623499998797","host":"s3://npm-registry-packages-npm-production"}},"2.23.2-e040092-202510280700.0":{"name":"@flowfuse/nr-launcher","version":"2.23.2-e040092-202510280700.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.23.2-e040092-202510280700.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"aaa2fd50f58a9e994be2bab461f396e2820b2694","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.23.2-e040092-202510280700.0.tgz","fileCount":43,"integrity":"sha512-gKXNKOdVdeH39ADzXoo7p6yOXhNHzS3XSjCEJVNe5+kZRjBwKtkBz8mbDrgzZ9hyuAUsP2ZRHtyrskQ7EcWT/g==","signatures":[{"sig":"MEYCIQDW/n31/5VL99ayz12ZbAJse78rBBvmHkSIuCJ7EKzv7wIhANJrMTs4Z2GfRWz5qpHgn7/ZzVyUxcuNJVPgSyLLSu6P","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":609686},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"e040092cbb5f14fe4686f72781271faf71e7615f","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-b88458b-202510270717.0","@flowfuse/nr-file-nodes":"0.0.9-d1dffa5-202510271907.0","@flowfuse/nr-mqtt-nodes":"0.2.1-e657d2c-202510230815.0","@flowfuse/nr-tables-nodes":"0.1.2-d8f2d66-202510230930.0","@flowfuse/nr-project-nodes":"0.7.8-e4f870f-202510271324.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.23.2-e040092-202510280700.0_1761634823394_0.4647649365105446","host":"s3://npm-registry-packages-npm-production"}},"2.23.2-b18c3c1-202510281643.0":{"name":"@flowfuse/nr-launcher","version":"2.23.2-b18c3c1-202510281643.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.23.2-b18c3c1-202510281643.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"a800a1aaa03d424d607242e39ba80e66f294054e","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.23.2-b18c3c1-202510281643.0.tgz","fileCount":43,"integrity":"sha512-3OalAu+CJ+pNCe65OASzifJP0GoO+SnlEIXB3jCxBgoqMHWLqFNkB7VJ4UPQEIh5UbNfamnc9ynPUXLGvlibXg==","signatures":[{"sig":"MEYCIQCxfCj52Oz9Jiz8XyhejrTGHCS9xDU5riDMDD601WnonAIhAMWPFFKgnLbDU2FOOoT57ue5BSg1UJjFB7FWvJ9BKJPH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":609686},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"b18c3c127c87037f0c0c79e078729b172d797c05","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-b88458b-202510270717.0","@flowfuse/nr-file-nodes":"0.0.9-d7b50a5-202510281642.0","@flowfuse/nr-mqtt-nodes":"0.2.1-e657d2c-202510230815.0","@flowfuse/nr-tables-nodes":"0.1.2-d8f2d66-202510230930.0","@flowfuse/nr-project-nodes":"0.7.8-e4f870f-202510271324.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.23.2-b18c3c1-202510281643.0_1761669789967_0.7264772768610839","host":"s3://npm-registry-packages-npm-production"}},"2.23.2-b18c3c1-202510311500.0":{"name":"@flowfuse/nr-launcher","version":"2.23.2-b18c3c1-202510311500.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.23.2-b18c3c1-202510311500.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"9c20234e05504d5c7c4a321fc93fdb88792398c9","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.23.2-b18c3c1-202510311500.0.tgz","fileCount":43,"integrity":"sha512-BA9s+Ia1zfcuzl9B4o0L0+kuUSSQ4fT0BQqrz43HThGSK5YuQT+b4Br3NDSxBC4XQ9JnQuDYStmWAFMyNyBhpg==","signatures":[{"sig":"MEQCICZqTQ6W10k1xbbphaq3P2q0Rm/Iwxyaf6lmaUYI4H08AiAu+DFliW+ShfN8o3hnRjici9T6FsN2mjX8iXVJw3O0Tg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":609686},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"b18c3c127c87037f0c0c79e078729b172d797c05","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-b88458b-202510270717.0","@flowfuse/nr-file-nodes":"0.0.9-d7b50a5-202510281642.0","@flowfuse/nr-mqtt-nodes":"0.2.1-e657d2c-202510230815.0","@flowfuse/nr-tables-nodes":"0.1.3-e74a762-202510311459.0","@flowfuse/nr-project-nodes":"0.7.8-e4f870f-202510271324.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.23.2-b18c3c1-202510311500.0_1761922838715_0.6357782957010734","host":"s3://npm-registry-packages-npm-production"}},"2.23.2-b18c3c1-202510311558.0":{"name":"@flowfuse/nr-launcher","version":"2.23.2-b18c3c1-202510311558.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.23.2-b18c3c1-202510311558.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"b950ae0aac11b9cafa96b0b15076ac4db89d8a6d","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.23.2-b18c3c1-202510311558.0.tgz","fileCount":43,"integrity":"sha512-r+dck5iXDUNDvgrX0j7xv0c5LeO6SwETFgcfiwEKvRy+kzXHwNkgJt+0NIhQzzv4vkGiJ6+l04mi1Mc2vKvMmg==","signatures":[{"sig":"MEUCIQCjzwa0kCnWbr54Kh4Cd6J3QpBk8F2t6lFt7xCsTkGyhQIgYd1mv+m8WjUGjJOoCZWqSXxNFLDdEgo+Pr/GXbXrqtI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":609686},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"b18c3c127c87037f0c0c79e078729b172d797c05","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-b88458b-202510270717.0","@flowfuse/nr-file-nodes":"0.0.9-d7b50a5-202510281642.0","@flowfuse/nr-mqtt-nodes":"0.2.2-7d4efff-202510311557.0","@flowfuse/nr-tables-nodes":"0.1.3-e74a762-202510311459.0","@flowfuse/nr-project-nodes":"0.7.8-e4f870f-202510271324.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.23.2-b18c3c1-202510311558.0_1761926341606_0.365096035744537","host":"s3://npm-registry-packages-npm-production"}},"2.23.2-b18c3c1-202511051641.0":{"name":"@flowfuse/nr-launcher","version":"2.23.2-b18c3c1-202511051641.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.23.2-b18c3c1-202511051641.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"c908567916d559563e43c2e6a7867e230b2bec21","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.23.2-b18c3c1-202511051641.0.tgz","fileCount":43,"integrity":"sha512-R+FM6kc3sL1ElDTY7YdsIaZ4GWnzEBQutdQ50VJsyW2gEJzSBOvBTq0FOarfPlL9xJc04gnyZrXBDGfKbDhrDg==","signatures":[{"sig":"MEUCIBHstgkJarrNz5p9JyoYwJDe9sCOERhWwAAbpUW1BGNGAiEAvijIcyZg0JdIk2hDvPAduEkP09oKmde6rwzryumIZQ8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":609686},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"b18c3c127c87037f0c0c79e078729b172d797c05","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-b88458b-202510270717.0","@flowfuse/nr-file-nodes":"0.0.9-d7b50a5-202510281642.0","@flowfuse/nr-mqtt-nodes":"0.2.2-7d4efff-202510311557.0","@flowfuse/nr-tables-nodes":"0.1.3-8b14e45-202511051640.0","@flowfuse/nr-project-nodes":"0.7.8-e4f870f-202510271324.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.23.2-b18c3c1-202511051641.0_1762360879641_0.014060633384372023","host":"s3://npm-registry-packages-npm-production"}},"2.23.2-b18c3c1-202511051717.0":{"name":"@flowfuse/nr-launcher","version":"2.23.2-b18c3c1-202511051717.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.23.2-b18c3c1-202511051717.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"331c21050a70dbba59a3f0cc2f89ed600e4d3a1d","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.23.2-b18c3c1-202511051717.0.tgz","fileCount":43,"integrity":"sha512-nUNfiVHEAgiCiA/yUPvT5Dz1z4fdYTLqKT3Z3KCYMt21iPF6jJomWgDUqKL5opjnDwRl6Pgbm+5I81rTiV7V5A==","signatures":[{"sig":"MEQCIBWBzWI3klY61O2UEr+BUqpTcSTlOJcJxxaiecz5TfuTAiBNk/4fs38GaOyqrQNczLs2oRP/sQtKiCgRrIvdYsd+Vw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":609686},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"b18c3c127c87037f0c0c79e078729b172d797c05","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-b88458b-202510270717.0","@flowfuse/nr-file-nodes":"0.0.9-d7b50a5-202510281642.0","@flowfuse/nr-mqtt-nodes":"0.2.2-7d4efff-202510311557.0","@flowfuse/nr-tables-nodes":"0.2.1-bdf10d1-202511051716.0","@flowfuse/nr-project-nodes":"0.7.8-e4f870f-202510271324.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.23.2-b18c3c1-202511051717.0_1762363043538_0.5470088518736582","host":"s3://npm-registry-packages-npm-production"}},"2.23.2-ee4d365-202511170923.0":{"name":"@flowfuse/nr-launcher","version":"2.23.2-ee4d365-202511170923.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.23.2-ee4d365-202511170923.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"e3583ce02e9b146ded06652553677ce62466108e","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.23.2-ee4d365-202511170923.0.tgz","fileCount":43,"integrity":"sha512-rRJAvAQx0pvbh7Q+vfpyMcnrQrvxGB/gwYAD7CJroC64LXdexRmh7RTu2pQRDSmLta4ID8C+qXG0IWlqRO0Xdg==","signatures":[{"sig":"MEUCIHLugWxuu365QpVnsVCSyeax/6F5ZLcjyX/QfdjS2AVMAiEA3c/izW8KMq5DUq1mE0HUHp1JGPstXX272Hdnfw0nVSw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":609686},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"ee4d36571acf3dd695f4c4b1fe6b382d7924a865","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-b88458b-202510270717.0","@flowfuse/nr-file-nodes":"0.0.9-d7b50a5-202510281642.0","@flowfuse/nr-mqtt-nodes":"0.2.2-7d4efff-202510311557.0","@flowfuse/nr-tables-nodes":"0.2.1-bdf10d1-202511051716.0","@flowfuse/nr-project-nodes":"0.7.8-e4f870f-202510271324.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.23.2-ee4d365-202511170923.0_1763371406512_0.560853518933244","host":"s3://npm-registry-packages-npm-production"}},"2.23.2-ee4d365-202511170926.0":{"name":"@flowfuse/nr-launcher","version":"2.23.2-ee4d365-202511170926.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.23.2-ee4d365-202511170926.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"cae6e6329087012efd8d50806a3c71cc58f03ae4","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.23.2-ee4d365-202511170926.0.tgz","fileCount":43,"integrity":"sha512-Uck9s14Ez2rIrzi0ESzv8GqGy5Ol7zqWxRr1vVoxyfmVnyt1bnJtJU4xw+Otu7pkRS3pptjhGo39SvCm8hyPDg==","signatures":[{"sig":"MEUCIQCv1sCoVMi112oB/Qedzj3rxOz9CD+EwZZLEg+i2bruqAIgZO6QSPqbUCO45UzOaq9sG9JIigsdpE/cK+LrWR1H+BM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":609686},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"ee4d36571acf3dd695f4c4b1fe6b382d7924a865","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-2eabf40-202511170925.0","@flowfuse/nr-file-nodes":"0.0.9-d7b50a5-202510281642.0","@flowfuse/nr-mqtt-nodes":"0.2.2-7d4efff-202510311557.0","@flowfuse/nr-tables-nodes":"0.2.1-bdf10d1-202511051716.0","@flowfuse/nr-project-nodes":"0.7.8-e4f870f-202510271324.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.23.2-ee4d365-202511170926.0_1763371613847_0.16503613394812655","host":"s3://npm-registry-packages-npm-production"}},"2.23.2-1d9cc21-202511180858.0":{"name":"@flowfuse/nr-launcher","version":"2.23.2-1d9cc21-202511180858.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.23.2-1d9cc21-202511180858.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"3b1b0f81d856c006ab87210606b107c36bf9e98a","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.23.2-1d9cc21-202511180858.0.tgz","fileCount":43,"integrity":"sha512-rGmG+LVtEl17dq/DLSfnK37F3Fkq/gahZzo7JNPAJAsJsZDaPCt4wTKdyCyT29Y7KDm182CILxa1RsP8W0Kfsw==","signatures":[{"sig":"MEYCIQDGw+IfkcKGRy/FdkDoVLyl1jlWVdOrJ/hxBU/QAaFyOAIhAKoL5F9Ti+Qn8ZgqZOqyY39X/XBic4pM4rqRcZ5Wk/wC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":609686},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"1d9cc217fd36acf620f96a415f0e10bd21f68fe6","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-2eabf40-202511170925.0","@flowfuse/nr-file-nodes":"0.0.9-d7b50a5-202510281642.0","@flowfuse/nr-mqtt-nodes":"0.2.2-7d4efff-202510311557.0","@flowfuse/nr-tables-nodes":"0.2.1-bdf10d1-202511051716.0","@flowfuse/nr-project-nodes":"0.7.8-e4f870f-202510271324.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.23.2-1d9cc21-202511180858.0_1763456320006_0.6193770483855028","host":"s3://npm-registry-packages-npm-production"}},"2.23.2-c04c8ba-202511181108.0":{"name":"@flowfuse/nr-launcher","version":"2.23.2-c04c8ba-202511181108.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.23.2-c04c8ba-202511181108.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"2d5a7223445bf49cb548e5860d18c6af22958eca","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.23.2-c04c8ba-202511181108.0.tgz","fileCount":43,"integrity":"sha512-CKAZt0zY8mWwwiLuIqIS8hVKmQBGOgXnZr/vD4e9UEFovFD6A27ay8TMcrI4mCacsjq2kNgf0MI61t+dQjeKXw==","signatures":[{"sig":"MEQCIFY6wqRF0UQGNpWtUOqRxeBEYT+L8sxRWX4lvkFHVDsDAiBMJV6pHwIYk+J0QQmN5x6I+d4F7Ls3LtAxHp0KGH7Jqw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":610189},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"c04c8baceb8e702c3aafd53c1df3dbaf9e7802e8","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-2eabf40-202511170925.0","@flowfuse/nr-file-nodes":"0.0.9-d7b50a5-202510281642.0","@flowfuse/nr-mqtt-nodes":"^0.2.0","@flowfuse/nr-tables-nodes":"0.2.1-bdf10d1-202511051716.0","@flowfuse/nr-project-nodes":"0.7.8-e4f870f-202510271324.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.23.2-c04c8ba-202511181108.0_1763464098389_0.6967376834445944","host":"s3://npm-registry-packages-npm-production"}},"2.23.2-c04c8ba-202511181127.0":{"name":"@flowfuse/nr-launcher","version":"2.23.2-c04c8ba-202511181127.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.23.2-c04c8ba-202511181127.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"df07b5ff406a68cb112d05f79c83ce0974b47494","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.23.2-c04c8ba-202511181127.0.tgz","fileCount":43,"integrity":"sha512-3gcjXWpxi98i0mpR05A0Q+Ee/z6UjIOxslgARMcc+p7pa8awCG72aTM8tj9d3B6VIKgy2jgVf+hiFuTkZQS+ew==","signatures":[{"sig":"MEQCIH5Tfc+OcTXxJa2Y/1nitsCmywlR45AjdrVQTR1PT3DKAiAcuY9P21G/fQmKot5qGg4d2oPZ4kaNNf+xo+sVjnfQ+g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":610189},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"c04c8baceb8e702c3aafd53c1df3dbaf9e7802e8","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-2eabf40-202511170925.0","@flowfuse/nr-file-nodes":"0.0.9-d7b50a5-202510281642.0","@flowfuse/nr-mqtt-nodes":"^0.2.0","@flowfuse/nr-tables-nodes":"0.2.1-bdf10d1-202511051716.0","@flowfuse/nr-project-nodes":"0.7.8-e4f870f-202510271324.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.23.2-c04c8ba-202511181127.0_1763465256086_0.23500281502665543","host":"s3://npm-registry-packages-npm-production"}},"2.23.2-c04c8ba-202511181317.0":{"name":"@flowfuse/nr-launcher","version":"2.23.2-c04c8ba-202511181317.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.23.2-c04c8ba-202511181317.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"2ec33f998fb4f7e6974a6fed1566128a828c6ffa","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.23.2-c04c8ba-202511181317.0.tgz","fileCount":43,"integrity":"sha512-jOfZZx5h3nezHx8lv7ldUV6HluRNPaoLGamdPpW4yigOi48WsISMfSvFOV0LP6GbTjAcfzApVymM1UbqzBWpwg==","signatures":[{"sig":"MEYCIQC2QlCursuWT85f1eMDFf9VXr3JjDJxi2SjMgjLgO4sCAIhANqlFqMzaSRwzv2BQBy1/9+PwFedhyeMhHrNtgsrP2/H","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":610189},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"c04c8baceb8e702c3aafd53c1df3dbaf9e7802e8","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-2eabf40-202511170925.0","@flowfuse/nr-file-nodes":"0.0.9-d7b50a5-202510281642.0","@flowfuse/nr-mqtt-nodes":"^0.2.0","@flowfuse/nr-tables-nodes":"0.2.1-bdf10d1-202511051716.0","@flowfuse/nr-project-nodes":"0.7.8-e4f870f-202510271324.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.23.2-c04c8ba-202511181317.0_1763471870779_0.7547108588843556","host":"s3://npm-registry-packages-npm-production"}},"2.23.2-c04c8ba-202511181722.0":{"name":"@flowfuse/nr-launcher","version":"2.23.2-c04c8ba-202511181722.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.23.2-c04c8ba-202511181722.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"72cb89a3e73e8ab5dc3511343590b545af7e3bc7","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.23.2-c04c8ba-202511181722.0.tgz","fileCount":43,"integrity":"sha512-9swUAEEvVQSygZ5Vqq5pR9RvT5HBEZawTF00pOhs/f65/j4Cg0+Sy5HN+2Iuo1tv4+E/aqXGXrKzj55AVAiCdg==","signatures":[{"sig":"MEUCIDN0dOcUHqsqxJy7mwbwQ9ytKLbN74Fek0FEMqualhByAiEA1OzTsLn4RNMzb20gZUQ1kPERHYBLh30RZDorAP2HeHc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":610189},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"c04c8baceb8e702c3aafd53c1df3dbaf9e7802e8","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-2eabf40-202511170925.0","@flowfuse/nr-file-nodes":"0.0.9-d7b50a5-202510281642.0","@flowfuse/nr-mqtt-nodes":"^0.2.0","@flowfuse/nr-tables-nodes":"0.2.1-bdf10d1-202511051716.0","@flowfuse/nr-project-nodes":"0.7.8-e4f870f-202510271324.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.23.2-c04c8ba-202511181722.0_1763486541500_0.5460646318371805","host":"s3://npm-registry-packages-npm-production"}},"2.23.2-c04c8ba-202511181737.0":{"name":"@flowfuse/nr-launcher","version":"2.23.2-c04c8ba-202511181737.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.23.2-c04c8ba-202511181737.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"2bb285c7b9f78897718c136edb88c02c7f287840","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.23.2-c04c8ba-202511181737.0.tgz","fileCount":43,"integrity":"sha512-EGQFM5gsob0DEET5G4jPO4ACFHd7wESJtSEcTpBMGJIeBYu368WIx+BedtKSFOtP+E7NbzcEjlwWGfWOlTOzMQ==","signatures":[{"sig":"MEQCICi9qgfQfSfxAZFRFjXVl6JTjJ3ybtGQ2dIMzzQUmi8YAiARKPDfG+hooooolkg/Mv2hjWgIYPYgSOwL/fqvx2rGaQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":610189},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"c04c8baceb8e702c3aafd53c1df3dbaf9e7802e8","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-2eabf40-202511170925.0","@flowfuse/nr-file-nodes":"0.0.9-d7b50a5-202510281642.0","@flowfuse/nr-mqtt-nodes":"^0.2.0","@flowfuse/nr-tables-nodes":"0.2.1-bdf10d1-202511051716.0","@flowfuse/nr-project-nodes":"0.7.8-e4f870f-202510271324.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.23.2-c04c8ba-202511181737.0_1763487444093_0.3968667493551252","host":"s3://npm-registry-packages-npm-production"}},"2.23.2-c04c8ba-202511181828.0":{"name":"@flowfuse/nr-launcher","version":"2.23.2-c04c8ba-202511181828.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.23.2-c04c8ba-202511181828.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"ee4b25dfbcb3f6aa4f5eb0be43f6f8d99dc208da","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.23.2-c04c8ba-202511181828.0.tgz","fileCount":43,"integrity":"sha512-0l9K7PrGUX5vD9yz7k6SIcR1loFxmAicWYH+q2bR93OSslVWadE0Z6u5RdD58H22QNeo/6qgjs4qzrwpv1diVQ==","signatures":[{"sig":"MEUCIQDIDXSqlcgHA4zeF2WV/yQIkhvn9mn2pJuucv48TjMZmQIgfgvhEvckHe4YEpaSXXtFfbfrd2WkhweOa8tp0QjxMQo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":610189},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"c04c8baceb8e702c3aafd53c1df3dbaf9e7802e8","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-2eabf40-202511170925.0","@flowfuse/nr-file-nodes":"0.0.9-d7b50a5-202510281642.0","@flowfuse/nr-mqtt-nodes":"^0.2.0","@flowfuse/nr-tables-nodes":"0.2.1-bdf10d1-202511051716.0","@flowfuse/nr-project-nodes":"0.7.8-e4f870f-202510271324.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.23.2-c04c8ba-202511181828.0_1763490507077_0.5563963558293208","host":"s3://npm-registry-packages-npm-production"}},"2.23.2-c04c8ba-202511181927.0":{"name":"@flowfuse/nr-launcher","version":"2.23.2-c04c8ba-202511181927.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.23.2-c04c8ba-202511181927.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"bc7fecdf2e37b5f25bcce91c0592fa6ea339e7cf","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.23.2-c04c8ba-202511181927.0.tgz","fileCount":43,"integrity":"sha512-GS2SISPtjUeWC8pYlS+8JdFqiWLk6fu//cRmnWdHQJy/jxH8ZdPNzyNuV3ePPz56Yx+LecLiujwJnkiv71/3IQ==","signatures":[{"sig":"MEYCIQDbJcAig1rvZuGTOiRcc1UN5uXsEPHG3Do7dKntr9KppwIhAJ/+aLJLe2LotYmppaoO7xOLADZPck+k8na4V/Wca5dl","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":610189},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"c04c8baceb8e702c3aafd53c1df3dbaf9e7802e8","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-2eabf40-202511170925.0","@flowfuse/nr-file-nodes":"0.0.9-d7b50a5-202510281642.0","@flowfuse/nr-mqtt-nodes":"^0.2.0","@flowfuse/nr-tables-nodes":"0.2.1-bdf10d1-202511051716.0","@flowfuse/nr-project-nodes":"0.7.8-e4f870f-202510271324.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.23.2-c04c8ba-202511181927.0_1763494080208_0.27954712727177466","host":"s3://npm-registry-packages-npm-production"}},"2.23.2-c04c8ba-202511191025.0":{"name":"@flowfuse/nr-launcher","version":"2.23.2-c04c8ba-202511191025.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.23.2-c04c8ba-202511191025.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"a4b46cc82531d442418e31b5fc80a70773eb4295","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.23.2-c04c8ba-202511191025.0.tgz","fileCount":43,"integrity":"sha512-7EMMucHSFQVMd8VCwuHIjtWX4wnWoXA3Qj/ZB5j/2iSB2F9mfxh9YToTRMh34VOFpSrHgMArQ4pYn0khzK7Ung==","signatures":[{"sig":"MEYCIQDw894UldAx0F73FWlIc4cFDeB/RAkjfffeH7iouJWfLwIhAKG6yuhgGqSASIbsR/d+wrEmdGarjwbQ4QNPNZJejfXA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":610189},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"c04c8baceb8e702c3aafd53c1df3dbaf9e7802e8","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-2eabf40-202511170925.0","@flowfuse/nr-file-nodes":"0.0.9-d7b50a5-202510281642.0","@flowfuse/nr-mqtt-nodes":"^0.2.0","@flowfuse/nr-tables-nodes":"0.2.1-bdf10d1-202511051716.0","@flowfuse/nr-project-nodes":"0.7.8-e4f870f-202510271324.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.23.2-c04c8ba-202511191025.0_1763547938808_0.5367894137037141","host":"s3://npm-registry-packages-npm-production"}},"2.23.2-374c15f-202511191114.0":{"name":"@flowfuse/nr-launcher","version":"2.23.2-374c15f-202511191114.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.23.2-374c15f-202511191114.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"3a4984490f8b716551bb5852930a661bebfcd622","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.23.2-374c15f-202511191114.0.tgz","fileCount":43,"integrity":"sha512-eMlEpysmKtvtqDGq0u5+dGfXhshZJc8owbuAMafQcxf1whSAnH+WlysWuEJZFe+WOwNKY30YN03WDRdNKl3VCg==","signatures":[{"sig":"MEUCIGjxWthpFoiKbyv50TikZqFgMuagm8Ad+TSJuviFEL0jAiEAh8tmDU4EYcux4T3KxIkMvSOKCo6V8BqxqkJB55JSm/I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":610211},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"374c15fb41d4507bbc900de7ec181507a580e7e4","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-2eabf40-202511170925.0","@flowfuse/nr-file-nodes":"0.0.9-d7b50a5-202510281642.0","@flowfuse/nr-mqtt-nodes":"0.2.2-7d4efff-202510311557.0","@flowfuse/nr-tables-nodes":"0.2.1-bdf10d1-202511051716.0","@flowfuse/nr-project-nodes":"0.7.8-e4f870f-202510271324.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.23.2-374c15f-202511191114.0_1763550899134_0.543537238651778","host":"s3://npm-registry-packages-npm-production"}},"2.23.2-c04c8ba-202511191119.0":{"name":"@flowfuse/nr-launcher","version":"2.23.2-c04c8ba-202511191119.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.23.2-c04c8ba-202511191119.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"27c0b722015f56335278e9edc3b20374ab0a686f","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.23.2-c04c8ba-202511191119.0.tgz","fileCount":43,"integrity":"sha512-15r0QQMF0Mjwoa1q5DrwbdU/yfeHW45+KjAl8jImMuRafWZ+/cTCmPcmermDEf8DVoJIXMBwJhyCAgEScBDWTA==","signatures":[{"sig":"MEUCIQDGTPWfUqNtm7E9UH0tE4/aUpTum1xtPCRzD4JOxZNV8gIgHUAz4nMlpETPf9e09Ku8O+Y7lmWhSAc73CNwOePhp1s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":610189},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"c04c8baceb8e702c3aafd53c1df3dbaf9e7802e8","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-2eabf40-202511170925.0","@flowfuse/nr-file-nodes":"0.0.9-d7b50a5-202510281642.0","@flowfuse/nr-mqtt-nodes":"^0.2.0","@flowfuse/nr-tables-nodes":"0.2.1-bdf10d1-202511051716.0","@flowfuse/nr-project-nodes":"0.7.8-e4f870f-202510271324.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.23.2-c04c8ba-202511191119.0_1763551157897_0.5832844968034696","host":"s3://npm-registry-packages-npm-production"}},"2.23.2-685bfa0-202511201023.0":{"name":"@flowfuse/nr-launcher","version":"2.23.2-685bfa0-202511201023.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.23.2-685bfa0-202511201023.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"b2abab5b4375b000d29efbed2e0bedcba55e426e","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.23.2-685bfa0-202511201023.0.tgz","fileCount":43,"integrity":"sha512-DMNStijkF1XPPKPSpUvHfsm2N/dSMiDQUQOfeSNSJX44PoiIY3U6vhkAVCwy1rrqB4CjPxAxkotHAr/IV6QeXw==","signatures":[{"sig":"MEUCIH16QVUCkz+Jr1QCZJv0+R8JwDl/yG6qUlRb9hD+S9vtAiEAnTsyBydaVPYk9dnXElBhPAXOV60jD6G1ECUYaxU7jzE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":610211},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"685bfa04da53c529146218c8b0c5b85469a8021f","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-2eabf40-202511170925.0","@flowfuse/nr-file-nodes":"0.0.9-d7b50a5-202510281642.0","@flowfuse/nr-mqtt-nodes":"0.2.2-7d4efff-202510311557.0","@flowfuse/nr-tables-nodes":"0.2.1-bdf10d1-202511051716.0","@flowfuse/nr-project-nodes":"0.7.8-e4f870f-202510271324.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.23.2-685bfa0-202511201023.0_1763634214056_0.8420433406868457","host":"s3://npm-registry-packages-npm-production"}},"2.24.0":{"name":"@flowfuse/nr-launcher","version":"2.24.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.24.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"774d37a9d39336bc2b2c689a5cb831b6ed139c6a","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.24.0.tgz","fileCount":43,"integrity":"sha512-TVBbYOY/VCJG7W57ZJVMJmusSVawh9TSquYQaBCvkKa92TALk/dDaTzoDGFHXcsQGhKLi+LLJsQxxkNw5lj6WA==","signatures":[{"sig":"MEQCIBSuKhGdY8PrdNlX/Ms37jUwBdLx6e+FTXlbbs6Yp8MvAiBZ2xNVRizWGsRMLG4xXeW6VUUKKCzKQy17oyJSK3SVRA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":610514},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"fbe9ae3692e9e11080e7562aae8ca47b07cca25a","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"^0.6.0","@flowfuse/nr-file-nodes":"^0.0.8","@flowfuse/nr-mqtt-nodes":"^0.2.0","@flowfuse/nr-tables-nodes":"^0.2.0","@flowfuse/nr-project-nodes":"^0.7.7","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.24.0_1763635330643_0.6310683027892514","host":"s3://npm-registry-packages-npm-production"}},"2.24.1-fbe9ae3-202511201042.0":{"name":"@flowfuse/nr-launcher","version":"2.24.1-fbe9ae3-202511201042.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.24.1-fbe9ae3-202511201042.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"9e326473b6f9b6071a7de1557d037ed9116512c0","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.24.1-fbe9ae3-202511201042.0.tgz","fileCount":43,"integrity":"sha512-INgoCawIzrUuU1SAoMTxOJ0bNFi/0yzLy0JYaU+7+sNE1/lGn43naDSDq6y9sH0qg1OtoDpFPiK9xSl5svfoDw==","signatures":[{"sig":"MEUCIQCZlXbdN1LD5idIPOgMlH3uoWxAoZHC90vlguXObB284AIgAK/WWjwmixXRn/eM76ucHYVGJtZ1Sm5vk2L107WswD8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":610647},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"fbe9ae3692e9e11080e7562aae8ca47b07cca25a","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-2eabf40-202511170925.0","@flowfuse/nr-file-nodes":"0.0.9-d7b50a5-202510281642.0","@flowfuse/nr-mqtt-nodes":"0.2.2-7d4efff-202510311557.0","@flowfuse/nr-tables-nodes":"0.2.1-bdf10d1-202511051716.0","@flowfuse/nr-project-nodes":"0.7.8-e4f870f-202510271324.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.24.1-fbe9ae3-202511201042.0_1763635343522_0.8389993275605612","host":"s3://npm-registry-packages-npm-production"}},"2.24.2-a746e88-202511211430.0":{"name":"@flowfuse/nr-launcher","version":"2.24.2-a746e88-202511211430.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.24.2-a746e88-202511211430.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"f6327d9a62dd4f4449eae03aabb6bfec2eae5185","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.24.2-a746e88-202511211430.0.tgz","fileCount":43,"integrity":"sha512-vdn001WPHunZZTwkGu8ieukmyNMmiCc6/rvgYvOrlN9O6NnZ1Pml9uqoVRt4FmAeYmqN/k4Ah9DYEtIrsMTxeQ==","signatures":[{"sig":"MEUCIFiFm9WCyX+14mv+qdBjGerLAJbvCPZDyrVbpYneF3QiAiEAokmx6dLgoboH9qwlx749+uRHIE/yVELQYQgUqkJKs7c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":610670},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"a746e88631b74a478c9fadd277657d205f109f3e","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-2eabf40-202511170925.0","@flowfuse/nr-file-nodes":"0.0.9-d7b50a5-202510281642.0","@flowfuse/nr-mqtt-nodes":"0.2.2-7d4efff-202510311557.0","@flowfuse/nr-tables-nodes":"0.2.1-bdf10d1-202511051716.0","@flowfuse/nr-project-nodes":"0.7.8-e4f870f-202510271324.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.24.2-a746e88-202511211430.0_1763735422668_0.09571584647164988","host":"s3://npm-registry-packages-npm-production"}},"2.24.1":{"name":"@flowfuse/nr-launcher","version":"2.24.1","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.24.1","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"14bb55a4a02a790e584c5655870c3428986f0ad5","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.24.1.tgz","fileCount":43,"integrity":"sha512-8UcIeu/x82zgl3d7T4JX85mW2Vh7fEU3ri7HdZEDsQKiEMt1OJUuBEyqdm+Db+hT4v+k51jFeLSaLToZ+icN+Q==","signatures":[{"sig":"MEUCIBlN3Rf/hO8Eg8lv0IFv4mPbHs9AW044Qt0pc7xDTCq2AiEAgyyQGXAFDhvp7NxtguiMrAYFtleFiyNJI5oueBVgrmU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":610537},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"a746e88631b74a478c9fadd277657d205f109f3e","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"^0.6.0","@flowfuse/nr-file-nodes":"^0.0.8","@flowfuse/nr-mqtt-nodes":"^0.2.0","@flowfuse/nr-tables-nodes":"^0.2.0","@flowfuse/nr-project-nodes":"^0.7.7","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.24.1_1763735425025_0.13090863300923616","host":"s3://npm-registry-packages-npm-production"}},"2.24.2-a746e88-202511240927.0":{"name":"@flowfuse/nr-launcher","version":"2.24.2-a746e88-202511240927.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.24.2-a746e88-202511240927.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"f8f8c4cd3266e88853f52168ba4c2b1c8305c26c","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.24.2-a746e88-202511240927.0.tgz","fileCount":43,"integrity":"sha512-Vni78UndfIofNw0EAq3mtFPhMaLjICDQJw9LOkyv2N+Ydqopu9G3bwXHQvhkcWygxhmEncOmZJbxVbjm1HLKyQ==","signatures":[{"sig":"MEUCIQC1nugEMmnRemjpdWWLGhaSOwz1F4gC6jNkErU/o01BUgIgcIsy3QyIGJaFhgnMmOAw2JMix3jBlLOueZXhurI7MQk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":610670},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"a746e88631b74a478c9fadd277657d205f109f3e","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-deed1db-202511240926.0","@flowfuse/nr-file-nodes":"0.0.9-d7b50a5-202510281642.0","@flowfuse/nr-mqtt-nodes":"0.2.2-7d4efff-202510311557.0","@flowfuse/nr-tables-nodes":"0.2.1-bdf10d1-202511051716.0","@flowfuse/nr-project-nodes":"0.7.8-e4f870f-202510271324.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.24.2-a746e88-202511240927.0_1763976464930_0.41629776546541275","host":"s3://npm-registry-packages-npm-production"}},"2.24.2-a746e88-202511240932.0":{"name":"@flowfuse/nr-launcher","version":"2.24.2-a746e88-202511240932.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.24.2-a746e88-202511240932.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"4b76c48ee04296166629a8199e1e227e667fe9a8","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.24.2-a746e88-202511240932.0.tgz","fileCount":43,"integrity":"sha512-QxGD/0mwq8qg/OkMbMIQp3Z9nQNeNCJxdCtACzSlj8IfKEIKcLN+tC7sjSOVzf9oiXFuSpX0gvJPRcR4tw1JwA==","signatures":[{"sig":"MEUCIEm0v9OIXGOcD49Jel8L0GOgSqc05U0nPoa9NMUxfHVJAiEA1n9vIpR2VfprKoPUmyZKq3roTLDAp53LSgWvfWbgNm0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":610670},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"a746e88631b74a478c9fadd277657d205f109f3e","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-deed1db-202511240926.0","@flowfuse/nr-file-nodes":"0.0.9-d7b50a5-202510281642.0","@flowfuse/nr-mqtt-nodes":"0.2.2-7d4efff-202510311557.0","@flowfuse/nr-tables-nodes":"0.2.1-9342135-202511240931.0","@flowfuse/nr-project-nodes":"0.7.8-e4f870f-202510271324.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.24.2-a746e88-202511240932.0_1763976761916_0.36442640039511964","host":"s3://npm-registry-packages-npm-production"}},"2.24.2-a746e88-202511241303.0":{"name":"@flowfuse/nr-launcher","version":"2.24.2-a746e88-202511241303.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.24.2-a746e88-202511241303.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"546cbd97ad8136dfa1033800d33f89b94775321e","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.24.2-a746e88-202511241303.0.tgz","fileCount":43,"integrity":"sha512-+iTqoN+q62WMcnEz5rjnrMgbsUR9RaLDu2qhBZ3gOyqgX2MbL1R0AciNq33ZD9THD+2O0/c2CmG9dRi7SdYfdQ==","signatures":[{"sig":"MEUCIQDSC48OQHUVHC4a2HNPZjDGo/drX6XTlWL1WdusnwpxIAIgCO4dsPATPw/fDV03zNJqJYCfFtl5bF4jfkURXnN8Z3o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":610670},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"a746e88631b74a478c9fadd277657d205f109f3e","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-deed1db-202511240926.0","@flowfuse/nr-file-nodes":"0.0.9-d7b50a5-202510281642.0","@flowfuse/nr-mqtt-nodes":"0.2.2-7d4efff-202510311557.0","@flowfuse/nr-tables-nodes":"0.2.1-9342135-202511240931.0","@flowfuse/nr-project-nodes":"0.7.8-3e85cff-202511241302.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.24.2-a746e88-202511241303.0_1763989430256_0.9841013635045865","host":"s3://npm-registry-packages-npm-production"}},"2.24.2-a746e88-202511241635.0":{"name":"@flowfuse/nr-launcher","version":"2.24.2-a746e88-202511241635.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.24.2-a746e88-202511241635.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"cf1e6784c4bf69f78c3b435282072f4087130042","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.24.2-a746e88-202511241635.0.tgz","fileCount":43,"integrity":"sha512-Vvq58y7wBZz5pIJfq91gCccPpfWpn/JcHcKuVJFTDJ5umrpZRzi6c420SqjXAmm//Xx9bZ6KgMy47agt1zEwJQ==","signatures":[{"sig":"MEYCIQDpajIwR2GR0I9KMFGuAWeZNBq7XYx8NWrFLMupC2bQoAIhAOg5a2fjtBXDF2CmZfXgJziwf37LXPEBAKjrfSNlFnMl","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":610670},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"a746e88631b74a478c9fadd277657d205f109f3e","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-deed1db-202511240926.0","@flowfuse/nr-file-nodes":"0.0.9-4e6ea71-202511241635.0","@flowfuse/nr-mqtt-nodes":"0.2.2-7d4efff-202510311557.0","@flowfuse/nr-tables-nodes":"0.2.1-9342135-202511240931.0","@flowfuse/nr-project-nodes":"0.7.8-3e85cff-202511241302.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.24.2-a746e88-202511241635.0_1764002157264_0.6405455395359705","host":"s3://npm-registry-packages-npm-production"}},"2.24.2-d5d1f6a-202511242052.0":{"name":"@flowfuse/nr-launcher","version":"2.24.2-d5d1f6a-202511242052.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.24.2-d5d1f6a-202511242052.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"c360429a8cd9a2f95583b32929038e7ab67259cf","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.24.2-d5d1f6a-202511242052.0.tgz","fileCount":43,"integrity":"sha512-svc/LySBXZX2K24NLA3F98xAMRx4HYIV4hQoRTuMMXYcjieym0ognNtzl4qlsKy8D3553oGE3SFl55PRTGAqng==","signatures":[{"sig":"MEUCIQC9gAmhilRysC4WGIdOxRP4uX6L2g5F2F2xIORLXSAUEgIgVaLHuYjvvV3GWeuGAE83VZyr2k31c2l8Tnr+DjeUY8s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":610670},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"d5d1f6a152ecee334a2eebb6b61ab599c257d76c","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-deed1db-202511240926.0","@flowfuse/nr-file-nodes":"0.0.9-4e6ea71-202511241635.0","@flowfuse/nr-mqtt-nodes":"0.2.2-7d4efff-202510311557.0","@flowfuse/nr-tables-nodes":"0.2.1-9342135-202511240931.0","@flowfuse/nr-project-nodes":"0.7.8-3e85cff-202511241302.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.24.2-d5d1f6a-202511242052.0_1764017546740_0.11903480075213002","host":"s3://npm-registry-packages-npm-production"}},"2.24.2":{"name":"@flowfuse/nr-launcher","version":"2.24.2","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.24.2","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"82cab556e192d0063d9b54e534294b0a71e052bd","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.24.2.tgz","fileCount":43,"integrity":"sha512-iAOTXhaOP2fKPfQaVknz+20gr6nx0hSE4Y0rnFHaRNMh4O7j6vylrdWDOJcg/k9K7qnpAqklB5pKwMoissEO6w==","signatures":[{"sig":"MEUCIQDJ59CKDTWa2wPi49r4zBREtTjSlhhpw2HY98Q0YghjRAIgHt4EhALTEh/XF7mxesdeiDWaod/rrLGiQUG0Z24oHUE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":610628},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"37bf2441dd6cce7ce52b1cccedab5d3026937202","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"^0.6.0","@flowfuse/nr-file-nodes":"^0.0.8","@flowfuse/nr-mqtt-nodes":"^0.2.0","@flowfuse/nr-tables-nodes":"^0.2.0","@flowfuse/nr-project-nodes":"^0.7.7","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.24.2_1764154422345_0.7971583250137988","host":"s3://npm-registry-packages-npm-production"}},"2.24.3-37bf244-202511261053.0":{"name":"@flowfuse/nr-launcher","version":"2.24.3-37bf244-202511261053.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.24.3-37bf244-202511261053.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"f1dcaae1441eab53a85f35c4225ae1e96adb9383","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.24.3-37bf244-202511261053.0.tgz","fileCount":43,"integrity":"sha512-kLot1ioR8In8MpBVWCBHLalhsQlNR2x2kKZ1ihs33kBaSQsOQyfOZS7r6Ewmx8kr6RlSju6vQxyfHvia+z6Q3A==","signatures":[{"sig":"MEUCIHmm+/TzFtkdYepq81wekzScFV8IuaeL2drn6sVJFZHmAiEA5cmwqawAs/Emc2K7H4Zp6DBBN6SvbO355qp+lH7NgBY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":610761},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"37bf2441dd6cce7ce52b1cccedab5d3026937202","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-deed1db-202511240926.0","@flowfuse/nr-file-nodes":"0.0.9-4e6ea71-202511241635.0","@flowfuse/nr-mqtt-nodes":"0.2.2-7d4efff-202510311557.0","@flowfuse/nr-tables-nodes":"0.2.1-9342135-202511240931.0","@flowfuse/nr-project-nodes":"0.7.8-3e85cff-202511241302.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.24.3-37bf244-202511261053.0_1764154427413_0.08504615454297859","host":"s3://npm-registry-packages-npm-production"}},"2.24.3":{"name":"@flowfuse/nr-launcher","version":"2.24.3","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.24.3","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"74036d0cf42272d0a237aa3fc9891e3324a5a22e","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.24.3.tgz","fileCount":43,"integrity":"sha512-Jr//1AP7GpmXLyIojsu384zauqBdXDqpVXDd5x4lmGei9ni/cScj8f9IgfEZMqN4c2nTG18vUkBw/aqPWA/sDA==","signatures":[{"sig":"MEQCIHyDkDNYOiYbPr5axsvrsjVvielFplxYdfLpBubG8Qj6AiAFa2CdGhRg90Zn4Fbu8Q4FoUS0ZLWr57bxBUFlb9xxxg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":610651},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"54d6778f03b12e53c0c5c942b1347305c0ec7965","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"^0.6.0","@flowfuse/nr-file-nodes":"^0.0.8","@flowfuse/nr-mqtt-nodes":"^0.2.0","@flowfuse/nr-tables-nodes":"^0.2.0","@flowfuse/nr-project-nodes":"^0.7.7","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.24.3_1764336233758_0.8411750057257759","host":"s3://npm-registry-packages-npm-production"}},"2.24.4-54d6778-202511281323.0":{"name":"@flowfuse/nr-launcher","version":"2.24.4-54d6778-202511281323.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.24.4-54d6778-202511281323.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"b339e1dadfbf79865412081b2eaffc0cff30a217","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.24.4-54d6778-202511281323.0.tgz","fileCount":43,"integrity":"sha512-yBCwct2usYCh77iv7cvMYraFTTPORIqAYgOdvlF6zI+BUPV5KwHj3nV/m1JwxxUIhgPFoJNDOGIO6V4DTrBO1A==","signatures":[{"sig":"MEYCIQCXPL13qzSuWgxojO8GjHfFhXfX9BGI3WxDIgviJvSAZAIhAIgV2XTpn1EdF1FCxL6gdruHZsZm+I3Aj2XNL9w1MRxr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":610784},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"54d6778f03b12e53c0c5c942b1347305c0ec7965","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-deed1db-202511240926.0","@flowfuse/nr-file-nodes":"0.0.9-4e6ea71-202511241635.0","@flowfuse/nr-mqtt-nodes":"0.2.2-7d4efff-202510311557.0","@flowfuse/nr-tables-nodes":"0.2.1-9342135-202511240931.0","@flowfuse/nr-project-nodes":"0.7.8-3e85cff-202511241302.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.24.4-54d6778-202511281323.0_1764336244761_0.9481593958610135","host":"s3://npm-registry-packages-npm-production"}},"2.24.4-54d6778-202511281457.0":{"name":"@flowfuse/nr-launcher","version":"2.24.4-54d6778-202511281457.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.24.4-54d6778-202511281457.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"a5bc03ca4ffc8982ef358d3f1963844c7db7cd89","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.24.4-54d6778-202511281457.0.tgz","fileCount":43,"integrity":"sha512-mxDuvZ8VLW2Nv4W7IWu3DTbnpMyO7SjM8aamh0qNZzMcf1YHnbgIZOEKo2mHTwUIb2TXBj5dt01m0Zl1v/NN9g==","signatures":[{"sig":"MEYCIQDXyLRX4sPC228sUhm6JdPNHvP7jHbQns4PRSICotzegwIhAKkvzF1bz7C+S0EWkaZLg8qt3iGLCZ1yvQRJ+lp1/jvG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":610784},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"54d6778f03b12e53c0c5c942b1347305c0ec7965","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-deed1db-202511240926.0","@flowfuse/nr-file-nodes":"0.0.9-4e6ea71-202511241635.0","@flowfuse/nr-mqtt-nodes":"0.2.2-7d4efff-202510311557.0","@flowfuse/nr-tables-nodes":"0.2.1-733ca86-202511281456.0","@flowfuse/nr-project-nodes":"0.7.8-3e85cff-202511241302.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.24.4-54d6778-202511281457.0_1764341887016_0.730586115738066","host":"s3://npm-registry-packages-npm-production"}},"2.24.4-54d6778-202511281500.0":{"name":"@flowfuse/nr-launcher","version":"2.24.4-54d6778-202511281500.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.24.4-54d6778-202511281500.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"2bd6155929cdb0c5254155f72ae53167e0dc7fdf","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.24.4-54d6778-202511281500.0.tgz","fileCount":43,"integrity":"sha512-2INhS9HldsZp4vEQVbNbFA5jXPf4Z3dTxQmRbrHESMUt4kh2BC3/D9csBzxTHzah+kz5J+S9XJjyEHNil6NrIg==","signatures":[{"sig":"MEYCIQDM+evaRG3cGUGAj5y0VQSwp/uNLOPgxQBs9tyIaoPliQIhAPYMp9tR8lss9kkCVX16+y7Nt/WFylqXJdeThmuauNy8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":610784},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"54d6778f03b12e53c0c5c942b1347305c0ec7965","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-deed1db-202511240926.0","@flowfuse/nr-file-nodes":"0.0.9-4e6ea71-202511241635.0","@flowfuse/nr-mqtt-nodes":"0.2.2-46f48e6-202511281500.0","@flowfuse/nr-tables-nodes":"0.2.1-733ca86-202511281456.0","@flowfuse/nr-project-nodes":"0.7.8-3e85cff-202511241302.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.24.4-54d6778-202511281500.0_1764342060696_0.3419191608322747","host":"s3://npm-registry-packages-npm-production"}},"2.24.4-54d6778-202511281501.0":{"name":"@flowfuse/nr-launcher","version":"2.24.4-54d6778-202511281501.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.24.4-54d6778-202511281501.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"b72f8ca9e3604e273d13205bf95a7142c2ea4ff6","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.24.4-54d6778-202511281501.0.tgz","fileCount":43,"integrity":"sha512-cEtIUmGjJ7efHrR1HT4sY/hJsrlBtwltF4iTqxeTheO/qxvg7RhFoOL5+rm/3f62CFcTj8LEF34+42chSNZMig==","signatures":[{"sig":"MEQCIHXdKxZD63yT3U6rFvn+Jo5UZmr2kPZlvnWHeQcqKoJqAiBO/xMR+kPtv68Iru3Dmp5SP4A6eOf4A0w+40Br5LZsbQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":610784},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"54d6778f03b12e53c0c5c942b1347305c0ec7965","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-deed1db-202511240926.0","@flowfuse/nr-file-nodes":"0.0.9-4e6ea71-202511241635.0","@flowfuse/nr-mqtt-nodes":"0.2.2-fa2314a-202511281500.0","@flowfuse/nr-tables-nodes":"0.2.1-733ca86-202511281456.0","@flowfuse/nr-project-nodes":"0.7.8-3e85cff-202511241302.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.24.4-54d6778-202511281501.0_1764342104027_0.7917203987099204","host":"s3://npm-registry-packages-npm-production"}},"2.24.4-54d6778-202511281503.0":{"name":"@flowfuse/nr-launcher","version":"2.24.4-54d6778-202511281503.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.24.4-54d6778-202511281503.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"e5b169339cdbb50ad0f070ec7cb3371342efe832","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.24.4-54d6778-202511281503.0.tgz","fileCount":43,"integrity":"sha512-qmQLlVLMQRHYYrUOv4CYp6zFodfd1UeslcAvktDgzW1NwLr8QBN8theL3o3kB990L31GKBumDRPwYfw+dd/r8A==","signatures":[{"sig":"MEQCIDNudkZ5XZpTzyc+2x5UFDpN3T0pbfOUMcNWzQYvJpZwAiBiEMupWW/aweZIE4eje9Kd0kH5jowWCAuMGuUQT+gbpg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":610784},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"54d6778f03b12e53c0c5c942b1347305c0ec7965","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-deed1db-202511240926.0","@flowfuse/nr-file-nodes":"0.0.9-4e6ea71-202511241635.0","@flowfuse/nr-mqtt-nodes":"0.2.2-d775618-202511281502.0","@flowfuse/nr-tables-nodes":"0.2.1-733ca86-202511281456.0","@flowfuse/nr-project-nodes":"0.7.8-3e85cff-202511241302.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.24.4-54d6778-202511281503.0_1764342206064_0.07176286305369906","host":"s3://npm-registry-packages-npm-production"}},"2.24.4-54d6778-202511281504.0":{"name":"@flowfuse/nr-launcher","version":"2.24.4-54d6778-202511281504.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.24.4-54d6778-202511281504.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"30ff2e81f627c7c391ef95e528d1dc79728a50fe","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.24.4-54d6778-202511281504.0.tgz","fileCount":43,"integrity":"sha512-f4NmWKy/EqmbGZg3DSUaABquqku1b4Ym6EAO6K3Em9UuKd1wIKb/OWD5ERpCol0rEH3rjwUiGRAKdUtVTGhmRQ==","signatures":[{"sig":"MEQCIDvFfQi2GhTa/vEGcCThxAZgAtOD1NZIBDfEKy+TIui2AiBq1CAyybWTflnrgXOjBr4CadpRoHwvAK5czwXn08OBYg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":610784},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"54d6778f03b12e53c0c5c942b1347305c0ec7965","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-deed1db-202511240926.0","@flowfuse/nr-file-nodes":"0.0.9-4e6ea71-202511241635.0","@flowfuse/nr-mqtt-nodes":"0.2.2-b348020-202511281503.0","@flowfuse/nr-tables-nodes":"0.2.1-733ca86-202511281456.0","@flowfuse/nr-project-nodes":"0.7.8-3e85cff-202511241302.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.24.4-54d6778-202511281504.0_1764342283406_0.20229205109458537","host":"s3://npm-registry-packages-npm-production"}},"2.24.4-54d6778-202511281507.0":{"name":"@flowfuse/nr-launcher","version":"2.24.4-54d6778-202511281507.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.24.4-54d6778-202511281507.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"842fef27f2e386aa21b2edd25a5004738375a97d","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.24.4-54d6778-202511281507.0.tgz","fileCount":43,"integrity":"sha512-I5uvloFIBmUnaCy/MpRGX9byUwojqdaab1AeiY+6I/TLdU+oxoiGEkczTzrCYuVhazlhsAkLPr1FVIzogZKFAA==","signatures":[{"sig":"MEUCIQDvmy8m4bMZ+kQiZY9vqYgVravO7hU/QUuwjp3LU0OaygIgcoOsABGyvCUx4tEFgMFgsEv4wYf66hUfWmts/wVKUXc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":610784},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"54d6778f03b12e53c0c5c942b1347305c0ec7965","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-63a2396-202511281506.0","@flowfuse/nr-file-nodes":"0.0.9-4e6ea71-202511241635.0","@flowfuse/nr-mqtt-nodes":"0.2.2-b348020-202511281503.0","@flowfuse/nr-tables-nodes":"0.2.1-733ca86-202511281456.0","@flowfuse/nr-project-nodes":"0.7.8-3e85cff-202511241302.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.24.4-54d6778-202511281507.0_1764342462255_0.19425646365023574","host":"s3://npm-registry-packages-npm-production"}},"2.24.4":{"name":"@flowfuse/nr-launcher","version":"2.24.4","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.24.4","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"2efdfba9b97c8cffa485c97ab4b7b35517dc8cf8","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.24.4.tgz","fileCount":43,"integrity":"sha512-WBU5oXgsE+k84dxFRRGqILtcXdgzH7vuMt9jdoneaLmu8Hy4tu5D6t1F7nxBYU0OkXjDjH9vWAyb9YA4QaxUtQ==","signatures":[{"sig":"MEYCIQDpr47ERMuQK/OPvVIjzl4IM9capRfhUx+K2fT6E5EW7wIhAJSIxR3Xk9qlmrejNQ801r5B0bP9CkUhY2x1svLFEXX1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":610674},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"fe3b485f21c9d732825c921a347b2e9d70bee885","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"^0.6.0","@flowfuse/nr-file-nodes":"^0.0.8","@flowfuse/nr-mqtt-nodes":"^0.2.0","@flowfuse/nr-tables-nodes":"^0.2.0","@flowfuse/nr-project-nodes":"^0.7.7","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.24.4_1764587946447_0.9904450431555414","host":"s3://npm-registry-packages-npm-production"}},"2.24.5-fe3b485-202512011118.0":{"name":"@flowfuse/nr-launcher","version":"2.24.5-fe3b485-202512011118.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.24.5-fe3b485-202512011118.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"51c324ff2bcec2d84b2edb6fd28268174f7a6809","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.24.5-fe3b485-202512011118.0.tgz","fileCount":43,"integrity":"sha512-GWMTTw0c26VtkHxIhbm59Mq0gq0Vt/vyi1cQ4mUTnlcCuFjVpn6ppvG4uv9W7/9rqbyQrvzTfkoJa4IuxcsXxw==","signatures":[{"sig":"MEUCIQDDKhz72Rsq/N+9wezc4vxV9A5O4dhIGqE7m12SR1JetAIgHIq8PCBQysDOK7S98HkTr/V3frX5IZnfz1oK+lBERCg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":610807},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"fe3b485f21c9d732825c921a347b2e9d70bee885","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-63a2396-202511281506.0","@flowfuse/nr-file-nodes":"0.0.9-4e6ea71-202511241635.0","@flowfuse/nr-mqtt-nodes":"0.2.2-b348020-202511281503.0","@flowfuse/nr-tables-nodes":"0.2.1-733ca86-202511281456.0","@flowfuse/nr-project-nodes":"0.7.8-3e85cff-202511241302.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.24.5-fe3b485-202512011118.0_1764587952794_0.40781037748166193","host":"s3://npm-registry-packages-npm-production"}},"2.24.5-01ebe41-202512021000.0":{"name":"@flowfuse/nr-launcher","version":"2.24.5-01ebe41-202512021000.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.24.5-01ebe41-202512021000.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"c0d4a6d303158d8c4479d8d8cfedb72ec9f44fc0","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.24.5-01ebe41-202512021000.0.tgz","fileCount":43,"integrity":"sha512-DsNU0UHLQqSbm5RJVrkCUGSpnTsQthaxaM3R+m1lEYqjAn+NC6pj/lz/z4ocM4oSYLnOBMQqOvu7OM7OyaCCZA==","signatures":[{"sig":"MEUCIBUfcTAbq5S/dfTTxSKHTzxlzwetNiiqf30qEvDVFGLLAiEA00fCp/+uZo2bY6LEkN6vkN/lOdEYxRgjeUa85ljljyQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":610807},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"01ebe41b4bca18dceb0e8ea89b93c2ba2d0e39d1","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-63a2396-202511281506.0","@flowfuse/nr-file-nodes":"0.0.9-4e6ea71-202511241635.0","@flowfuse/nr-mqtt-nodes":"0.2.2-b348020-202511281503.0","@flowfuse/nr-tables-nodes":"0.2.1-733ca86-202511281456.0","@flowfuse/nr-project-nodes":"0.7.8-3e85cff-202511241302.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.24.5-01ebe41-202512021000.0_1764669662084_0.5109831492122414","host":"s3://npm-registry-packages-npm-production"}},"2.24.5-01ebe41-202512021005.0":{"name":"@flowfuse/nr-launcher","version":"2.24.5-01ebe41-202512021005.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.24.5-01ebe41-202512021005.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"f96160aae02c2cbdde116913669010ad65eded1a","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.24.5-01ebe41-202512021005.0.tgz","fileCount":43,"integrity":"sha512-/QoIEOy89iY+dSVxKj/DwRA96F6vpSFy0W+R06yQ3vvY0gsW2kbLXnRyjkRTrYSFiSjMUBXnDZONosgwkEapqw==","signatures":[{"sig":"MEUCIQCp53WJybJwG4eNglTlt6efo9JbOhPuEx/Vnu3nLpR/sgIgMH9hLfbiESRVpFZYqBxDwJ6VL9ArtCdFWfLRb9L7bDk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":610807},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"01ebe41b4bca18dceb0e8ea89b93c2ba2d0e39d1","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-63a2396-202511281506.0","@flowfuse/nr-file-nodes":"0.0.9-4e6ea71-202511241635.0","@flowfuse/nr-mqtt-nodes":"0.2.2-b348020-202511281503.0","@flowfuse/nr-tables-nodes":"0.2.1-733ca86-202511281456.0","@flowfuse/nr-project-nodes":"0.7.8-d17cc3b-202512021004.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.24.5-01ebe41-202512021005.0_1764669914119_0.1464902956263332","host":"s3://npm-registry-packages-npm-production"}},"2.24.5-01ebe41-202512021007.0":{"name":"@flowfuse/nr-launcher","version":"2.24.5-01ebe41-202512021007.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.24.5-01ebe41-202512021007.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"79ef9033ad28283f77cb693a9f2e37fa7092a02c","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.24.5-01ebe41-202512021007.0.tgz","fileCount":43,"integrity":"sha512-DA6+Tlg8leDDanbT/7b8Ssym/XDIGdeWGtHmHTsj+Yct7a1KskCSjX1oGTR5/EPCfGXOeYs1V1KZpN8A/pqFiQ==","signatures":[{"sig":"MEQCIHE5yz04GXfmsZ66xdSsMA2c22nk9r8mFq0EwMtFuaqZAiBTtcdOuJH8d/j4c44ydIRe5St43YJgSX5Pjz/KESLSZQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":610807},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"01ebe41b4bca18dceb0e8ea89b93c2ba2d0e39d1","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-f938e50-202512021006.0","@flowfuse/nr-file-nodes":"0.0.9-4e6ea71-202511241635.0","@flowfuse/nr-mqtt-nodes":"0.2.2-b348020-202511281503.0","@flowfuse/nr-tables-nodes":"0.2.1-733ca86-202511281456.0","@flowfuse/nr-project-nodes":"0.7.8-d17cc3b-202512021004.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.24.5-01ebe41-202512021007.0_1764670037211_0.811124744463185","host":"s3://npm-registry-packages-npm-production"}},"2.24.5-01ebe41-202512021105.0":{"name":"@flowfuse/nr-launcher","version":"2.24.5-01ebe41-202512021105.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.24.5-01ebe41-202512021105.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"c52397d2650d3b41c9c3b40c07b12b0e981500a7","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.24.5-01ebe41-202512021105.0.tgz","fileCount":43,"integrity":"sha512-AD3lAf82OZSZMRSUB1BWbtBegcyTW4fIZFC0YtYUOmSFvyB52oQTRkOKnx/5oWueU8zdp1c1ZoUlPt2BgVketw==","signatures":[{"sig":"MEYCIQCbmYcVvc6zvTynrf7kvwwYuGI0xCZJdQlrEIWgqZos1AIhAKMxyR1DnhPkrK7PEM3W5WVh69bq/7gkgHvlaRfrwAh1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":610807},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"01ebe41b4bca18dceb0e8ea89b93c2ba2d0e39d1","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-f938e50-202512021006.0","@flowfuse/nr-file-nodes":"0.0.9-4e6ea71-202511241635.0","@flowfuse/nr-mqtt-nodes":"0.2.2-b348020-202511281503.0","@flowfuse/nr-tables-nodes":"0.2.1-5cf68a7-202512021104.0","@flowfuse/nr-project-nodes":"0.7.8-d17cc3b-202512021004.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.24.5-01ebe41-202512021105.0_1764673549687_0.9015191426136826","host":"s3://npm-registry-packages-npm-production"}},"2.24.5-01ebe41-202512021109.0":{"name":"@flowfuse/nr-launcher","version":"2.24.5-01ebe41-202512021109.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.24.5-01ebe41-202512021109.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"e5e1d83ecfa9de2101974af0c6dbb87ba2506ebe","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.24.5-01ebe41-202512021109.0.tgz","fileCount":43,"integrity":"sha512-mf+2sSwja+BbaPXYfiqrtS8A4AXd2qWzwizWyi8n3y24e352hU5YvtD2yZvRGBERg8931i97tkiXIlyiiXj5rg==","signatures":[{"sig":"MEYCIQD5Y1d9GUs56cK38rwgo6pG/AyKpCnRHMT7kWcRerd2rAIhAOOLqHXRJ26ia7k2RtRxfNj/wDDqGVQqx0vct5oavL5e","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":610807},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"01ebe41b4bca18dceb0e8ea89b93c2ba2d0e39d1","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-f938e50-202512021006.0","@flowfuse/nr-file-nodes":"0.0.9-4e6ea71-202511241635.0","@flowfuse/nr-mqtt-nodes":"0.2.2-cf6c9f4-202512021108.0","@flowfuse/nr-tables-nodes":"0.2.1-5cf68a7-202512021104.0","@flowfuse/nr-project-nodes":"0.7.8-d17cc3b-202512021004.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.24.5-01ebe41-202512021109.0_1764673784683_0.6435573428749153","host":"s3://npm-registry-packages-npm-production"}},"2.24.5-01ebe41-202512021113.0":{"name":"@flowfuse/nr-launcher","version":"2.24.5-01ebe41-202512021113.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.24.5-01ebe41-202512021113.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"55aa6670aaebe0f5265bc511ea8b6cc2e8cfd3f3","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.24.5-01ebe41-202512021113.0.tgz","fileCount":43,"integrity":"sha512-FE4DoaGQKVChhLuVcNCjwrp9n2tihcGavDlpVSZVKuy31fiMvWouQK8a7snFwfny2OrAg0u4//5dYQYeDD/seA==","signatures":[{"sig":"MEYCIQC18sDzzm+0MfIqAcIBd+Fg3EqWKkltLyQICD7eC2Jr6wIhALQ2rvK48fG9hFc0oQa/RlJdlRFeTU/NEqY2dtu/3KYP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":610807},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"01ebe41b4bca18dceb0e8ea89b93c2ba2d0e39d1","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-f938e50-202512021006.0","@flowfuse/nr-file-nodes":"0.0.9-4e6ea71-202511241635.0","@flowfuse/nr-mqtt-nodes":"0.2.2-6b7b8d6-202512021113.0","@flowfuse/nr-tables-nodes":"0.2.1-5cf68a7-202512021104.0","@flowfuse/nr-project-nodes":"0.7.8-d17cc3b-202512021004.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.24.5-01ebe41-202512021113.0_1764674016902_0.8712833150513479","host":"s3://npm-registry-packages-npm-production"}},"2.24.5-01ebe41-202512021114.0":{"name":"@flowfuse/nr-launcher","version":"2.24.5-01ebe41-202512021114.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.24.5-01ebe41-202512021114.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"2c911f48f4fece14da2dc2b11a7a7305dd070467","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.24.5-01ebe41-202512021114.0.tgz","fileCount":43,"integrity":"sha512-P8In6/UIBXal+6ZG8Vghc2BtCEFeUQ9sgTlXxO+isVqjzIWuoe0xGiNWOLTPyZKlsh8UmEdJeSMo6dthj1/1hA==","signatures":[{"sig":"MEYCIQDcK7qhGKk1nqA/MB6Axjug1+BlOTABRr0MU6/bnIs6pwIhAOqDuGbnr2tT1nkcRfQ/MxXPaihR4mPwT8E9bWfuTAg7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":610807},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"01ebe41b4bca18dceb0e8ea89b93c2ba2d0e39d1","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-f938e50-202512021006.0","@flowfuse/nr-file-nodes":"0.0.9-4e6ea71-202511241635.0","@flowfuse/nr-mqtt-nodes":"0.2.2-0ab4d7e-202512021113.0","@flowfuse/nr-tables-nodes":"0.2.1-5cf68a7-202512021104.0","@flowfuse/nr-project-nodes":"0.7.8-d17cc3b-202512021004.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.24.5-01ebe41-202512021114.0_1764674070237_0.9787172526570969","host":"s3://npm-registry-packages-npm-production"}},"2.24.5-f6f2f13-202512031033.0":{"name":"@flowfuse/nr-launcher","version":"2.24.5-f6f2f13-202512031033.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.24.5-f6f2f13-202512031033.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"cdf0700399870ac9ec268a3f45de14bc443b4954","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.24.5-f6f2f13-202512031033.0.tgz","fileCount":43,"integrity":"sha512-9sDB2zEBNuYu6vi1DOWhKE9/CRw68uT8oyVzgBAdxG6ZExMXrftoUVLXjtXgT9duZJV90iBiiaf3B/BcBmhxWA==","signatures":[{"sig":"MEQCIGSS+UzmXpIfsBpCAjt0sCBc2/x9lTfKsn5xCfXAF9YdAiAFOd4VYOvrTk2OQgUOkjLCB8EIaNGyWSo/Nwz+3poIkQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":610807},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"f6f2f13797af22e2081ca5db0ab4be2c940dcd7f","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-f938e50-202512021006.0","@flowfuse/nr-file-nodes":"0.0.9-4e6ea71-202511241635.0","@flowfuse/nr-mqtt-nodes":"0.2.2-0ab4d7e-202512021113.0","@flowfuse/nr-tables-nodes":"0.2.1-5cf68a7-202512021104.0","@flowfuse/nr-project-nodes":"0.7.8-d17cc3b-202512021004.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.24.5-f6f2f13-202512031033.0_1764758012288_0.17902940234189102","host":"s3://npm-registry-packages-npm-production"}},"2.24.5-f6f2f13-202512031035.0":{"name":"@flowfuse/nr-launcher","version":"2.24.5-f6f2f13-202512031035.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.24.5-f6f2f13-202512031035.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"f46c27eb6fd93ccc8b8026475ca71b4183b79a8c","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.24.5-f6f2f13-202512031035.0.tgz","fileCount":43,"integrity":"sha512-OH9WK1DXyHE+VeUC+kNIiBbNQxZaMDQBk8nJBhCjHVNbCx1dENv25WfPuSi+/Cilpk0CI1plmDtvibgcuNxptg==","signatures":[{"sig":"MEUCIQD+/e9CCU2Pxxlo0KjHzRzPlK620Vn6zGI4vJo3MnWkoQIgLX0t/FT7uA4OOLnGIxzA5M7k+FpD7s0xxKAAISLINZU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":610807},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"f6f2f13797af22e2081ca5db0ab4be2c940dcd7f","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-f938e50-202512021006.0","@flowfuse/nr-file-nodes":"0.0.9-53cf64f-202512031034.0","@flowfuse/nr-mqtt-nodes":"0.2.2-0ab4d7e-202512021113.0","@flowfuse/nr-tables-nodes":"0.2.1-5cf68a7-202512021104.0","@flowfuse/nr-project-nodes":"0.7.8-d17cc3b-202512021004.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.24.5-f6f2f13-202512031035.0_1764758153917_0.9456006190049699","host":"s3://npm-registry-packages-npm-production"}},"2.24.5-bc998b6-202512041110.0":{"name":"@flowfuse/nr-launcher","version":"2.24.5-bc998b6-202512041110.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.24.5-bc998b6-202512041110.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"78ce9cf4cfbdf7759674eca943b0e08bfb097266","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.24.5-bc998b6-202512041110.0.tgz","fileCount":43,"integrity":"sha512-0hr98YfwRG9+3TlA8gWLLIZUGdRGPSgHptP5b/0Afr+7+6vu4Gfqv3uZwSFa69uhOYzX20DzGVeYGrcKBcqBig==","signatures":[{"sig":"MEUCIAbLrJ9SsUweJuqTTovRLxmnVmofIWPB4v6o8fz2Xs7rAiEA+jk4S/HUXJhseRzC3IW346fhOr6jwu//0J5ODt7H89s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":621127},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"bc998b605008647ec4aa87b29c190f2660badd51","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-f938e50-202512021006.0","@flowfuse/nr-file-nodes":"0.0.9-53cf64f-202512031034.0","@flowfuse/nr-mqtt-nodes":"0.2.2-0ab4d7e-202512021113.0","@flowfuse/nr-tables-nodes":"0.2.1-5cf68a7-202512021104.0","@flowfuse/nr-project-nodes":"0.7.8-d17cc3b-202512021004.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.24.5-bc998b6-202512041110.0_1764846651605_0.5683537419907312","host":"s3://npm-registry-packages-npm-production"}},"2.24.5-bc998b6-202512041354.0":{"name":"@flowfuse/nr-launcher","version":"2.24.5-bc998b6-202512041354.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.24.5-bc998b6-202512041354.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"c06da5936bcde69786e9be104c14dd2a94222c2f","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.24.5-bc998b6-202512041354.0.tgz","fileCount":43,"integrity":"sha512-msclaevdvksY+kll5geF8IAJB6ytLWBE7Jxwjm7v4mI7TyE4QzoabZ5AcU1IzrtThKDHE7JsXN4vZJfYBhsw9Q==","signatures":[{"sig":"MEYCIQDoRDfRnu68DIXSGsEqi88KyvyFVYp8O55zxDWGZUudgAIhALmaKa83Wp5h615mJuwsyIHIv0tU5rejO6TDKCRlpC+D","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":621127},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"bc998b605008647ec4aa87b29c190f2660badd51","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-1f79d6d-202512041353.0","@flowfuse/nr-file-nodes":"0.0.9-53cf64f-202512031034.0","@flowfuse/nr-mqtt-nodes":"0.2.2-0ab4d7e-202512021113.0","@flowfuse/nr-tables-nodes":"0.2.1-5cf68a7-202512021104.0","@flowfuse/nr-project-nodes":"0.7.8-d17cc3b-202512021004.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.24.5-bc998b6-202512041354.0_1764856483362_0.9313742122755477","host":"s3://npm-registry-packages-npm-production"}},"2.24.5-bc998b6-202512080750.0":{"name":"@flowfuse/nr-launcher","version":"2.24.5-bc998b6-202512080750.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.24.5-bc998b6-202512080750.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"14027a324c29d4cd751500c75777074ed4ade6a3","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.24.5-bc998b6-202512080750.0.tgz","fileCount":43,"integrity":"sha512-ZyVisM5i8kCdMV0E9Y1l2DbF75D4tXmiPLshEERyzzA0QFbLXa2n0eqQy4AKaBa8r2eQgjku2R/8ZDE8J+DtIA==","signatures":[{"sig":"MEYCIQD89UBwT5+lQ6Re/+19j1NI+ROA6Q4M/PRU6Z0y042aBwIhAMOex13hR+myIk3Bx6tH5f6JrTrDGhAKGDBxneaFWXHM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":621127},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"bc998b605008647ec4aa87b29c190f2660badd51","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-40076d6-202512080749.0","@flowfuse/nr-file-nodes":"0.0.9-53cf64f-202512031034.0","@flowfuse/nr-mqtt-nodes":"0.2.2-0ab4d7e-202512021113.0","@flowfuse/nr-tables-nodes":"0.2.1-5cf68a7-202512021104.0","@flowfuse/nr-project-nodes":"0.7.8-d17cc3b-202512021004.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.24.5-bc998b6-202512080750.0_1765180258066_0.1670215940339721","host":"s3://npm-registry-packages-npm-production"}},"2.24.5-bc998b6-202512080752.0":{"name":"@flowfuse/nr-launcher","version":"2.24.5-bc998b6-202512080752.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.24.5-bc998b6-202512080752.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"1c9a5081a628909c10ec88ef21bc145ca9e250ab","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.24.5-bc998b6-202512080752.0.tgz","fileCount":43,"integrity":"sha512-OPxHJrmoMx2XqT8e8nj3PhXazMy/aiDHhJa6V03rwkih0w0zX9X3CwrCr6nLiNfYII44DLh+nblYWUWy1/ADOQ==","signatures":[{"sig":"MEUCIHO2blYCyPdC4n/FgMFD6hOGKq+V9KoQBODddWLSYt1zAiEAuF3fW+/2QPpx4g478B0LfUqOwv/oWgGUZ7GSa/EFWYM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":621127},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"bc998b605008647ec4aa87b29c190f2660badd51","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-78f3106-202512080751.0","@flowfuse/nr-file-nodes":"0.0.9-53cf64f-202512031034.0","@flowfuse/nr-mqtt-nodes":"0.2.2-0ab4d7e-202512021113.0","@flowfuse/nr-tables-nodes":"0.2.1-5cf68a7-202512021104.0","@flowfuse/nr-project-nodes":"0.7.8-d17cc3b-202512021004.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.24.5-bc998b6-202512080752.0_1765180345438_0.41077786354312673","host":"s3://npm-registry-packages-npm-production"}},"2.24.5-bc998b6-202512081148.0":{"name":"@flowfuse/nr-launcher","version":"2.24.5-bc998b6-202512081148.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.24.5-bc998b6-202512081148.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"3c8f2c7d2ba31d7574d2a6f0805495d7c9da4ca6","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.24.5-bc998b6-202512081148.0.tgz","fileCount":43,"integrity":"sha512-2Z/Yl7rftfl3d5vAxVzVENTWyKuIQOZ6W6jHDgpoAcKQestMNtOiv0eGNz0sS0igWpi3zphR/l5eogBKibaudQ==","signatures":[{"sig":"MEQCICXHZOtiE6Obb9srzLBgRD/UVf5qCkJsLNpNFI7GchPzAiBq/Juym/r83rdWv5QLYcUqwoLXdARHbG6MPbSecJ+gjw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":621127},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"bc998b605008647ec4aa87b29c190f2660badd51","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-78f3106-202512080751.0","@flowfuse/nr-file-nodes":"0.0.9-53cf64f-202512031034.0","@flowfuse/nr-mqtt-nodes":"0.2.2-61cf589-202512081147.0","@flowfuse/nr-tables-nodes":"0.2.1-5cf68a7-202512021104.0","@flowfuse/nr-project-nodes":"0.7.8-d17cc3b-202512021004.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.24.5-bc998b6-202512081148.0_1765194503592_0.28975915307160793","host":"s3://npm-registry-packages-npm-production"}},"2.24.5-bc998b6-202512081149.0":{"name":"@flowfuse/nr-launcher","version":"2.24.5-bc998b6-202512081149.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.24.5-bc998b6-202512081149.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"8b0afc69766bbf68d7a17f55c73c9c541b31107e","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.24.5-bc998b6-202512081149.0.tgz","fileCount":43,"integrity":"sha512-+8GOZOWLk/xNuiNOdvJPYzpS6a6lAo4dgSYFmm5I1cl/HSfQQh8LFkFQYwFPkZ8rPSgP9rQ4UZ+wSc8RORAOPQ==","signatures":[{"sig":"MEYCIQCwtCRkHlg7uEjVZvfaEi3laiE3AvJid3ZLT8crgKrMAwIhAIpQlA1uK5VPyATqf6cTzhiLEeVq6qggqCwO9xGpyuOV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":621127},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"bc998b605008647ec4aa87b29c190f2660badd51","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-78f3106-202512080751.0","@flowfuse/nr-file-nodes":"0.0.9-53cf64f-202512031034.0","@flowfuse/nr-mqtt-nodes":"0.2.2-61cf589-202512081148.0","@flowfuse/nr-tables-nodes":"0.2.1-5cf68a7-202512021104.0","@flowfuse/nr-project-nodes":"0.7.8-d17cc3b-202512021004.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.24.5-bc998b6-202512081149.0_1765194553393_0.6353510636462807","host":"s3://npm-registry-packages-npm-production"}},"2.24.5-bc998b6-202512081218.0":{"name":"@flowfuse/nr-launcher","version":"2.24.5-bc998b6-202512081218.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.24.5-bc998b6-202512081218.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"1a5cd1a294747d14b89d564b0a3754a21863f58a","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.24.5-bc998b6-202512081218.0.tgz","fileCount":43,"integrity":"sha512-Ezel+AnLKy/cAuBT93r4lA4oCvaHryHl8n/RUnyebKM5lxvBr15JFhnsbtdihgBEAo0LabjY+IKz/VseSuJImQ==","signatures":[{"sig":"MEYCIQDqY3ZetQw+Ggm0xuF8dCRsZlPZfQ3F7vTw+uv8JDQL5AIhAPCu/mnq/M2jvpal1FrQFShRdf05m0+2UqSM+oj9MRZm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":621127},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"bc998b605008647ec4aa87b29c190f2660badd51","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-78f3106-202512080751.0","@flowfuse/nr-file-nodes":"0.0.9-53cf64f-202512031034.0","@flowfuse/nr-mqtt-nodes":"0.2.2-61cf589-202512081148.0","@flowfuse/nr-tables-nodes":"0.2.1-5cf68a7-202512021104.0","@flowfuse/nr-project-nodes":"0.7.8-05e8396-202512081217.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.24.5-bc998b6-202512081218.0_1765196339276_0.7937991199437264","host":"s3://npm-registry-packages-npm-production"}},"2.24.5-bc998b6-202512081222.0":{"name":"@flowfuse/nr-launcher","version":"2.24.5-bc998b6-202512081222.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.24.5-bc998b6-202512081222.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"46f808f01c375a2d8e132405d40e77e6de681a70","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.24.5-bc998b6-202512081222.0.tgz","fileCount":43,"integrity":"sha512-+egl/ZGpZ9oEC7AqdjTrgirKTKp3dS8AQ+9s8vHVp+XmjpruZ8uldNdVAfUjFbraIEuvhRaNTbZHQZ9GIh9GRw==","signatures":[{"sig":"MEUCIQCkprXRYi/1ndEb0rkJ7mNSBFx6nC3XFfQyhEH+RjYl9QIgXy534UaPU20YBg0GJPNu6drwuV48dyElxtk96lL+gFY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":621127},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"bc998b605008647ec4aa87b29c190f2660badd51","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-78f3106-202512080751.0","@flowfuse/nr-file-nodes":"0.0.9-53cf64f-202512031034.0","@flowfuse/nr-mqtt-nodes":"0.2.2-61cf589-202512081148.0","@flowfuse/nr-tables-nodes":"0.2.1-5cf68a7-202512021104.0","@flowfuse/nr-project-nodes":"0.7.8-77883a0-202512081221.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.24.5-bc998b6-202512081222.0_1765196553293_0.3778354394608434","host":"s3://npm-registry-packages-npm-production"}},"2.24.5-bc998b6-202512081419.0":{"name":"@flowfuse/nr-launcher","version":"2.24.5-bc998b6-202512081419.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.24.5-bc998b6-202512081419.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"8dff1989f9389de2a89f83e8f8ef039b7bbf0c4b","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.24.5-bc998b6-202512081419.0.tgz","fileCount":43,"integrity":"sha512-OHrgGnZjfVB29LsczvCgUfeYC66x2UihyiBaX27m6jjZMJUF53rKqsbPX3nk9uFjqqRpJCCP7A1veapsQDVpow==","signatures":[{"sig":"MEUCIQDWVKTk/sl32MbKvN+JRe52wqym/AhAm2YW7rGJbExGNQIgYewkEfzTa7GLWZS86+ohORwlw1ghdpnuQGgL1LxaTdY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":621127},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"bc998b605008647ec4aa87b29c190f2660badd51","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-78f3106-202512080751.0","@flowfuse/nr-file-nodes":"0.0.9-58f3bb9-202512081418.0","@flowfuse/nr-mqtt-nodes":"0.2.2-61cf589-202512081148.0","@flowfuse/nr-tables-nodes":"0.2.1-5cf68a7-202512021104.0","@flowfuse/nr-project-nodes":"0.7.8-77883a0-202512081221.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.24.5-bc998b6-202512081419.0_1765203597709_0.055172590061556726","host":"s3://npm-registry-packages-npm-production"}},"2.24.5-bc998b6-202512081421.0":{"name":"@flowfuse/nr-launcher","version":"2.24.5-bc998b6-202512081421.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.24.5-bc998b6-202512081421.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"04d8a962319d99387c21c0812d4be692571a6c29","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.24.5-bc998b6-202512081421.0.tgz","fileCount":43,"integrity":"sha512-zdnzSZU8OtUYZfr/qZwmAcYIQwlsDmLwhNkxhe1dUgMAdlVThADNFgOU0d+IdggKgypvwqGwMtt9oVGHShVi/Q==","signatures":[{"sig":"MEQCIFoZNKxy/fTfcwizxMBiqnyAe9uh9VY/1editTPe8HG5AiBO86zMFyD/mjXjr+msd76nlRZwLzPzEeeRxWxMI9T4pg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":621127},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"bc998b605008647ec4aa87b29c190f2660badd51","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-78f3106-202512080751.0","@flowfuse/nr-file-nodes":"0.0.9-ec74474-202512081420.0","@flowfuse/nr-mqtt-nodes":"0.2.2-61cf589-202512081148.0","@flowfuse/nr-tables-nodes":"0.2.1-5cf68a7-202512021104.0","@flowfuse/nr-project-nodes":"0.7.8-77883a0-202512081221.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.24.5-bc998b6-202512081421.0_1765203691817_0.725459629956178","host":"s3://npm-registry-packages-npm-production"}},"2.24.5-316d27e-202512082047.0":{"name":"@flowfuse/nr-launcher","version":"2.24.5-316d27e-202512082047.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.24.5-316d27e-202512082047.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"901b56e27149739c266e691318730075d6089dcc","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.24.5-316d27e-202512082047.0.tgz","fileCount":43,"integrity":"sha512-ViVf7cwCfUC27cG0qvQiENV9GldH/2d1rYLgtX45L688Akwl/N1QVlrV3XGj5Q2IzS51j2oIns4ZgBq58z5QMQ==","signatures":[{"sig":"MEUCIEa/S4pFVDsWcDHrj9gMSklzv7/NSQyUHwboS9LtAgGcAiEAn5M4CLHpmxZ9bpayHg6JvA16eqEVzJ/FnlJuIt9Oai4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":621127},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"316d27eb2ec3c6f219203871bf07da23dcbd85ec","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-78f3106-202512080751.0","@flowfuse/nr-file-nodes":"0.0.9-ec74474-202512081420.0","@flowfuse/nr-mqtt-nodes":"0.2.2-61cf589-202512081148.0","@flowfuse/nr-tables-nodes":"0.2.1-5cf68a7-202512021104.0","@flowfuse/nr-project-nodes":"0.7.8-77883a0-202512081221.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.24.5-316d27e-202512082047.0_1765226830943_0.07361016822432509","host":"s3://npm-registry-packages-npm-production"}},"2.24.5-68d286f-202512082049.0":{"name":"@flowfuse/nr-launcher","version":"2.24.5-68d286f-202512082049.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.24.5-68d286f-202512082049.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"76c2b6af2aa5c5ef76912a2f73161f0d7bb2304c","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.24.5-68d286f-202512082049.0.tgz","fileCount":43,"integrity":"sha512-iJGXfymi15tl5zDPzIWf/FEnkdvMjF5fXXejURLNxqf5s/i5Qjshv5IDx4w1R/ZQdkpr2WDICDAHVs5cyjtTQg==","signatures":[{"sig":"MEUCIQCOag1tBbLD6Nldgs5qWX0Kq22td0MyKqh/IzFEo1AKpwIgG3pY2Y6GwFdVQVNABrD6nDphl3xf2QRhcPNf9q5wwgI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":621127},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"68d286f5fbfb9a2c16fb5f1787658598456bc2ec","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-78f3106-202512080751.0","@flowfuse/nr-file-nodes":"0.0.9-ec74474-202512081420.0","@flowfuse/nr-mqtt-nodes":"0.2.2-61cf589-202512081148.0","@flowfuse/nr-tables-nodes":"0.2.1-5cf68a7-202512021104.0","@flowfuse/nr-project-nodes":"0.7.8-77883a0-202512081221.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.24.5-68d286f-202512082049.0_1765226958851_0.7434600501773161","host":"s3://npm-registry-packages-npm-production"}},"2.24.5-0dd1b86-202512091014.0":{"name":"@flowfuse/nr-launcher","version":"2.24.5-0dd1b86-202512091014.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.24.5-0dd1b86-202512091014.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"8c3b523218e39453f7e2ee6e46d2cc4102b1014a","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.24.5-0dd1b86-202512091014.0.tgz","fileCount":43,"integrity":"sha512-pF1/HiNuMAcSrTHNdugj8ok+Vjq11ubO5VsThunyIlTuV6F59oVCBSHHybnV/jBRhiPDFpTmukWtJftF3pD5Nw==","signatures":[{"sig":"MEYCIQCQY7vMS8kB36IvClkhQ9zTIKssnU2fClSabnhzJ0tH1AIhAKu9cP0df+uVt2Rwy2vPAc1DE/4vDNBQbrc2YyL4NczM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":621127},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"0dd1b86d2f7bf2876aba3bc416c5060a2cbecd0a","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-78f3106-202512080751.0","@flowfuse/nr-file-nodes":"0.0.9-ec74474-202512081420.0","@flowfuse/nr-mqtt-nodes":"0.2.2-61cf589-202512081148.0","@flowfuse/nr-tables-nodes":"0.2.1-5cf68a7-202512021104.0","@flowfuse/nr-project-nodes":"0.7.8-77883a0-202512081221.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.24.5-0dd1b86-202512091014.0_1765275270298_0.5247536843339138","host":"s3://npm-registry-packages-npm-production"}},"2.24.5":{"name":"@flowfuse/nr-launcher","version":"2.24.5","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.24.5","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"13c364d36fe9cbb92c4be9053b3b8b3103dffc0f","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.24.5.tgz","fileCount":43,"integrity":"sha512-zNALgNJ2yCdJ0vZwA0aKsZZgol+uMWHr8Y1FsGOuce3yIZQkl25u06cznvIIjqMgxm0WLt4A6giW3uDjHzVVaw==","signatures":[{"sig":"MEQCIFZL+GbDBoAhtL5uoaIEIW9+tgevebHgyw2S3Pa83ZCUAiAcSkhPDEmGflMtLYR9cdxiVnb/4d0xft+ujGE9CiVg1g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":621389},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"486a5d3aea0b890a957cd5e517f3509b65aa844c","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"^0.6.0","@flowfuse/nr-file-nodes":"^0.0.8","@flowfuse/nr-mqtt-nodes":"^0.2.0","@flowfuse/nr-tables-nodes":"^0.2.0","@flowfuse/nr-project-nodes":"^0.7.7","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.24.5_1765280163405_0.7434296242452134","host":"s3://npm-registry-packages-npm-production"}},"2.24.6-486a5d3-202512091136.0":{"name":"@flowfuse/nr-launcher","version":"2.24.6-486a5d3-202512091136.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.24.6-486a5d3-202512091136.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"4eaa53faf741a09acece01782ed4b4b63699f7fa","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.24.6-486a5d3-202512091136.0.tgz","fileCount":43,"integrity":"sha512-h+POo4I49dXS9W0/Lv1K9/lWVg2nsTfaRNwIW78/H3Qa6A7GPtUOvMiVNoPkgb82E7apb3T3ndP0xT5sne2frA==","signatures":[{"sig":"MEUCIQDEqjk2D2U6SJ2+fSrnicWEcIMGEPRWXtvvZxFufp6SOwIgMfDEEcgYRTjrZcXm/Co9/8ZLruHQeoAz1vlFplilPqM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":621522},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"486a5d3aea0b890a957cd5e517f3509b65aa844c","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-78f3106-202512080751.0","@flowfuse/nr-file-nodes":"0.0.9-ec74474-202512081420.0","@flowfuse/nr-mqtt-nodes":"0.2.2-61cf589-202512081148.0","@flowfuse/nr-tables-nodes":"0.2.1-5cf68a7-202512021104.0","@flowfuse/nr-project-nodes":"0.7.8-77883a0-202512081221.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.24.6-486a5d3-202512091136.0_1765280180100_0.03484957389164811","host":"s3://npm-registry-packages-npm-production"}},"2.24.6-486a5d3-202512091447.0":{"name":"@flowfuse/nr-launcher","version":"2.24.6-486a5d3-202512091447.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.24.6-486a5d3-202512091447.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"b2ddca0fceec087848c481062c1055e716962706","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.24.6-486a5d3-202512091447.0.tgz","fileCount":43,"integrity":"sha512-vf7bweoLtRDm4+cRMeNJCzpHMlIbON3RirQkJiv0aEX+IGFd+WzunkeZEQgXV8vZg6IKLHgAiMrKRJKmj80Log==","signatures":[{"sig":"MEYCIQCCxvRRZgkUrWK0Al6HP6XxrjzAc5vOp0g49WEjhSP8mgIhAMbhTB4O7nLmIWoHdYhm9qoM/TWX1y+Dhf4ah7ucCCTM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":621522},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"486a5d3aea0b890a957cd5e517f3509b65aa844c","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.6.1-fd37d56-202512091447.0","@flowfuse/nr-file-nodes":"0.0.9-ec74474-202512081420.0","@flowfuse/nr-mqtt-nodes":"0.2.2-61cf589-202512081148.0","@flowfuse/nr-tables-nodes":"0.2.1-5cf68a7-202512021104.0","@flowfuse/nr-project-nodes":"0.7.8-77883a0-202512081221.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.24.6-486a5d3-202512091447.0_1765291690607_0.7281677326191187","host":"s3://npm-registry-packages-npm-production"}},"2.24.6-486a5d3-202512091640.0":{"name":"@flowfuse/nr-launcher","version":"2.24.6-486a5d3-202512091640.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.24.6-486a5d3-202512091640.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"0d78c44f6fe7247afc90b40e2c3df44a6fd6fdb3","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.24.6-486a5d3-202512091640.0.tgz","fileCount":43,"integrity":"sha512-LTl5npqxCvFLXqxz/jb0eOypKIWk3xqDJdYwqtlmohiZ/e84nRAWGH2II45orOj44uteXQQ8KaqN/gwv0O6cdw==","signatures":[{"sig":"MEUCICJdDiBw7O6bHqN3cGZbhEIfYULa2ShmAGc5iLIypF1jAiEAi01Tq0ZZlHUovGCaF6pbV5rRabJ76SYUnJQO8WvWRQ0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":621522},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"486a5d3aea0b890a957cd5e517f3509b65aa844c","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.7.1-83a01bc-202512091639.0","@flowfuse/nr-file-nodes":"0.0.9-ec74474-202512081420.0","@flowfuse/nr-mqtt-nodes":"0.2.2-61cf589-202512081148.0","@flowfuse/nr-tables-nodes":"0.2.1-5cf68a7-202512021104.0","@flowfuse/nr-project-nodes":"0.7.8-77883a0-202512081221.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.24.6-486a5d3-202512091640.0_1765298446515_0.25703380579507673","host":"s3://npm-registry-packages-npm-production"}},"2.24.6-486a5d3-202512091720.0":{"name":"@flowfuse/nr-launcher","version":"2.24.6-486a5d3-202512091720.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.24.6-486a5d3-202512091720.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"eb2c1958ad469716e9f551d81c1ee238ac45aeb8","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.24.6-486a5d3-202512091720.0.tgz","fileCount":43,"integrity":"sha512-9vbny/N+iqRxeUZyN714+bqTGR7qNFgMALyzPWszhABv9gApR7mMXVgy0R7wbjcD0HOVrAaS+eqntPHNFSh/Zw==","signatures":[{"sig":"MEYCIQC7vDjUlLNzaaglpALCd96ylDkXf+LoKiEbOanm8xoylAIhAP4DsDfavgjFPZDweJMoHVHL1COqVUkIEKcyxR6ziGLf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":621522},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"486a5d3aea0b890a957cd5e517f3509b65aa844c","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.7.1-83a01bc-202512091639.0","@flowfuse/nr-file-nodes":"0.0.9-ec74474-202512081420.0","@flowfuse/nr-mqtt-nodes":"0.2.2-61cf589-202512081148.0","@flowfuse/nr-tables-nodes":"0.2.1-5cf68a7-202512021104.0","@flowfuse/nr-project-nodes":"0.7.8-e6f5674-202512091719.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.24.6-486a5d3-202512091720.0_1765300811115_0.6274361757346765","host":"s3://npm-registry-packages-npm-production"}},"2.24.6-486a5d3-202512091727.0":{"name":"@flowfuse/nr-launcher","version":"2.24.6-486a5d3-202512091727.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.24.6-486a5d3-202512091727.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"a72b4cf3de181446e1caf289e236d327493edece","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.24.6-486a5d3-202512091727.0.tgz","fileCount":43,"integrity":"sha512-0wDuvqekBF6RDFh2JwegSlAYn7QGGiD3ox3qByuCZwgnUiO+b+g8k7pl2XqVp6UQAUQnJqcUsYdQdO5REnyIwA==","signatures":[{"sig":"MEUCIQDUaUmGAUVSrKcI12gR0c5yOv9iRPmjlsvGF6Nn9aj5yAIgTqSIGSkAhzQrOjFS6Uc36aAtTIrPgr/KKW8VuCBFvYs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":621522},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"486a5d3aea0b890a957cd5e517f3509b65aa844c","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.7.1-83a01bc-202512091639.0","@flowfuse/nr-file-nodes":"0.0.9-ec74474-202512081420.0","@flowfuse/nr-mqtt-nodes":"0.2.2-61cf589-202512081148.0","@flowfuse/nr-tables-nodes":"0.2.1-5cf68a7-202512021104.0","@flowfuse/nr-project-nodes":"0.7.9-6939b61-202512091726.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.24.6-486a5d3-202512091727.0_1765301280617_0.8931157305880395","host":"s3://npm-registry-packages-npm-production"}},"2.24.6-486a5d3-202512101557.0":{"name":"@flowfuse/nr-launcher","version":"2.24.6-486a5d3-202512101557.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.24.6-486a5d3-202512101557.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"1b2926933e0964351bc9825a02dc804b3ee54426","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.24.6-486a5d3-202512101557.0.tgz","fileCount":43,"integrity":"sha512-tM7YjbNlQrHSbLjHh13Qo1nQyHtHe5dqUPzk4bbLy2ml+wgEbULpdvr9s9rWasxL4JFnqJMW9Hn9wl/7OYUniQ==","signatures":[{"sig":"MEUCIBggquwYma8iLZjcb/TtWRImYnwudMT0FTxoAl6d62NJAiEAz2ystCVHKeZAiw8unxxfq9imaLdfDaQ527YkpkOSPWk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":621522},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"486a5d3aea0b890a957cd5e517f3509b65aa844c","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.7.1-83a01bc-202512091639.0","@flowfuse/nr-file-nodes":"0.0.9-ec74474-202512081420.0","@flowfuse/nr-mqtt-nodes":"0.2.2-61cf589-202512081148.0","@flowfuse/nr-tables-nodes":"0.2.1-933ba7e-202512101556.0","@flowfuse/nr-project-nodes":"0.7.9-6939b61-202512091726.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.24.6-486a5d3-202512101557.0_1765382242293_0.5950095896878689","host":"s3://npm-registry-packages-npm-production"}},"2.24.6-486a5d3-202512150752.0":{"name":"@flowfuse/nr-launcher","version":"2.24.6-486a5d3-202512150752.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.24.6-486a5d3-202512150752.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"4ca621b66316cf6b4a19a4e1331f1e557e937154","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.24.6-486a5d3-202512150752.0.tgz","fileCount":43,"integrity":"sha512-rnMnXNTdrDRaSEKfTLBXz0ErVHQaHW/H/sMhXWtUB9B1mkliqzt/MJOnt+vjhINhbYd1LCEDnjmLX9SSsi0pVQ==","signatures":[{"sig":"MEUCIQDhjGx6+4vcep1hkNA/Ab7ABKMKUPNumsanQtAKww4CPwIgdi8V9V6iqrg4lohsa/muyRNaMatQfmuRvbV1fYVBXtI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":621522},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"486a5d3aea0b890a957cd5e517f3509b65aa844c","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.7.1-1452ddc-202512150751.0","@flowfuse/nr-file-nodes":"0.0.9-ec74474-202512081420.0","@flowfuse/nr-mqtt-nodes":"0.2.2-61cf589-202512081148.0","@flowfuse/nr-tables-nodes":"0.2.1-933ba7e-202512101556.0","@flowfuse/nr-project-nodes":"0.7.9-6939b61-202512091726.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.24.6-486a5d3-202512150752.0_1765785141601_0.5042547992806761","host":"s3://npm-registry-packages-npm-production"}},"2.24.6-486a5d3-202512151054.0":{"name":"@flowfuse/nr-launcher","version":"2.24.6-486a5d3-202512151054.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.24.6-486a5d3-202512151054.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"d1f569384fbbd4f4e2fcdf3be51c853e6ceffd85","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.24.6-486a5d3-202512151054.0.tgz","fileCount":43,"integrity":"sha512-dD0eTbNui9BS5SLDun0DkokPuVvnQcUrQKaIHpRkBs2TSEPwrX8gZXj6tjMlKSEjrFIB2XFhiIAbW7c5s61D0A==","signatures":[{"sig":"MEUCIQCn3w3bPkAanCUqLKwVKcg6OicjMCQz66X0pSHahYg0eQIgItYFXdOyUlTs6E1tL90Xp8dyEK9a0rrMT2CwDLILMIw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":621522},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"486a5d3aea0b890a957cd5e517f3509b65aa844c","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.7.1-1452ddc-202512150751.0","@flowfuse/nr-file-nodes":"0.0.9-ec74474-202512081420.0","@flowfuse/nr-mqtt-nodes":"0.2.2-61cf589-202512081148.0","@flowfuse/nr-tables-nodes":"0.2.1-cb01547-202512151054.0","@flowfuse/nr-project-nodes":"0.7.9-6939b61-202512091726.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.24.6-486a5d3-202512151054.0_1765796094318_0.6057886466568385","host":"s3://npm-registry-packages-npm-production"}},"2.24.6-486a5d3-202512151254.0":{"name":"@flowfuse/nr-launcher","version":"2.24.6-486a5d3-202512151254.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.24.6-486a5d3-202512151254.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"57ab6da880b7586e3bc832baf7fe40552e2fa076","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.24.6-486a5d3-202512151254.0.tgz","fileCount":43,"integrity":"sha512-r3CK6igJJC+OJeHGioicYQMa5KThb1ei8+tBIumF4ewNmZTII7RqNIQ/SlkLydroNonojdWIVwjGKV1xufhhxQ==","signatures":[{"sig":"MEYCIQDdHxSMToGpYuztDoSNCKNAjEHG8kEYZ9o7cAqHRx5mtAIhAIcxfOxpOO8Yhn1kUThNhWZS15c26PFmojCr8HmnCZcc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":621522},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"486a5d3aea0b890a957cd5e517f3509b65aa844c","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.7.1-1452ddc-202512150751.0","@flowfuse/nr-file-nodes":"0.0.9-ec74474-202512081420.0","@flowfuse/nr-mqtt-nodes":"0.2.2-61cf589-202512081148.0","@flowfuse/nr-tables-nodes":"0.2.1-cb01547-202512151054.0","@flowfuse/nr-project-nodes":"0.7.9-e519601-202512151253.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.24.6-486a5d3-202512151254.0_1765803270016_0.88915536395429","host":"s3://npm-registry-packages-npm-production"}},"2.24.6-486a5d3-202512151255.0":{"name":"@flowfuse/nr-launcher","version":"2.24.6-486a5d3-202512151255.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.24.6-486a5d3-202512151255.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"6a88cf5b1975932d5c5e2b698e046e6cb92404f4","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.24.6-486a5d3-202512151255.0.tgz","fileCount":43,"integrity":"sha512-O4B58336Ah1376hpAETMgMZ1gW2Hmb2hHPGxEmObFi2JJEo4uXQD+gOEfhYREetxW2x0Ic1hXnLTOtgAkwKJbg==","signatures":[{"sig":"MEQCIEyPyqoJ5ZhqkaiKvGdN9XOBOjU8fGH96CkHMD9ThpRvAiATJTEZu5wtVe1uk/vVJErEfT+3uX/HnW36tYRMF7HRBw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":621522},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"486a5d3aea0b890a957cd5e517f3509b65aa844c","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.7.1-1452ddc-202512150751.0","@flowfuse/nr-file-nodes":"0.0.9-ec74474-202512081420.0","@flowfuse/nr-mqtt-nodes":"0.2.2-61cf589-202512081148.0","@flowfuse/nr-tables-nodes":"0.2.1-cb01547-202512151054.0","@flowfuse/nr-project-nodes":"0.7.9-9860974-202512151254.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.24.6-486a5d3-202512151255.0_1765803311827_0.641676307659184","host":"s3://npm-registry-packages-npm-production"}},"2.24.6-486a5d3-202512151612.0":{"name":"@flowfuse/nr-launcher","version":"2.24.6-486a5d3-202512151612.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.24.6-486a5d3-202512151612.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"9f2de68d76214d8229dee5495380043bfa5d5b00","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.24.6-486a5d3-202512151612.0.tgz","fileCount":43,"integrity":"sha512-l5OHpf42QvsrTfP/AIT8/8V7WOz0YyJ/fsWtqpeSjaqd1so0zTslzlOMsDPvN1oBKd1AOr6LYjI6OolqRFnjfA==","signatures":[{"sig":"MEUCIQCZnZ//S89QAoLVmTM+2949arSXRMAQT7mtH/IxcQq7MAIgUZ7XpEycI8JotwGWRdRg29psTlMCsSMJoZxY290qbHA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":621522},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"486a5d3aea0b890a957cd5e517f3509b65aa844c","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.7.1-1452ddc-202512150751.0","@flowfuse/nr-file-nodes":"0.0.9-b4bc205-202512151611.0","@flowfuse/nr-mqtt-nodes":"0.2.2-61cf589-202512081148.0","@flowfuse/nr-tables-nodes":"0.2.1-cb01547-202512151054.0","@flowfuse/nr-project-nodes":"0.7.9-9860974-202512151254.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.24.6-486a5d3-202512151612.0_1765815150170_0.9254451223635103","host":"s3://npm-registry-packages-npm-production"}},"2.24.6-7529a19-202512160905.0":{"name":"@flowfuse/nr-launcher","version":"2.24.6-7529a19-202512160905.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.24.6-7529a19-202512160905.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"25c0ed52e501ff4dcc2c9be9b2b7276653836858","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.24.6-7529a19-202512160905.0.tgz","fileCount":43,"integrity":"sha512-RaJYM/i5hZEtJyi7XWTMf6ACwYYZjFfpRSavXfBDQV64tX5gSrpGDnmCF6NIXgCxPPwkPEWW6GkIY4QyloHmiQ==","signatures":[{"sig":"MEUCIB8sydgM3lyb+I6Ge+9vsd60REHFDjSODyGee9WvbgVaAiEAhbYbNt2vweBtagBdQQV3+d28rD6IsYGpjChYG6+YTh4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":621522},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"7529a19f55c9c6201d084a30a29239cc1f9c5b29","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.7.1-1452ddc-202512150751.0","@flowfuse/nr-file-nodes":"0.0.9-b4bc205-202512151611.0","@flowfuse/nr-mqtt-nodes":"0.2.2-61cf589-202512081148.0","@flowfuse/nr-tables-nodes":"0.2.1-cb01547-202512151054.0","@flowfuse/nr-project-nodes":"0.7.9-9860974-202512151254.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.24.6-7529a19-202512160905.0_1765875940036_0.9076670967205407","host":"s3://npm-registry-packages-npm-production"}},"2.24.6-7529a19-202512181007.0":{"name":"@flowfuse/nr-launcher","version":"2.24.6-7529a19-202512181007.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.24.6-7529a19-202512181007.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"8350073289e171d7c44c4d4ee619e76afe468fc6","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.24.6-7529a19-202512181007.0.tgz","fileCount":43,"integrity":"sha512-o7eFvVwYfNVVJkhQGNTAaJ5ZhDVXrhFGBqpA9p/0+QMpUavzYDZl7tA66TuKLmSTnYmr7DNfW+WnSKZBQd7AzA==","signatures":[{"sig":"MEYCIQD2qbHAe8EUpUFNO+f+hsXymIaYWBpbX69cj163u9YHdAIhANSOXR3fe6Z2yI2RURwhN5Lrm6+qNDnYnPsauRaEUnk2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":621522},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"7529a19f55c9c6201d084a30a29239cc1f9c5b29","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.7.1-1452ddc-202512150751.0","@flowfuse/nr-file-nodes":"0.0.9-b4bc205-202512151611.0","@flowfuse/nr-mqtt-nodes":"0.2.3-199c6e1-202512181006.0","@flowfuse/nr-tables-nodes":"0.2.1-cb01547-202512151054.0","@flowfuse/nr-project-nodes":"0.7.9-9860974-202512151254.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.24.6-7529a19-202512181007.0_1766052439548_0.3371392714594248","host":"s3://npm-registry-packages-npm-production"}},"2.24.6-7529a19-202512181014.0":{"name":"@flowfuse/nr-launcher","version":"2.24.6-7529a19-202512181014.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.24.6-7529a19-202512181014.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"8b736b2e2264b566660780606c1d6e6f79d86e24","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.24.6-7529a19-202512181014.0.tgz","fileCount":43,"integrity":"sha512-ZOQUBijUKXMVhbsrjJByO7fC4SX3ZNU1w1Q1gyjp477aXSnoZ+8yKzADv4cfA+3y2yqcwcm5qDCMptKvJsezRA==","signatures":[{"sig":"MEUCIQDs6RDW2OeocNe3l6Y8/DjjBEI4o77Ly56ySINy8udnsgIgDjKyFyAKtFKQ+6A/W/3KCxMI1slVXEgKMdyMPUxb3hY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":621522},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"7529a19f55c9c6201d084a30a29239cc1f9c5b29","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.7.1-1452ddc-202512150751.0","@flowfuse/nr-file-nodes":"0.0.9-b4bc205-202512151611.0","@flowfuse/nr-mqtt-nodes":"0.2.3-199c6e1-202512181006.0","@flowfuse/nr-tables-nodes":"0.2.2-e040841-202512181013.0","@flowfuse/nr-project-nodes":"0.7.9-9860974-202512151254.0","@flowfuse/nr-subflow-export":"^1.0.1","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.24.6-7529a19-202512181014.0_1766052850750_0.0917121897081552","host":"s3://npm-registry-packages-npm-production"}},"2.24.6-1d62a6d-202512181034.0":{"name":"@flowfuse/nr-launcher","version":"2.24.6-1d62a6d-202512181034.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.24.6-1d62a6d-202512181034.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"9de5aad38914c23ec97a4a44991ab4a190bd24f5","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.24.6-1d62a6d-202512181034.0.tgz","fileCount":43,"integrity":"sha512-aQOHfdoD1rj8hI5xnBIUxgMoflp7E+Lpx6hxUqcgvZ1+JwwWSf+iukoa3gETCAXo/mfDBo+8FueVFe4/D9jHmg==","signatures":[{"sig":"MEYCIQDV9R+G+KEFwdSmStdWdX+dNNToBTASa2IlTOwvAXdaOAIhAK20E4BJ4ZJHRVEaFCcKz806Wco0zN3hMHvcIEaaRLjE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":621522},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"1d62a6dff5a4f6e85539708296b4be18b343c9bd","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.7.1-1452ddc-202512150751.0","@flowfuse/nr-file-nodes":"0.0.9-b4bc205-202512151611.0","@flowfuse/nr-mqtt-nodes":"0.2.3-199c6e1-202512181006.0","@flowfuse/nr-tables-nodes":"0.2.2-e040841-202512181013.0","@flowfuse/nr-project-nodes":"0.7.9-9860974-202512151254.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.24.6-1d62a6d-202512181034.0_1766054082458_0.8525507052573114","host":"s3://npm-registry-packages-npm-production"}},"2.24.6-45e3836-202512181051.0":{"name":"@flowfuse/nr-launcher","version":"2.24.6-45e3836-202512181051.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.24.6-45e3836-202512181051.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"47d325d1859c942cb7c63111bfefffcaa43e5523","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.24.6-45e3836-202512181051.0.tgz","fileCount":43,"integrity":"sha512-VmSfYuoCpSUn1kuTLuA3+btnDnlLXbzyTvghV1c4bR7kHSzpnAwszCzIN5K228WpLqDOCdIJViw2ASO3fc7TLw==","signatures":[{"sig":"MEYCIQCuA2j2y8W5IeNo005BuxuyiVkE7u7k+9l5HX5jzfeV9gIhAJ2TLIKxX4HJw1h1zGhKSwP5MITwJTwRGATUCuXJb2vC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":621522},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"45e383680506fa278937ed1aa48b766ffcbf5081","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.7.1-1452ddc-202512150751.0","@flowfuse/nr-file-nodes":"0.0.9-b4bc205-202512151611.0","@flowfuse/nr-mqtt-nodes":"0.2.3-199c6e1-202512181006.0","@flowfuse/nr-tables-nodes":"0.2.2-e040841-202512181013.0","@flowfuse/nr-project-nodes":"0.7.9-9860974-202512151254.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.24.6-45e3836-202512181051.0_1766055104900_0.848311842570485","host":"s3://npm-registry-packages-npm-production"}},"2.25.1-69815db-202512181053.0":{"name":"@flowfuse/nr-launcher","version":"2.25.1-69815db-202512181053.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.25.1-69815db-202512181053.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"29d16b3c82b6d5d4ee2ddad8a9b54f9d92c72985","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.25.1-69815db-202512181053.0.tgz","fileCount":43,"integrity":"sha512-xEF6yXczexjI9DURfeR7XBDxnVC/fB5wV/RVW0aOl3ao2nPAco4Hn6rJQhuVnU676Neqv9GIhxirdqE9oyoE3w==","signatures":[{"sig":"MEUCIQDWartS//ZVHr3xO4NuLr2UGQ/gN3jBLO/nuVVL3fBH+QIgbLWIt3tcJvx3VKg+cFjcK7eAND5dcAY1V+y6y6lmEgw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":621931},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"69815db6bd7b10c70d7a5d6ec841f8711945b7c4","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.7.1-1452ddc-202512150751.0","@flowfuse/nr-file-nodes":"0.0.9-b4bc205-202512151611.0","@flowfuse/nr-mqtt-nodes":"0.2.3-199c6e1-202512181006.0","@flowfuse/nr-tables-nodes":"0.2.2-e040841-202512181013.0","@flowfuse/nr-project-nodes":"0.7.9-9860974-202512151254.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.25.1-69815db-202512181053.0_1766055215888_0.3663395588006966","host":"s3://npm-registry-packages-npm-production"}},"2.25.0":{"name":"@flowfuse/nr-launcher","version":"2.25.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.25.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"0ad35bbe2e7beeba6ce611614956821c2077e243","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.25.0.tgz","fileCount":43,"integrity":"sha512-XZhK2UDrIZUwJ310D49zIOAt0L6I6X4UTNQu+O/MH1qA5L/svWHz7NtqnddUBEFrlN/V4vcWUciEMDE+Zw6r4g==","signatures":[{"sig":"MEQCIEUQAfArjvy7d/1FpYRcmXuJrAg/jiCI4dX/Uj5CgX0YAiBeaArHiq8FqkDqaivc5Ab7M8QSdujm22PCgRxFQ9cCGg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":621798},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"69815db6bd7b10c70d7a5d6ec841f8711945b7c4","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"^0.7.0","@flowfuse/nr-file-nodes":"^0.0.8","@flowfuse/nr-mqtt-nodes":"^0.2.2","@flowfuse/nr-tables-nodes":"^0.2.1","@flowfuse/nr-project-nodes":"^0.7.8","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.25.0_1766055590356_0.6377648210206663","host":"s3://npm-registry-packages-npm-production"}},"2.25.1-69815db-202512191113.0":{"name":"@flowfuse/nr-launcher","version":"2.25.1-69815db-202512191113.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.25.1-69815db-202512191113.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"9843c2ad03d6d8335f4a38928504680444fafe5f","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.25.1-69815db-202512191113.0.tgz","fileCount":43,"integrity":"sha512-GagGnyPVwMea4SfYMBXLnvq8grtWtBA1ogZ8MEYXNdjt+IUMCAszZ20TL16G8atw3VHP1CzUPRnruz8wNM7xsw==","signatures":[{"sig":"MEQCIDytQ6UjJmrbQoZvY/kjZVaEyBULov2qEVVyA1K7j43zAiA8YMQC4Af9qDo4AoUNnM1fQLgqzjxOSqijPzNmuAgNnQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":621931},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"69815db6bd7b10c70d7a5d6ec841f8711945b7c4","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.7.1-1452ddc-202512150751.0","@flowfuse/nr-file-nodes":"0.0.9-b4bc205-202512151611.0","@flowfuse/nr-mqtt-nodes":"0.2.3-12b9393-202512191112.0","@flowfuse/nr-tables-nodes":"0.2.2-e040841-202512181013.0","@flowfuse/nr-project-nodes":"0.7.9-9860974-202512151254.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.25.1-69815db-202512191113.0_1766142811778_0.5184322409360356","host":"s3://npm-registry-packages-npm-production"}},"2.25.1-69815db-202512220911.0":{"name":"@flowfuse/nr-launcher","version":"2.25.1-69815db-202512220911.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.25.1-69815db-202512220911.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"431d5de91b807631eec684bb938323dc1e273e65","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.25.1-69815db-202512220911.0.tgz","fileCount":43,"integrity":"sha512-PnL/Vy+AC7sqfduucpQhsuiAp7mgEyuGsnig0dGHqZWLbW/CQ6rru0rwl13zRY9rlXgw4SJeBexw9JkEF+dx/g==","signatures":[{"sig":"MEUCIQC2p5k5wz/dHsjeQ55u8+ujince1TOVVC47GAOYPy5PgwIgFLTtEPOolO9rGXH+z1xyD4FogQMDAA1JZpBPoFIfq0w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":621931},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"69815db6bd7b10c70d7a5d6ec841f8711945b7c4","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.7.1-7a88637-202512220911.0","@flowfuse/nr-file-nodes":"0.0.9-b4bc205-202512151611.0","@flowfuse/nr-mqtt-nodes":"0.2.3-12b9393-202512191112.0","@flowfuse/nr-tables-nodes":"0.2.2-e040841-202512181013.0","@flowfuse/nr-project-nodes":"0.7.9-9860974-202512151254.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.25.1-69815db-202512220911.0_1766394714242_0.44154552103274813","host":"s3://npm-registry-packages-npm-production"}},"2.25.1-69815db-202512221600.0":{"name":"@flowfuse/nr-launcher","version":"2.25.1-69815db-202512221600.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.25.1-69815db-202512221600.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"e507211d431bd32d22148d589b547bcbab737b28","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.25.1-69815db-202512221600.0.tgz","fileCount":43,"integrity":"sha512-n6nv9zz97DVVqQ/p2vcsuMpHKcY3AiynsvuWlHr35+9vS5LNDTUCwM0IeTtaI6EQ9UhlbQBTtjTN6Ooh7Izqow==","signatures":[{"sig":"MEYCIQDqNJFzWNo23OW5s2YVnrQ04ZtrVcgmezEPc6N8Yc/eWAIhANDXtkV+9wctwjkyMJnIBBQHwstX87aFOJIgipcRd1wB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":621931},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"69815db6bd7b10c70d7a5d6ec841f8711945b7c4","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.7.1-7a88637-202512220911.0","@flowfuse/nr-file-nodes":"0.0.9-b4bc205-202512151611.0","@flowfuse/nr-mqtt-nodes":"0.2.3-12b9393-202512191112.0","@flowfuse/nr-tables-nodes":"0.2.2-13eca10-202512221559.0","@flowfuse/nr-project-nodes":"0.7.9-9860974-202512151254.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.25.1-69815db-202512221600.0_1766419222639_0.7178255394814441","host":"s3://npm-registry-packages-npm-production"}},"2.25.1-69815db-202512221835.0":{"name":"@flowfuse/nr-launcher","version":"2.25.1-69815db-202512221835.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.25.1-69815db-202512221835.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"7b28f0bbc6a44f883c7e2e750391b55d6bdf03b7","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.25.1-69815db-202512221835.0.tgz","fileCount":43,"integrity":"sha512-WfgrrxxbBi2V1EuULkOTpvf3TDfLkhca3omNVU1QpNCJEmo3X/boEbgQs0ivQq5VYRFWWlX7F6qOVmdH4J9jew==","signatures":[{"sig":"MEUCID+OpFtH83DAw46QR1ZNz60OP/rf6Poct6WfEWS7BS/QAiEA0AGsENRgePorunuXlAZKo6sHY+hwPi6sJuDxVUCnuCs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":621931},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"69815db6bd7b10c70d7a5d6ec841f8711945b7c4","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.7.1-7a88637-202512220911.0","@flowfuse/nr-file-nodes":"0.0.9-e59c2d9-202512221834.0","@flowfuse/nr-mqtt-nodes":"0.2.3-12b9393-202512191112.0","@flowfuse/nr-tables-nodes":"0.2.2-13eca10-202512221559.0","@flowfuse/nr-project-nodes":"0.7.9-02dd6e1-202512221834.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.25.1-69815db-202512221835.0_1766428535703_0.7690421641342915","host":"s3://npm-registry-packages-npm-production"}},"2.25.1-d54c8ad-202512231013.0":{"name":"@flowfuse/nr-launcher","version":"2.25.1-d54c8ad-202512231013.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.25.1-d54c8ad-202512231013.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"9d8fd0681d8983e731e901a03fb622aace5b64ef","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.25.1-d54c8ad-202512231013.0.tgz","fileCount":43,"integrity":"sha512-EEyPoLJQ9WRjK1Jv4nQn8z05xHRfgbJcM4gWQgWVK1kIBPmo79qhQGE7nqn3xBpGaKSiOFZgOjNk5LlAw4AoTg==","signatures":[{"sig":"MEYCIQD8PPckpvEMHUqdAuThoJYNKvGlhstQIcSQV+2rhSVlvwIhAOXeMsa31q1EKnXKt3vL7h845Mvl9WD30l/Exuf/ww0x","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":621931},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"d54c8ad384260227753aa02d9fedfaa3664538be","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.7.1-7a88637-202512220911.0","@flowfuse/nr-file-nodes":"0.0.9-9544ee9-202512231013.0","@flowfuse/nr-mqtt-nodes":"0.2.3-12b9393-202512191112.0","@flowfuse/nr-tables-nodes":"0.2.2-13eca10-202512221559.0","@flowfuse/nr-project-nodes":"0.7.9-02dd6e1-202512221834.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.25.1-d54c8ad-202512231013.0_1766484832532_0.21837840881523451","host":"s3://npm-registry-packages-npm-production"}},"2.25.1-53a6f2f-202512231014.0":{"name":"@flowfuse/nr-launcher","version":"2.25.1-53a6f2f-202512231014.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.25.1-53a6f2f-202512231014.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"ec50f0e96279cc0e0b079155b8cd178a2a7a1b9f","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.25.1-53a6f2f-202512231014.0.tgz","fileCount":43,"integrity":"sha512-8/iYGfkpHYDMKmDl2OyIoTiECDJhSV9zqY12GXqOJGBUPPH04E5jIeTGe6zDxsPEVtFDrolMoYSxW7SBCLVWXA==","signatures":[{"sig":"MEYCIQD1xeMziLBbG41tqXgaH68f6GSQ3CWY4zZUfCZZlEaAWAIhAPEUrKqahxiK79CvumB/ds/aF9JRVaiEDpwrJLaf6oab","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":621931},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"53a6f2ffc4a5443529ad469dc1ea42735b40bf96","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.7.1-7a88637-202512220911.0","@flowfuse/nr-file-nodes":"0.0.9-9544ee9-202512231013.0","@flowfuse/nr-mqtt-nodes":"0.2.3-12b9393-202512191112.0","@flowfuse/nr-tables-nodes":"0.2.2-13eca10-202512221559.0","@flowfuse/nr-project-nodes":"0.7.9-02dd6e1-202512221834.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.25.1-53a6f2f-202512231014.0_1766484850631_0.5535115254561329","host":"s3://npm-registry-packages-npm-production"}},"2.25.1-53a6f2f-202512231018.0":{"name":"@flowfuse/nr-launcher","version":"2.25.1-53a6f2f-202512231018.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.25.1-53a6f2f-202512231018.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"0e29f3f4cedfd1eb8ef951ef5a9660d4a09716fd","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.25.1-53a6f2f-202512231018.0.tgz","fileCount":43,"integrity":"sha512-PtWEoBBxgsG3m4+Vm3kl/1JOKq1HNaS2+LYs0qp9cHqaXdd0IU34WzxCnLUYW1zsdsM93CyAtEzZVNlx3GJEmA==","signatures":[{"sig":"MEUCIAaubBRtjRHhkukcpEniksopeCua7rMMVWtzIC+040FrAiEA/zdjslbme2Bxat5lxwzFeoBMi/Uyuhw58HIJjqXApa0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":621931},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"53a6f2ffc4a5443529ad469dc1ea42735b40bf96","scripts":{"lint":"eslint -c .eslintrc \"*.js\" \"lib/**/*.js\" \"test/**/*.js\"","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c .eslintrc \"*.js\" \"lib/*.js\" \"test/**/*.js\" --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.7.1-7a88637-202512220911.0","@flowfuse/nr-file-nodes":"0.0.9-9544ee9-202512231013.0","@flowfuse/nr-mqtt-nodes":"0.2.3-12b9393-202512191112.0","@flowfuse/nr-tables-nodes":"0.2.2-13eca10-202512221559.0","@flowfuse/nr-project-nodes":"0.7.9-d91efd8-202512231017.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^8.49.0","should":"^13.2.3","sqlite3":"^5.1.6","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-config-standard":"^17.1.0","eslint-plugin-no-only-tests":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.25.1-53a6f2f-202512231018.0_1766485086535_0.9160645817009092","host":"s3://npm-registry-packages-npm-production"}},"2.25.1-ee35e1b-202512301715.0":{"name":"@flowfuse/nr-launcher","version":"2.25.1-ee35e1b-202512301715.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.25.1-ee35e1b-202512301715.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"54272cc472160e50330a9ea8f358ab08b6e41482","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.25.1-ee35e1b-202512301715.0.tgz","fileCount":44,"integrity":"sha512-EP1tCWxTK97FG1e/MpLwVia516fYmQvOAleWJI01yAlr47PW9aNA7omCZ1T9cAe6Q5U5QdoG3flcD4hF2pKe8A==","signatures":[{"sig":"MEUCIQClXxkIepvqRIam1j5PpXaMzJauvqVVUAemy8NGYqyRywIgB19vTgSt7Mxm3+hFELbosnm9fAGItUxbOoqGBn12S88=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":623539},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"ee35e1bdc3316ba4d2b351a56d2cd949908f9c73","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.7.1-7a88637-202512220911.0","@flowfuse/nr-file-nodes":"0.0.9-9544ee9-202512231013.0","@flowfuse/nr-mqtt-nodes":"0.2.3-12b9393-202512191112.0","@flowfuse/nr-tables-nodes":"0.2.2-13eca10-202512221559.0","@flowfuse/nr-project-nodes":"0.7.9-d91efd8-202512231017.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","sqlite3":"^5.1.6","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.25.1-ee35e1b-202512301715.0_1767114970275_0.09388193495876296","host":"s3://npm-registry-packages-npm-production"}},"2.25.1-ee35e1b-202512301831.0":{"name":"@flowfuse/nr-launcher","version":"2.25.1-ee35e1b-202512301831.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.25.1-ee35e1b-202512301831.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"4bfaf3b46a0487025da43877e3d53bcb6d7fa439","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.25.1-ee35e1b-202512301831.0.tgz","fileCount":44,"integrity":"sha512-jrnH9OC2/PHYgEFAGgFX/CUvv+4r87o7QnJxHdGHxntQ7ffSBPh92EOHoOR2akSGHyHG6pQKBUEglAOlLNcFiw==","signatures":[{"sig":"MEYCIQDORbaXxdzO3ZPN0Kw85f9fGk+iNBbqo3Fd49WcKkLbZAIhAOgQ7UcJ64J1vgUiYTf94c6O9sQx0JswujUEB0s8o5JG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":623539},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"ee35e1bdc3316ba4d2b351a56d2cd949908f9c73","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.7.1-7a88637-202512220911.0","@flowfuse/nr-file-nodes":"0.0.9-9544ee9-202512231013.0","@flowfuse/nr-mqtt-nodes":"0.2.3-5c77614-202512301830.0","@flowfuse/nr-tables-nodes":"0.2.2-13eca10-202512221559.0","@flowfuse/nr-project-nodes":"0.7.9-d91efd8-202512231017.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","sqlite3":"^5.1.6","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.25.1-ee35e1b-202512301831.0_1767119503366_0.9189653097553645","host":"s3://npm-registry-packages-npm-production"}},"2.25.1-ee35e1b-202601011949.0":{"name":"@flowfuse/nr-launcher","version":"2.25.1-ee35e1b-202601011949.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.25.1-ee35e1b-202601011949.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"5a28941a7358e4c342d251f3e9150c31b90d8831","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.25.1-ee35e1b-202601011949.0.tgz","fileCount":44,"integrity":"sha512-frqsdWFNoUXXbGbO5uka9kdoZS7NXSEFrY8URtoRTMM5I2pI9owYH//Jmzfhnt7OLA8b4fBydAp2wuVHBAsFoQ==","signatures":[{"sig":"MEYCIQCokaNU4pIqW8LsDjRk58a0cIGajKAitisRabBafQJ+PAIhAPdMOCaQxmW1lQJIuREX687UQMD5aIQb2SKMBMPMWZwh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":623539},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"ee35e1bdc3316ba4d2b351a56d2cd949908f9c73","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.7.1-c2c8c88-202601011948.0","@flowfuse/nr-file-nodes":"0.0.9-9544ee9-202512231013.0","@flowfuse/nr-mqtt-nodes":"0.2.3-5c77614-202512301830.0","@flowfuse/nr-tables-nodes":"0.2.2-13eca10-202512221559.0","@flowfuse/nr-project-nodes":"0.7.9-d91efd8-202512231017.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","sqlite3":"^5.1.6","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.25.1-ee35e1b-202601011949.0_1767296964743_0.6505052223876646","host":"s3://npm-registry-packages-npm-production"}},"2.25.1-ee35e1b-202601050930.0":{"name":"@flowfuse/nr-launcher","version":"2.25.1-ee35e1b-202601050930.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.25.1-ee35e1b-202601050930.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"7783a0da5a0563899ce976422b0f085063d724f8","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.25.1-ee35e1b-202601050930.0.tgz","fileCount":44,"integrity":"sha512-hosjAdOrJSAbkJI8drRWzS9BYHm7VU6LGgOEFPrj2vRTeepdehe7IWPMrdKEsJkgPJxAveBX3XVFA527Gt+cVg==","signatures":[{"sig":"MEUCIQDANEW0cLBaLW1CqSmnZNGv+r9gkPi9/NOPVPJGyt6oEgIgJPWYlJ5Oz4warbsrXUF6YAldk/BZtkDAE87weJjtBd0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":623539},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"ee35e1bdc3316ba4d2b351a56d2cd949908f9c73","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.7.1-c2c8c88-202601011948.0","@flowfuse/nr-file-nodes":"0.0.9-fd5648d-202601050929.0","@flowfuse/nr-mqtt-nodes":"0.2.3-5c77614-202512301830.0","@flowfuse/nr-tables-nodes":"0.2.2-13eca10-202512221559.0","@flowfuse/nr-project-nodes":"0.7.9-d91efd8-202512231017.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","sqlite3":"^5.1.6","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.25.1-ee35e1b-202601050930.0_1767605459922_0.5546074069397209","host":"s3://npm-registry-packages-npm-production"}},"2.25.1-ee35e1b-202601051110.0":{"name":"@flowfuse/nr-launcher","version":"2.25.1-ee35e1b-202601051110.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.25.1-ee35e1b-202601051110.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"3177bab4db0c73f942ccfbef5aadfda4b6692761","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.25.1-ee35e1b-202601051110.0.tgz","fileCount":44,"integrity":"sha512-dOg2sNBHFo0RUOlvZ29uYvrrP5gr93tqiWtXqhQXCXcKqT3lOHaIUgN2V/XIZAjE4wlBtGhZ4s04P3dTkEe+WA==","signatures":[{"sig":"MEQCIHcZII+ptKY2QLtiPbZYi0SkXSvkF1bJmzMpb9l1Dsq1AiBJlH6O+d5wfmYu9OHKN5LqmevNY9L3vw5bRHir6qrGzg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":623539},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"ee35e1bdc3316ba4d2b351a56d2cd949908f9c73","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.7.1-c2c8c88-202601011948.0","@flowfuse/nr-file-nodes":"0.0.9-fd5648d-202601050929.0","@flowfuse/nr-mqtt-nodes":"0.2.3-f9ee4ca-202601051109.0","@flowfuse/nr-tables-nodes":"0.2.2-13eca10-202512221559.0","@flowfuse/nr-project-nodes":"0.7.9-d91efd8-202512231017.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","sqlite3":"^5.1.6","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.25.1-ee35e1b-202601051110.0_1767611453905_0.8548124683751805","host":"s3://npm-registry-packages-npm-production"}},"2.25.1-ee35e1b-202601051113.0":{"name":"@flowfuse/nr-launcher","version":"2.25.1-ee35e1b-202601051113.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.25.1-ee35e1b-202601051113.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"ae718160255b692b3ccdfbcd736d73a46acd2ef6","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.25.1-ee35e1b-202601051113.0.tgz","fileCount":44,"integrity":"sha512-GIF7gAOeJhakJuv6W4Xh2rmI6ShHrvp5Nsr7OS/Qk5qy56Ct+aXyQMFylIgTzlcVUcPv/VG0h9fSzE9/yUVvfg==","signatures":[{"sig":"MEQCIBtZngelHAZBnhRZ+aFPtfLOijfoSBXbeul/cPxySMtLAiB/R+ApnXh4ZFkoi8J3Exh7KBs15qee5IDouVku2j5Q6A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":623539},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"ee35e1bdc3316ba4d2b351a56d2cd949908f9c73","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.7.1-c2c8c88-202601011948.0","@flowfuse/nr-file-nodes":"0.0.9-17dfba4-202601051113.0","@flowfuse/nr-mqtt-nodes":"0.2.3-f9ee4ca-202601051109.0","@flowfuse/nr-tables-nodes":"0.2.2-13eca10-202512221559.0","@flowfuse/nr-project-nodes":"0.7.9-d91efd8-202512231017.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","sqlite3":"^5.1.6","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.25.1-ee35e1b-202601051113.0_1767611648275_0.3229604286055108","host":"s3://npm-registry-packages-npm-production"}},"2.25.1-ee35e1b-202601051153.0":{"name":"@flowfuse/nr-launcher","version":"2.25.1-ee35e1b-202601051153.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.25.1-ee35e1b-202601051153.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"e2d0b83efdd4cd15907bce87c16ddc5881741b00","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.25.1-ee35e1b-202601051153.0.tgz","fileCount":44,"integrity":"sha512-1YLMTKOW3DmgQUgz6MO/vZe8Sgr9l34nD9+ht8qeWnLnBXULrdFZMnvKWBgG9hibBm+qruNUGOipInLQRGPM5w==","signatures":[{"sig":"MEUCIQCVIEd2v27jfyZFivqqpkHQkipA5gJvA2xAx3IGB2kwLQIgW+QjchfO4S8sp79/1pAej3R/i2E0r7h8ODvsMVk05dM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":623539},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"ee35e1bdc3316ba4d2b351a56d2cd949908f9c73","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.7.1-c2c8c88-202601011948.0","@flowfuse/nr-file-nodes":"0.0.9-cabebf4-202601051152.0","@flowfuse/nr-mqtt-nodes":"0.2.3-f9ee4ca-202601051109.0","@flowfuse/nr-tables-nodes":"0.2.2-13eca10-202512221559.0","@flowfuse/nr-project-nodes":"0.7.9-d91efd8-202512231017.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","sqlite3":"^5.1.6","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.25.1-ee35e1b-202601051153.0_1767614014319_0.4977386586143393","host":"s3://npm-registry-packages-npm-production"}},"2.25.1-6ae36ca-202601051155.0":{"name":"@flowfuse/nr-launcher","version":"2.25.1-6ae36ca-202601051155.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.25.1-6ae36ca-202601051155.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"0e7f92e604dc17ddb4b6f73b82b91eaa90c2eea6","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.25.1-6ae36ca-202601051155.0.tgz","fileCount":44,"integrity":"sha512-AWTbEWvgSZGtXkTCTTqh9e7IpmREaSLQcDdaymtjcjTx5+zlAdMJY/DX+hOLcTK6nIH7recPDTpNpjW3AtKuXg==","signatures":[{"sig":"MEYCIQDsmsIKnwq2i/JAzTN+LzCwI1lijf2SjqTkNbDVrIvzLAIhAIw0ajpe3SQTkw9J+P8nlTxUvVNt01wP4E7fX1uk8Ynt","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":623639},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"6ae36ca0e2cfeeb6093977379ad8547bb1d91b72","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.7.1-c2c8c88-202601011948.0","@flowfuse/nr-file-nodes":"0.0.9-cabebf4-202601051152.0","@flowfuse/nr-mqtt-nodes":"0.2.3-f9ee4ca-202601051109.0","@flowfuse/nr-tables-nodes":"0.2.2-13eca10-202512221559.0","@flowfuse/nr-project-nodes":"0.7.9-d91efd8-202512231017.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","sqlite3":"^5.1.6","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.25.1-6ae36ca-202601051155.0_1767614135768_0.19970848633424665","host":"s3://npm-registry-packages-npm-production"}},"2.25.1-6ae36ca-202601051212.0":{"name":"@flowfuse/nr-launcher","version":"2.25.1-6ae36ca-202601051212.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.25.1-6ae36ca-202601051212.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"d74b400cb681734325bd4f03783a2c7fa51aa639","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.25.1-6ae36ca-202601051212.0.tgz","fileCount":44,"integrity":"sha512-C5Fz9ldYgXscxDl06HDBuOe5BsFMiFiHxVvKdx0fsdTCrXo6y+6VHwI1ynFzRDljKO+08YlQy6r1abVAOpFSdQ==","signatures":[{"sig":"MEYCIQCLaYZffAe3niWhQeOAdPzt7JCnzj8y73yg5mAW+JFPBgIhAIbweRz97UZLPmDkHe1G4ehpkNG0NBqIP7fpRWlvBxXy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":623639},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"6ae36ca0e2cfeeb6093977379ad8547bb1d91b72","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.7.1-c2c8c88-202601011948.0","@flowfuse/nr-file-nodes":"0.0.9-cabebf4-202601051152.0","@flowfuse/nr-mqtt-nodes":"0.2.3-f9ee4ca-202601051109.0","@flowfuse/nr-tables-nodes":"0.2.2-13eca10-202512221559.0","@flowfuse/nr-project-nodes":"0.7.9-83ff136-202601051211.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","sqlite3":"^5.1.6","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.25.1-6ae36ca-202601051212.0_1767615149736_0.8801256776799664","host":"s3://npm-registry-packages-npm-production"}},"2.25.1-6ae36ca-202601051310.0":{"name":"@flowfuse/nr-launcher","version":"2.25.1-6ae36ca-202601051310.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.25.1-6ae36ca-202601051310.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"25a8fce4a25dd28ea95ac558ce131d34c0858b5b","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.25.1-6ae36ca-202601051310.0.tgz","fileCount":44,"integrity":"sha512-xDFjKjBKOl66glq5d9LMjPFMP95349keywZHDQxwu2avkBA3c6JbPvkhLh53grRs2Cmv9Wukl0ag6UAHeliJhw==","signatures":[{"sig":"MEQCIEEeKX8VzqOviL0ur3q26G6ImsxtWAUsjpRb4aDgNdbVAiAyTkHc7Zs7S1oRg9IYUPsJFBlNMzZAKi69E3GYN2wEdw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":623639},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"6ae36ca0e2cfeeb6093977379ad8547bb1d91b72","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.7.1-c2c8c88-202601011948.0","@flowfuse/nr-file-nodes":"0.0.9-cabebf4-202601051152.0","@flowfuse/nr-mqtt-nodes":"0.2.3-f9ee4ca-202601051109.0","@flowfuse/nr-tables-nodes":"0.2.2-13eca10-202512221559.0","@flowfuse/nr-project-nodes":"0.7.9-4d58acc-202601051309.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","sqlite3":"^5.1.6","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.25.1-6ae36ca-202601051310.0_1767618663803_0.25189245675945027","host":"s3://npm-registry-packages-npm-production"}},"2.25.1-6ae36ca-202601060959.0":{"name":"@flowfuse/nr-launcher","version":"2.25.1-6ae36ca-202601060959.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.25.1-6ae36ca-202601060959.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"c31a4552387f79d8835d6c1ef4dbf3e32aa23ebb","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.25.1-6ae36ca-202601060959.0.tgz","fileCount":44,"integrity":"sha512-fxn3uBJhOfe3AaEyVLqqkZW1gzkBVjBEBLokP7jOGf+ZP/CIPfz047f1U/haNmBmlR17KIk0IFp60/lTVLtIHQ==","signatures":[{"sig":"MEYCIQDAl1e3u6v4T2PUqym95wkU4jDBxCtSrFrNRIJikwsxsAIhANCcU4D2G4kj6gTUtqR/xG3RcUdEHmPvnrK26w2NbhuO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":623639},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"6ae36ca0e2cfeeb6093977379ad8547bb1d91b72","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.7.1-c2c8c88-202601011948.0","@flowfuse/nr-file-nodes":"0.0.9-cabebf4-202601051152.0","@flowfuse/nr-mqtt-nodes":"0.2.3-11fc332-202601060959.0","@flowfuse/nr-tables-nodes":"0.2.2-13eca10-202512221559.0","@flowfuse/nr-project-nodes":"0.7.9-4d58acc-202601051309.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","sqlite3":"^5.1.6","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.25.1-6ae36ca-202601060959.0_1767693586224_0.3013359184306976","host":"s3://npm-registry-packages-npm-production"}},"2.25.1-6ae36ca-202601061000.0":{"name":"@flowfuse/nr-launcher","version":"2.25.1-6ae36ca-202601061000.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.25.1-6ae36ca-202601061000.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"4cf13f3a1895fe31bd36bc92267b68a11dc61fc9","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.25.1-6ae36ca-202601061000.0.tgz","fileCount":44,"integrity":"sha512-EWwYLV4Mm3RNHxxp1NIKXlyIFkoPSq99H4D5wZJ8hWi29oAA9TWHCHGtjfZW4H1EkOg6bGwssiQrmo6pAcO7OQ==","signatures":[{"sig":"MEUCIH/1JuIfLeTSaW7eVfriMVda53+AdWECTHtSgtGRLtWfAiEAxWV2k1ZOnI3kTWrrYM4FkwGvJUW2+7gAb3e4CZdpngc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":623639},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"6ae36ca0e2cfeeb6093977379ad8547bb1d91b72","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.7.1-c2c8c88-202601011948.0","@flowfuse/nr-file-nodes":"0.0.9-cabebf4-202601051152.0","@flowfuse/nr-mqtt-nodes":"0.2.3-11fc332-202601060959.0","@flowfuse/nr-tables-nodes":"0.2.2-13eca10-202512221559.0","@flowfuse/nr-project-nodes":"0.7.9-4d58acc-202601051309.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","sqlite3":"^5.1.6","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.25.1-6ae36ca-202601061000.0_1767693609418_0.57720368899452","host":"s3://npm-registry-packages-npm-production"}},"2.25.1-6ae36ca-202601061001.0":{"name":"@flowfuse/nr-launcher","version":"2.25.1-6ae36ca-202601061001.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.25.1-6ae36ca-202601061001.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"e776370fccfc5b394b30ea38e065b5ba6d9d1706","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.25.1-6ae36ca-202601061001.0.tgz","fileCount":44,"integrity":"sha512-JRxgkfM19a+3lw4OpOp9e9cF4QL3dFTNOgig1uCQozz/RT6nR0aWt05AoGhXuf/pveJRIqq6uU9Y3AmD1FmRvA==","signatures":[{"sig":"MEUCIA9KatA5o7TqkKRxz0qNX/udmOPiTxl0P4p1XQg3UqWaAiEA8aJXr9wxSL3NEIjyJfZ8S/As6NAuA6hPUlXGc0XDcYk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":623639},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"6ae36ca0e2cfeeb6093977379ad8547bb1d91b72","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.7.1-c2c8c88-202601011948.0","@flowfuse/nr-file-nodes":"0.0.9-cabebf4-202601051152.0","@flowfuse/nr-mqtt-nodes":"0.2.3-4539dc1-202601061000.0","@flowfuse/nr-tables-nodes":"0.2.2-13eca10-202512221559.0","@flowfuse/nr-project-nodes":"0.7.9-4d58acc-202601051309.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","sqlite3":"^5.1.6","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.25.1-6ae36ca-202601061001.0_1767693703196_0.6218474380629506","host":"s3://npm-registry-packages-npm-production"}},"2.25.1-6ae36ca-202601120754.0":{"name":"@flowfuse/nr-launcher","version":"2.25.1-6ae36ca-202601120754.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.25.1-6ae36ca-202601120754.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"d541b4af40c9a3986ca4413a5a9b86af26ffa69e","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.25.1-6ae36ca-202601120754.0.tgz","fileCount":44,"integrity":"sha512-dC8kEEuE3CTz/Fu5NHAsdYfenCHLwOk1O9ca0vxU7/NQiSL0lUorRmNPPPEqYZn9TIvSjFzOnZo0lhsyk2RB9A==","signatures":[{"sig":"MEQCICGDSGSoVBL5B1N0LsSEaOq8rOrJjDDxfv2lGrko5SvVAiBnfyeiUVllPo3OeiD6vUfyDU2x9x37aKYczRy7cLc7kw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":623639},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"6ae36ca0e2cfeeb6093977379ad8547bb1d91b72","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.7.1-903d447-202601120754.0","@flowfuse/nr-file-nodes":"0.0.9-cabebf4-202601051152.0","@flowfuse/nr-mqtt-nodes":"0.2.3-4539dc1-202601061000.0","@flowfuse/nr-tables-nodes":"0.2.2-13eca10-202512221559.0","@flowfuse/nr-project-nodes":"0.7.9-4d58acc-202601051309.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","sqlite3":"^5.1.6","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.25.1-6ae36ca-202601120754.0_1768204509750_0.1731918381904216","host":"s3://npm-registry-packages-npm-production"}},"2.25.1-6ae36ca-202601121520.0":{"name":"@flowfuse/nr-launcher","version":"2.25.1-6ae36ca-202601121520.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.25.1-6ae36ca-202601121520.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"35ad4952b67970384a18d14a008b7d1752cd2aa7","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.25.1-6ae36ca-202601121520.0.tgz","fileCount":44,"integrity":"sha512-r2OM8PSNLzClI+Dwl4DyYaPjtL7zXe0UAl4LRVVVD+5FPJWv879aWnQBd/IminPEWQHgM7lNccdXidTywiCcOg==","signatures":[{"sig":"MEUCIQDDztcOGb+Qguf1e0kmUiM+LY1T4dvP3NtVg6SdXF1+TAIgMtfSZsMvBhPINPq9XimZeF96NansbI7SeC68kREn59U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":623639},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"6ae36ca0e2cfeeb6093977379ad8547bb1d91b72","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.7.1-903d447-202601120754.0","@flowfuse/nr-file-nodes":"0.0.9-cabebf4-202601051152.0","@flowfuse/nr-mqtt-nodes":"0.2.3-4539dc1-202601061000.0","@flowfuse/nr-tables-nodes":"0.2.2-13eca10-202512221559.0","@flowfuse/nr-project-nodes":"0.7.9-4bdb79f-202601121519.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","sqlite3":"^5.1.6","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.25.1-6ae36ca-202601121520.0_1768231225823_0.5773679078333016","host":"s3://npm-registry-packages-npm-production"}},"2.25.1-6ae36ca-202601130748.0":{"name":"@flowfuse/nr-launcher","version":"2.25.1-6ae36ca-202601130748.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.25.1-6ae36ca-202601130748.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"d11cddf187800d5f7e244b458d980662d421a1f6","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.25.1-6ae36ca-202601130748.0.tgz","fileCount":44,"integrity":"sha512-yJSk6Xr+mgagyEgedmTPwVRb7XYu5o88pq4dBtMGGGtmwidT64gXd0r0225qLQCeg7xtUMcQWSxZD2IFIqpC5g==","signatures":[{"sig":"MEUCIHcubnOMvvwCc9Se5CWQpFOyynmx7y7piz1isUmR3W5PAiEApksK8z3Odqsu8vekELz4y9un4o56jiyRrJx0nKsaKME=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":623639},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"6ae36ca0e2cfeeb6093977379ad8547bb1d91b72","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.7.1-903d447-202601120754.0","@flowfuse/nr-file-nodes":"0.0.9-b17b767-202601130747.0","@flowfuse/nr-mqtt-nodes":"0.2.3-4539dc1-202601061000.0","@flowfuse/nr-tables-nodes":"0.2.2-13eca10-202512221559.0","@flowfuse/nr-project-nodes":"0.7.9-4bdb79f-202601121519.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","sqlite3":"^5.1.6","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.25.1-6ae36ca-202601130748.0_1768290490560_0.17308862863783503","host":"s3://npm-registry-packages-npm-production"}},"2.25.1-2fd27ee-202601130750.0":{"name":"@flowfuse/nr-launcher","version":"2.25.1-2fd27ee-202601130750.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.25.1-2fd27ee-202601130750.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"46caec6854a9e1d27610680b5544ce78de67e616","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.25.1-2fd27ee-202601130750.0.tgz","fileCount":44,"integrity":"sha512-A7zVUtchfzRnQv+Wyj+K20k9M50sU8i7qr09KZMUUUJ5AiI5xHHo36FAYq5HRH/DfkdCXGmZFT2dXNf01Mq8Cw==","signatures":[{"sig":"MEUCIB3YzfoleIvGuCMYrBxAiRdKG0rrTojjYdLcZAZP9dB2AiEAxzjDq+T+ljGrgVQ67fXHJsNbZqn6FRs40kH7XqfRBLc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":623639},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"2fd27ee5e7339fe29f8045b8cd79a7066449c5fa","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.7.1-903d447-202601120754.0","@flowfuse/nr-file-nodes":"0.0.9-b17b767-202601130747.0","@flowfuse/nr-mqtt-nodes":"0.2.3-4539dc1-202601061000.0","@flowfuse/nr-tables-nodes":"0.2.2-13eca10-202512221559.0","@flowfuse/nr-project-nodes":"0.7.9-4bdb79f-202601121519.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","sqlite3":"^5.1.6","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.25.1-2fd27ee-202601130750.0_1768290623790_0.3443453619097967","host":"s3://npm-registry-packages-npm-production"}},"2.25.1-2fd27ee-202601141111.0":{"name":"@flowfuse/nr-launcher","version":"2.25.1-2fd27ee-202601141111.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.25.1-2fd27ee-202601141111.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"60e7e05e0336014257f35657f02b7db7d849426f","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.25.1-2fd27ee-202601141111.0.tgz","fileCount":44,"integrity":"sha512-xAZu4NEHPf1GX2zLdrWv1bF1tYgtl6k14s5RFaL9pI122VwypnxXtBkoXOQR7xdEbC5tx/BF1FpSjXAwL2zJLA==","signatures":[{"sig":"MEUCIAHjhZqPJfGf/qNqyt3OU3pT2IWR1k87dz9BFmdE1eNiAiEA7cxpx1WtFgThGBEyVwPVviCj6rHLvSAjIjb6TYHhMa8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":623639},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"2fd27ee5e7339fe29f8045b8cd79a7066449c5fa","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.7.1-903d447-202601120754.0","@flowfuse/nr-file-nodes":"0.0.9-b17b767-202601130747.0","@flowfuse/nr-mqtt-nodes":"0.2.3-90d91a7-202601141110.0","@flowfuse/nr-tables-nodes":"0.2.2-13eca10-202512221559.0","@flowfuse/nr-project-nodes":"0.7.9-4bdb79f-202601121519.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","sqlite3":"^5.1.6","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.25.1-2fd27ee-202601141111.0_1768389102229_0.06923731128964383","host":"s3://npm-registry-packages-npm-production"}},"2.25.1-2fd27ee-202601141125.0":{"name":"@flowfuse/nr-launcher","version":"2.25.1-2fd27ee-202601141125.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.25.1-2fd27ee-202601141125.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"aeb202018311e7f3ed4724bbd82b0b696e599471","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.25.1-2fd27ee-202601141125.0.tgz","fileCount":44,"integrity":"sha512-GZAvdsoZHR5CKKM22cH8bSzhIfj6NR801/Pw7Adnle0cO/ntK64e4WbeJAC9yQbJVGj3Jpsiz0wakGy+tO1wTg==","signatures":[{"sig":"MEUCIBgQr0NTw8bhRqEnNcHemSwFIvUra7alKS//hOeKipBdAiEAgBwybJ6mUYBcoIHaNXhl9eRbSPPDhaFGdXKTRNP8cSo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":623639},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"2fd27ee5e7339fe29f8045b8cd79a7066449c5fa","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.7.1-903d447-202601120754.0","@flowfuse/nr-file-nodes":"0.0.9-b17b767-202601130747.0","@flowfuse/nr-mqtt-nodes":"0.2.3-90d91a7-202601141110.0","@flowfuse/nr-tables-nodes":"0.2.2-dd87c96-202601141125.0","@flowfuse/nr-project-nodes":"0.7.9-4bdb79f-202601121519.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","sqlite3":"^5.1.6","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.25.1-2fd27ee-202601141125.0_1768389969764_0.5622621062420237","host":"s3://npm-registry-packages-npm-production"}},"2.25.1-2fd27ee-202601141231.0":{"name":"@flowfuse/nr-launcher","version":"2.25.1-2fd27ee-202601141231.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.25.1-2fd27ee-202601141231.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"c0594470a4ea2ee1f4e3408c7549293283aa3ae6","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.25.1-2fd27ee-202601141231.0.tgz","fileCount":44,"integrity":"sha512-zP1nwUl0jdUMzAmhLR+RFTvbfgZv1FO20qPhDDOYTg4mzQSUuGo1uAJY/28MLu/gpBo8R9/FT9T4CHhUwHfwXg==","signatures":[{"sig":"MEUCIQDbuXzK0nTH/DJbfjgP9dDkLLj6STq91yytxOk6xe+JVwIgePnSWpt/blvhVQ4DUCpRXhahmoXBd6RmeQJ6lDQcyfo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":623639},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"2fd27ee5e7339fe29f8045b8cd79a7066449c5fa","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.7.1-61fa3a0-202601141230.0","@flowfuse/nr-file-nodes":"0.0.9-b17b767-202601130747.0","@flowfuse/nr-mqtt-nodes":"0.2.3-90d91a7-202601141110.0","@flowfuse/nr-tables-nodes":"0.2.2-dd87c96-202601141125.0","@flowfuse/nr-project-nodes":"0.7.9-4bdb79f-202601121519.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","sqlite3":"^5.1.6","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.25.1-2fd27ee-202601141231.0_1768393913960_0.9222403852352878","host":"s3://npm-registry-packages-npm-production"}},"2.25.1-2fd27ee-202601141504.0":{"name":"@flowfuse/nr-launcher","version":"2.25.1-2fd27ee-202601141504.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.25.1-2fd27ee-202601141504.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"87c522fd443c2530c77030d17ef98aa6fa94bb6b","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.25.1-2fd27ee-202601141504.0.tgz","fileCount":44,"integrity":"sha512-iRz/HQvFR9woHDYea2ZFTaQpljayFsSKS1UgzhI7mofGzg0J+8ddQmGX0lWOa45WR7ldHCryiNd3BzRDp36D+w==","signatures":[{"sig":"MEUCIBnYfGkbCkbjxvkU3eZvMG60OMa71CWZOlk1oO7mNKd2AiEAs2RsBnGxhGIZXR+qCfD4dGfpW6HX7OyD+4D64QMQL+A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":623639},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"2fd27ee5e7339fe29f8045b8cd79a7066449c5fa","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.7.1-1db256d-202601141503.0","@flowfuse/nr-file-nodes":"0.0.9-b17b767-202601130747.0","@flowfuse/nr-mqtt-nodes":"0.2.3-90d91a7-202601141110.0","@flowfuse/nr-tables-nodes":"0.2.2-dd87c96-202601141125.0","@flowfuse/nr-project-nodes":"0.7.9-4bdb79f-202601121519.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","sqlite3":"^5.1.6","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.25.1-2fd27ee-202601141504.0_1768403077522_0.8533265487760846","host":"s3://npm-registry-packages-npm-production"}},"2.25.1-2fd27ee-202601141513.0":{"name":"@flowfuse/nr-launcher","version":"2.25.1-2fd27ee-202601141513.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.25.1-2fd27ee-202601141513.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"0119a92d34f911e3db96b39a3294b95b9d97f786","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.25.1-2fd27ee-202601141513.0.tgz","fileCount":44,"integrity":"sha512-2o6poxCBzSQKYekIGQCZCs4JfUKiRMfI7uYCFOWTWM46MP00OWncDt+EiLyXzn2/wMg1onvP964kqNeGl0uCyA==","signatures":[{"sig":"MEYCIQCTUmxmCkFPc+SXQ4ingPbC9XcBOdWwtNxzceYMu9v/UQIhAJpCOLZCVpLcCF7ldFPaA1rViNF2TnFqaoLz/xHNgQyr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":623639},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"2fd27ee5e7339fe29f8045b8cd79a7066449c5fa","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.7.1-928e200-202601141512.0","@flowfuse/nr-file-nodes":"0.0.9-b17b767-202601130747.0","@flowfuse/nr-mqtt-nodes":"0.2.3-90d91a7-202601141110.0","@flowfuse/nr-tables-nodes":"0.2.2-dd87c96-202601141125.0","@flowfuse/nr-project-nodes":"0.7.9-4bdb79f-202601121519.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","sqlite3":"^5.1.6","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.25.1-2fd27ee-202601141513.0_1768403633392_0.3539452319282568","host":"s3://npm-registry-packages-npm-production"}},"2.25.1-2fd27ee-202601141536.0":{"name":"@flowfuse/nr-launcher","version":"2.25.1-2fd27ee-202601141536.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.25.1-2fd27ee-202601141536.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"b6e3f887a0c4623d6e063f21f14c6d161b718f19","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.25.1-2fd27ee-202601141536.0.tgz","fileCount":44,"integrity":"sha512-RMsksJXgcj6R+fyRm4aVYPYEJNvZifPHgQEWRpsTTvmpkcevuSZMEkVAnysuI/ZuLrEKWpeGdC2WgXXolGmf4g==","signatures":[{"sig":"MEYCIQDi4h6FrE/sclWegJzSULsph/Eo/uwoa12z800+WLZjKgIhALM8xbsIEeaSi819oM7Fx7IszAbpuF1LxfbEJKABTHBg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":623639},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"2fd27ee5e7339fe29f8045b8cd79a7066449c5fa","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.8.1-41404df-202601141535.0","@flowfuse/nr-file-nodes":"0.0.9-b17b767-202601130747.0","@flowfuse/nr-mqtt-nodes":"0.2.3-90d91a7-202601141110.0","@flowfuse/nr-tables-nodes":"0.2.2-dd87c96-202601141125.0","@flowfuse/nr-project-nodes":"0.7.9-4bdb79f-202601121519.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","sqlite3":"^5.1.6","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.25.1-2fd27ee-202601141536.0_1768405006879_0.8187355708210413","host":"s3://npm-registry-packages-npm-production"}},"2.25.1-2fd27ee-202601150952.0":{"name":"@flowfuse/nr-launcher","version":"2.25.1-2fd27ee-202601150952.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.25.1-2fd27ee-202601150952.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"55062017378468b85ddbe4f784dfd0ee3346a1c5","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.25.1-2fd27ee-202601150952.0.tgz","fileCount":44,"integrity":"sha512-aKNNWKKryAovk7rNB8hB78Wn3bAYa+gUH8LlwzOmCyEIh5NlhsNPQTxIiNwyj6J1i5p4OH49VrBY0tyB3Op+dA==","signatures":[{"sig":"MEQCIBglgdZtGuIh5BFT60qIvI6i5w4mjC0GwdZsqGZpz6qhAiBIR2SmtOxSkCwlvAHTPYqGdgQX9ZmztNcVzGDpUMdtTQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":623639},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"2fd27ee5e7339fe29f8045b8cd79a7066449c5fa","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.8.1-41404df-202601141535.0","@flowfuse/nr-file-nodes":"0.0.9-b17b767-202601130747.0","@flowfuse/nr-mqtt-nodes":"0.3.1-d11fc55-202601150951.0","@flowfuse/nr-tables-nodes":"0.2.2-dd87c96-202601141125.0","@flowfuse/nr-project-nodes":"0.7.9-4bdb79f-202601121519.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","sqlite3":"^5.1.6","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.25.1-2fd27ee-202601150952.0_1768470764570_0.5863478737772301","host":"s3://npm-registry-packages-npm-production"}},"2.25.1-0a3ba85-202601151038.0":{"name":"@flowfuse/nr-launcher","version":"2.25.1-0a3ba85-202601151038.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.25.1-0a3ba85-202601151038.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"32fe8e2521f0c87ef23b9ef213d4e7edf0228242","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.25.1-0a3ba85-202601151038.0.tgz","fileCount":44,"integrity":"sha512-Z+e9yDFWQRQs5dVPk83PUhkhXY+qEFevYACLBPfSLGmWPG+/h19Ll7wWbdpHjI2ZGvPezED7flz68iJGc1HK8g==","signatures":[{"sig":"MEUCIQD4Zxr4VbkNehkCrkaNvuApikmmnBaeUYkELq5E6gXuMQIgIS7D3YWaJhP3rQ6zxsvR5ATfEt2UQwSy9PJ5Xx8/V34=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":623639},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"0a3ba85f6477074957e02dac52b73444bc35876f","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.8.1-41404df-202601141535.0","@flowfuse/nr-file-nodes":"0.0.9-b17b767-202601130747.0","@flowfuse/nr-mqtt-nodes":"0.3.1-d11fc55-202601150951.0","@flowfuse/nr-tables-nodes":"0.2.2-dd87c96-202601141125.0","@flowfuse/nr-project-nodes":"0.7.9-4bdb79f-202601121519.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","sqlite3":"^5.1.6","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.25.1-0a3ba85-202601151038.0_1768473527356_0.3418988829196845","host":"s3://npm-registry-packages-npm-production"}},"2.26.1-014ba92-202601151043.0":{"name":"@flowfuse/nr-launcher","version":"2.26.1-014ba92-202601151043.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.26.1-014ba92-202601151043.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"63c2972f05782541d282f3f44a08582509af1b62","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.26.1-014ba92-202601151043.0.tgz","fileCount":44,"integrity":"sha512-3kgCEDLLfjWuN/yNzBIsN8e7PHLe5mSAnMlhChFqqYoExTNjxyRNFek26xlABDZ2m+tP8D34o9eCaE7hNqse5Q==","signatures":[{"sig":"MEUCIGrjjNFMuCgZ7VuvPrQbbMfU55vml2jMyiRCaYTmf527AiEA6WId1vZET1q+QYPlR7bHUin7IsUPwNfi4NzCl8kTDtM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":624109},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"014ba9277bb744f0a6f41e23247262961924c89a","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.8.1-41404df-202601141535.0","@flowfuse/nr-file-nodes":"0.0.9-b17b767-202601130747.0","@flowfuse/nr-mqtt-nodes":"0.3.1-d11fc55-202601150951.0","@flowfuse/nr-tables-nodes":"0.2.2-dd87c96-202601141125.0","@flowfuse/nr-project-nodes":"0.7.9-4bdb79f-202601121519.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","sqlite3":"^5.1.6","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.26.1-014ba92-202601151043.0_1768473841707_0.3453671709831285","host":"s3://npm-registry-packages-npm-production"}},"2.26.0":{"name":"@flowfuse/nr-launcher","version":"2.26.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.26.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"53088bd8c0f4daf2c0c2e01da2405bc345ad11cf","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.26.0.tgz","fileCount":44,"integrity":"sha512-aoWYVkTPVa4ynYVgpiiISQ6TvcaprjOxEHy9gU0+hSkI9FXj6h+OYjyKlfzRF3Gx7x7UxKcQXkt368b9GKvpLQ==","signatures":[{"sig":"MEYCIQDeLSyi8+3Ald5W7tsbQcUt8cw756YGKYYm9hDWyiQDvgIhAJKKjal8llk7GhUI82Vry2qTmDRvIyuFZcZzGxh05R78","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":623976},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"014ba9277bb744f0a6f41e23247262961924c89a","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"^0.8.0","@flowfuse/nr-file-nodes":"^0.0.8","@flowfuse/nr-mqtt-nodes":"^0.3.0","@flowfuse/nr-tables-nodes":"^0.2.1","@flowfuse/nr-project-nodes":"^0.7.8","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","sqlite3":"^5.1.6","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.26.0_1768474017307_0.4106714227527086","host":"s3://npm-registry-packages-npm-production"}},"2.26.1-014ba92-202601190653.0":{"name":"@flowfuse/nr-launcher","version":"2.26.1-014ba92-202601190653.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.26.1-014ba92-202601190653.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"709422e7999476347126ace03545d128fd276e04","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.26.1-014ba92-202601190653.0.tgz","fileCount":44,"integrity":"sha512-OrwML2dHBOEGH0+LJVoRL8ORUWR21A8W7UFN7dpyzVgC4kxeSskljBgy1F/N+xHAwdB0iMwngiUzvq/9Gn6zZg==","signatures":[{"sig":"MEUCIEyZ09zxxj4+cBh9NtU/o4RXULbn/eNf/2i3oze1ZTVFAiEA6k1Zhn1DshCV0TddEOKasVlD5CL6XQE9q5h7yTsWW6o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":624109},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"014ba9277bb744f0a6f41e23247262961924c89a","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.8.1-ba0e1e6-202601190652.0","@flowfuse/nr-file-nodes":"0.0.9-b17b767-202601130747.0","@flowfuse/nr-mqtt-nodes":"0.3.1-d11fc55-202601150951.0","@flowfuse/nr-tables-nodes":"0.2.2-dd87c96-202601141125.0","@flowfuse/nr-project-nodes":"0.7.9-4bdb79f-202601121519.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","sqlite3":"^5.1.6","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.26.1-014ba92-202601190653.0_1768805604430_0.17380888504129866","host":"s3://npm-registry-packages-npm-production"}},"2.26.1-014ba92-202601190654.0":{"name":"@flowfuse/nr-launcher","version":"2.26.1-014ba92-202601190654.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.26.1-014ba92-202601190654.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"fa92cbb9e1b2969c2ccecef4ee89987e6ba3d913","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.26.1-014ba92-202601190654.0.tgz","fileCount":44,"integrity":"sha512-28WUhJ0sRanepYL2aHMkFXu1CwJeS2UkupHnL+9d7sonkPR2GF4PZojQDcKeLXC2ClAyf+FRUTA0O38zj9thpA==","signatures":[{"sig":"MEQCIEh2Dubxmt5Hkzzaz6YTi717SHpmLhP0EmCEUS6Ip5V4AiAMWFYyvFh0XeIhinTEvwO2vF+SKy87ZIwPsYKBnsXCZA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":624109},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"014ba9277bb744f0a6f41e23247262961924c89a","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.8.1-ec33944-202601190653.0","@flowfuse/nr-file-nodes":"0.0.9-b17b767-202601130747.0","@flowfuse/nr-mqtt-nodes":"0.3.1-d11fc55-202601150951.0","@flowfuse/nr-tables-nodes":"0.2.2-dd87c96-202601141125.0","@flowfuse/nr-project-nodes":"0.7.9-4bdb79f-202601121519.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","sqlite3":"^5.1.6","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.26.1-014ba92-202601190654.0_1768805692595_0.1149778104097543","host":"s3://npm-registry-packages-npm-production"}},"2.26.1-014ba92-202601191434.0":{"name":"@flowfuse/nr-launcher","version":"2.26.1-014ba92-202601191434.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.26.1-014ba92-202601191434.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"08e7cebe78c6fdc0a95b55fb9ef59171bb2c20e3","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.26.1-014ba92-202601191434.0.tgz","fileCount":44,"integrity":"sha512-LjYTkjWEJPfRu8dSE2H9EbdmfI2dyp6/hshdYngiQmHKBjt5zl2cvtC8ZUzjmMDp1xwIv6sJFutJ+BWTHRQ59Q==","signatures":[{"sig":"MEQCIBeeCoyEbwkKt1Et2OkhRXp8tSh0vWu18j34wfArHQCzAiB2nCbWjFkJ786LXRf9gxCxFUdNdVG4n3jkt+K8pY34nw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":624109},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"014ba9277bb744f0a6f41e23247262961924c89a","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.8.1-ec33944-202601190653.0","@flowfuse/nr-file-nodes":"0.0.9-b17b767-202601130747.0","@flowfuse/nr-mqtt-nodes":"0.3.1-d11fc55-202601150951.0","@flowfuse/nr-tables-nodes":"0.2.2-dd87c96-202601141125.0","@flowfuse/nr-project-nodes":"0.7.9-98b27be-202601191434.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","sqlite3":"^5.1.6","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.26.1-014ba92-202601191434.0_1768833267877_0.9211818484361038","host":"s3://npm-registry-packages-npm-production"}},"2.26.1-014ba92-202601192005.0":{"name":"@flowfuse/nr-launcher","version":"2.26.1-014ba92-202601192005.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.26.1-014ba92-202601192005.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"413f54faefac9aa3db89e8aeaa603e3c120f1a39","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.26.1-014ba92-202601192005.0.tgz","fileCount":44,"integrity":"sha512-xAewcNMP4w8FPEFv+aFwsYBuKvDAmQKrGLFNKvSdHwOafTdhplTWcrnpaCC/9yxRH6ewnLzc3wFKaumDJIZOqg==","signatures":[{"sig":"MEUCIQCZICxkHxieRsi82MojDf5EYcD19M9hdLGelAd9w/vfGwIgJl88xLh3FlsbTW6q0ZQnGOo4duGFlSMSZRwroCjqi74=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":624109},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"014ba9277bb744f0a6f41e23247262961924c89a","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.8.1-ec33944-202601190653.0","@flowfuse/nr-file-nodes":"0.0.9-9b7d545-202601192004.0","@flowfuse/nr-mqtt-nodes":"0.3.1-d11fc55-202601150951.0","@flowfuse/nr-tables-nodes":"0.2.2-dd87c96-202601141125.0","@flowfuse/nr-project-nodes":"0.7.9-98b27be-202601191434.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","sqlite3":"^5.1.6","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.26.1-014ba92-202601192005.0_1768853132200_0.28938506007387477","host":"s3://npm-registry-packages-npm-production"}},"2.26.1-014ba92-202601200803.0":{"name":"@flowfuse/nr-launcher","version":"2.26.1-014ba92-202601200803.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.26.1-014ba92-202601200803.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"bcf5f8659445dbc2366b59eab5b470ff58cd8c65","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.26.1-014ba92-202601200803.0.tgz","fileCount":44,"integrity":"sha512-Ip38LCe6IFaQ6dzUW4LpJnQfPAMKxpxa8K/T6O8vVVwxDn1w61kH54F3pfvUJbycizqhbDnLGRinTw8wx3dmXg==","signatures":[{"sig":"MEYCIQDuLYhueCmm0/ARkV4G1lphXOEqWfyFQmbUtx2M25mrjgIhAPCbc2ytnBQpafXgqLnBqCGsGwevLP4SQW91V0JzvwfV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":624109},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"014ba9277bb744f0a6f41e23247262961924c89a","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.8.1-ec33944-202601190653.0","@flowfuse/nr-file-nodes":"0.0.9-0b7892a-202601200803.0","@flowfuse/nr-mqtt-nodes":"0.3.1-d11fc55-202601150951.0","@flowfuse/nr-tables-nodes":"0.2.2-dd87c96-202601141125.0","@flowfuse/nr-project-nodes":"0.7.9-98b27be-202601191434.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","sqlite3":"^5.1.6","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.26.1-014ba92-202601200803.0_1768896237752_0.8536248661652273","host":"s3://npm-registry-packages-npm-production"}},"2.26.1-e7239e0-202601200804.0":{"name":"@flowfuse/nr-launcher","version":"2.26.1-e7239e0-202601200804.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.26.1-e7239e0-202601200804.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"5b1f2c4bafc796534087dadc807fd08703f3aea4","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.26.1-e7239e0-202601200804.0.tgz","fileCount":44,"integrity":"sha512-5BAcMq3oJbTI2NcnZJaOPW7uAuNMDeUNjhkM7rQLZZ0dQJwB6IGMS8+OeRBIUcjnohMeOBrT3a2dCc6WhqXS9g==","signatures":[{"sig":"MEUCIQDxKpT2RMEWweZzNOnxAdBXKDd9Q8EOlZyEcRMHjoZjQgIgJnKzJ/lhgEp3t5kqhdi24xKaMDwtuE4h39FNfjnYVss=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":624109},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"e7239e05a12c9572d34920a24fd336e48040d913","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.8.1-ec33944-202601190653.0","@flowfuse/nr-file-nodes":"0.0.9-0b7892a-202601200803.0","@flowfuse/nr-mqtt-nodes":"0.3.1-d11fc55-202601150951.0","@flowfuse/nr-tables-nodes":"0.2.2-dd87c96-202601141125.0","@flowfuse/nr-project-nodes":"0.7.9-98b27be-202601191434.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","sqlite3":"^5.1.6","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.26.1-e7239e0-202601200804.0_1768896271179_0.4274063777490418","host":"s3://npm-registry-packages-npm-production"}},"2.26.1-8078ad1-202601200804.0":{"name":"@flowfuse/nr-launcher","version":"2.26.1-8078ad1-202601200804.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.26.1-8078ad1-202601200804.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"bc2f48aa9d8e2fd62fa329c237697eb8b515195f","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.26.1-8078ad1-202601200804.0.tgz","fileCount":44,"integrity":"sha512-D0zi5bfLsBXEzvVwI/LsfbFeVWIuvfKvUVCY6qRpPNvCg3qR7anX55PNaivnKWoKv3LxnQZNiR4jFuYi8ReUVA==","signatures":[{"sig":"MEUCIQCOYMqX9zyIIowzrqYS4s9OK96HBu6/IejThEzyQgMWjAIgQExbE6TpkZalhCbeh+HRfO2a48tNv0It5lLsMhNivwM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":624109},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"8078ad1fd357d9cf58296f143fbabe394aa788df","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.8.1-ec33944-202601190653.0","@flowfuse/nr-file-nodes":"0.0.9-0b7892a-202601200803.0","@flowfuse/nr-mqtt-nodes":"0.3.1-d11fc55-202601150951.0","@flowfuse/nr-tables-nodes":"0.2.2-dd87c96-202601141125.0","@flowfuse/nr-project-nodes":"0.7.9-98b27be-202601191434.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","sqlite3":"^5.1.6","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.26.1-8078ad1-202601200804.0_1768896292389_0.19015732411241348","host":"s3://npm-registry-packages-npm-production"}},"2.26.1-8078ad1-202601200805.0":{"name":"@flowfuse/nr-launcher","version":"2.26.1-8078ad1-202601200805.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.26.1-8078ad1-202601200805.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"b81ed46e3c1e4c98bd7b4323ee7a43d9e41e4d87","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.26.1-8078ad1-202601200805.0.tgz","fileCount":44,"integrity":"sha512-A+tfv6RsykLtj+X5ZPdcOXTH7nrzwIKLXYJQR9yqrNP1cYO44xLASxa3uYTplIHn43T6JHAhyIvMXWcNzZG/Lw==","signatures":[{"sig":"MEQCIGq6/7BPWUWtMx64zU1jgXEphJ9p+mq5tdi5Tsr7xjSyAiBvROX5CBAay0gYA/leTJnXxOLKbR0RasYnxRcShGoJng==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":624109},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"8078ad1fd357d9cf58296f143fbabe394aa788df","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.8.1-ec33944-202601190653.0","@flowfuse/nr-file-nodes":"0.0.9-0b7892a-202601200803.0","@flowfuse/nr-mqtt-nodes":"0.3.1-d11fc55-202601150951.0","@flowfuse/nr-tables-nodes":"0.2.2-dd87c96-202601141125.0","@flowfuse/nr-project-nodes":"0.7.9-98b27be-202601191434.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","sqlite3":"^5.1.6","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.26.1-8078ad1-202601200805.0_1768896313204_0.5120087315980968","host":"s3://npm-registry-packages-npm-production"}},"2.26.1-8078ad1-202601221338.0":{"name":"@flowfuse/nr-launcher","version":"2.26.1-8078ad1-202601221338.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.26.1-8078ad1-202601221338.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"7fed7aeb1b0d9eec189ca8c4f8a27e1ca4ddcd2c","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.26.1-8078ad1-202601221338.0.tgz","fileCount":44,"integrity":"sha512-gRQdq9JGMfCIG15cK+6n4/amzjizPNXZsc8fETRs0uggIAWZfguQxkrCJclp1fky6SGM/wx282IT7xjn77hKzw==","signatures":[{"sig":"MEUCIQDFKvgHLLq5eFPhZObndnmhUUNOoLN2YDD7siFV+2T5/gIgShoCjxKJyBLbCCDl8dfo5Ehz87sxahcAA5rWy5tHfI8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":624109},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"8078ad1fd357d9cf58296f143fbabe394aa788df","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.8.1-ec33944-202601190653.0","@flowfuse/nr-file-nodes":"0.0.9-0e84177-202601221337.0","@flowfuse/nr-mqtt-nodes":"0.3.1-d11fc55-202601150951.0","@flowfuse/nr-tables-nodes":"0.2.2-dd87c96-202601141125.0","@flowfuse/nr-project-nodes":"0.7.9-1e38100-202601221337.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","sqlite3":"^5.1.6","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.26.1-8078ad1-202601221338.0_1769089103446_0.11679931568354718","host":"s3://npm-registry-packages-npm-production"}},"2.26.1-be44012-202601221339.0":{"name":"@flowfuse/nr-launcher","version":"2.26.1-be44012-202601221339.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.26.1-be44012-202601221339.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"1986480d7dd78cb31cf262d12c35554670d3b1c1","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.26.1-be44012-202601221339.0.tgz","fileCount":44,"integrity":"sha512-3+po6Px8LyN/oFYfdItMRCEqkooOxc+rOHNxoybFhkCcQHafT+VrgJXgnf8cu0OZ/chb0/3p8hb83D6isvjhVQ==","signatures":[{"sig":"MEYCIQCGksyhnU2OjuW8pXr8F3n8E4GhouJfJPOvoeDkGB9ZsAIhANuOw82AxkN3jdiuWDL/9MlzuqahOlWJnJUVgP74u4S/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":624109},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"be440121309c7206eb8402827e53e0b923772b65","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.8.1-317b279-202601221339.0","@flowfuse/nr-file-nodes":"0.0.9-0e84177-202601221337.0","@flowfuse/nr-mqtt-nodes":"0.3.1-d11fc55-202601150951.0","@flowfuse/nr-tables-nodes":"0.2.2-dd87c96-202601141125.0","@flowfuse/nr-project-nodes":"0.7.9-1e38100-202601221337.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","sqlite3":"^5.1.6","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.26.1-be44012-202601221339.0_1769089176435_0.2516044262301076","host":"s3://npm-registry-packages-npm-production"}},"2.26.1-be44012-202601221340.0":{"name":"@flowfuse/nr-launcher","version":"2.26.1-be44012-202601221340.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.26.1-be44012-202601221340.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"74a5bbc24cbca6f160421e7ca680a94538a3410d","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.26.1-be44012-202601221340.0.tgz","fileCount":44,"integrity":"sha512-LC05jawmO4VE6cSbLUeYjrl3Hm1C1atey3FD5ubg34QuzvOnfpY52ZTh4Gto+KlEUvAnxwocaIIkh3PDFlmZEw==","signatures":[{"sig":"MEYCIQDI8vOMB3ML2sOPW+JqubQAV7QQBDlwdA1EscLpteLj5wIhAJoYqFgnXOzC06zYQHdc+1PfH77UuFkjKCswruyLc4pA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":624109},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"be440121309c7206eb8402827e53e0b923772b65","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.19.6","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.8.1-317b279-202601221339.0","@flowfuse/nr-file-nodes":"0.0.9-0e84177-202601221337.0","@flowfuse/nr-mqtt-nodes":"0.3.1-d11fc55-202601150951.0","@flowfuse/nr-tables-nodes":"0.2.2-dd87c96-202601141125.0","@flowfuse/nr-project-nodes":"0.7.9-1e38100-202601221337.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","sqlite3":"^5.1.6","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.26.1-be44012-202601221340.0_1769089210541_0.11814854493044491","host":"s3://npm-registry-packages-npm-production"}},"2.26.1-be44012-202601230816.0":{"name":"@flowfuse/nr-launcher","version":"2.26.1-be44012-202601230816.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.26.1-be44012-202601230816.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"af7ad3314b4994bece4e5183cd6274bf17c1b19c","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.26.1-be44012-202601230816.0.tgz","fileCount":44,"integrity":"sha512-oU0LctCFfB5Z+ri/K2jm+kYVgZJbmOfuH/sv48151Ni1++zzzuLj/fL6uf4icICh69YXgo6Ua5faXl2tQlx1RQ==","signatures":[{"sig":"MEUCIQCym7+npK5ACZwdSlhE1BHHGgNJHWN1TWB5IsIA4UKc9gIgeDg39zjA9xl193bwt5kA0gurJZun0DMWONUTnM+VJPc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":624109},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"be440121309c7206eb8402827e53e0b923772b65","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.8.1-8f07517-202601230815.0","@flowfuse/nr-file-nodes":"0.0.9-0e84177-202601221337.0","@flowfuse/nr-mqtt-nodes":"0.3.1-d11fc55-202601150951.0","@flowfuse/nr-tables-nodes":"0.2.2-dd87c96-202601141125.0","@flowfuse/nr-project-nodes":"0.7.9-1e38100-202601221337.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","sqlite3":"^5.1.6","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.26.1-be44012-202601230816.0_1769156209464_0.7865486418123646","host":"s3://npm-registry-packages-npm-production"}},"2.26.1-be44012-202601241142.0":{"name":"@flowfuse/nr-launcher","version":"2.26.1-be44012-202601241142.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.26.1-be44012-202601241142.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"98ce36e62966ab41c6767ac590361e2c5d0da84c","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.26.1-be44012-202601241142.0.tgz","fileCount":44,"integrity":"sha512-mhuUWdArJ/LrinUbeCcx9oU2ZE9JkGGYPX4ddEBsHS4+D2Tp7ISqxBktyq51jgjckI6rDHQiCAuPT55ZW8pcWA==","signatures":[{"sig":"MEUCIQCh/or/4WHJhk0zHcDy+rcyHCe8bjOOmBEpqNqK1A1U/AIgQC42bdkIzrn96evgvgrYyaLuct8ixXM3vIYHq4NadQQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":624109},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"be440121309c7206eb8402827e53e0b923772b65","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.9.1-3d6ba44-202601241141.0","@flowfuse/nr-file-nodes":"0.0.9-0e84177-202601221337.0","@flowfuse/nr-mqtt-nodes":"0.3.1-d11fc55-202601150951.0","@flowfuse/nr-tables-nodes":"0.2.2-dd87c96-202601141125.0","@flowfuse/nr-project-nodes":"0.7.9-1e38100-202601221337.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","sqlite3":"^5.1.6","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.26.1-be44012-202601241142.0_1769254939153_0.5702264708800597","host":"s3://npm-registry-packages-npm-production"}},"2.26.1-be44012-202601260750.0":{"name":"@flowfuse/nr-launcher","version":"2.26.1-be44012-202601260750.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.26.1-be44012-202601260750.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"287a48ede79dda668a312be2264343c6f4b155b4","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.26.1-be44012-202601260750.0.tgz","fileCount":44,"integrity":"sha512-KTnq48v20ZTyQduHxkfY7hyvA7UhI1wYgdSE6Nqe5X6AB9zGrPQIMPMyYWR/dFeXhFIScF1gtAXUlASqAD7cOA==","signatures":[{"sig":"MEUCIGpd1OO1OkAmo30fMTp8tf11b4sFCfUZiQXGJ1TNpMsdAiEArwvzd5ODyP1js7L4MKW6w267xaXMez6WyxAmo2EbBMo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":624109},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"be440121309c7206eb8402827e53e0b923772b65","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.9.1-56ed257-202601260750.0","@flowfuse/nr-file-nodes":"0.0.9-0e84177-202601221337.0","@flowfuse/nr-mqtt-nodes":"0.3.1-d11fc55-202601150951.0","@flowfuse/nr-tables-nodes":"0.2.2-dd87c96-202601141125.0","@flowfuse/nr-project-nodes":"0.7.9-1e38100-202601221337.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","sqlite3":"^5.1.6","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.26.1-be44012-202601260750.0_1769413827548_0.05423591718334464","host":"s3://npm-registry-packages-npm-production"}},"2.26.1-be44012-202601260751.0":{"name":"@flowfuse/nr-launcher","version":"2.26.1-be44012-202601260751.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.26.1-be44012-202601260751.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"c9f537da67287f1397fd427e1cd3341d9bfd5d55","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.26.1-be44012-202601260751.0.tgz","fileCount":44,"integrity":"sha512-Xc8qS1T68gMoGjYNfeg5jTm5XAdUWTwKGiivhlIGCLfqlHbW/llU3TG5oyXh26c1KYI0TfpF+abqZgtLFdOstQ==","signatures":[{"sig":"MEYCIQCZFVQ9cZ/+JCaJcK2dD+yfRS5Ff5VJ8KzwSDvozPsJdAIhAI0yz4M5Mi/b3B3geguhuZMXT0wNnlQEUdvWpAVQpc7S","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":624109},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"be440121309c7206eb8402827e53e0b923772b65","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.9.1-589f1df-202601260750.0","@flowfuse/nr-file-nodes":"0.0.9-0e84177-202601221337.0","@flowfuse/nr-mqtt-nodes":"0.3.1-d11fc55-202601150951.0","@flowfuse/nr-tables-nodes":"0.2.2-dd87c96-202601141125.0","@flowfuse/nr-project-nodes":"0.7.9-1e38100-202601221337.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","sqlite3":"^5.1.6","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.26.1-be44012-202601260751.0_1769413887605_0.011849574746521485","host":"s3://npm-registry-packages-npm-production"}},"2.26.1-be44012-202601260752.0":{"name":"@flowfuse/nr-launcher","version":"2.26.1-be44012-202601260752.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.26.1-be44012-202601260752.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"c55f7d701e3d30a193c7ec50783105d0b76745f3","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.26.1-be44012-202601260752.0.tgz","fileCount":44,"integrity":"sha512-xa7+ZoXl7hVIcSfTEGGS9B3OZVXflElaKj1HM1BtY/vL9jeVjs4kzR6ZPcoJpgfA8cLYZH3+JLM0WihpaP0jlA==","signatures":[{"sig":"MEUCIQDz8gYDBMd2DowzJ1FpPxufd+wbI7oMspvw0aQyllMKCwIgfpK4dXrQtPQpVpmRS8aIzOAmETPiwiNIQNXXfixykUQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":624109},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"be440121309c7206eb8402827e53e0b923772b65","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.9.1-c99f7d4-202601260751.0","@flowfuse/nr-file-nodes":"0.0.9-0e84177-202601221337.0","@flowfuse/nr-mqtt-nodes":"0.3.1-d11fc55-202601150951.0","@flowfuse/nr-tables-nodes":"0.2.2-dd87c96-202601141125.0","@flowfuse/nr-project-nodes":"0.7.9-1e38100-202601221337.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","sqlite3":"^5.1.6","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.26.1-be44012-202601260752.0_1769413978263_0.06112194431962337","host":"s3://npm-registry-packages-npm-production"}},"2.26.1-be44012-202601261059.0":{"name":"@flowfuse/nr-launcher","version":"2.26.1-be44012-202601261059.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.26.1-be44012-202601261059.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"443521925c277f6fe6b078eef2e272aa1bec785a","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.26.1-be44012-202601261059.0.tgz","fileCount":44,"integrity":"sha512-KEw6NnXkiJ3jbqRfb10d5/dlLKrVLET6sorGfjyEvEOhmxQM6D+hK4Aq82wBY1vy6xWxNxStCW4Kg2VQMattWQ==","signatures":[{"sig":"MEUCIQDo20UKBXiVoFQ+Mi3p3ffmrPE9fptaGRbNEvVNs81AJwIgFzas5TaHvFRsw4B9hOALW6we7QnkygP2rt75ydCCNn0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":624109},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"be440121309c7206eb8402827e53e0b923772b65","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.9.1-c99f7d4-202601260751.0","@flowfuse/nr-file-nodes":"0.0.9-0e84177-202601221337.0","@flowfuse/nr-mqtt-nodes":"0.3.1-667638f-202601261058.0","@flowfuse/nr-tables-nodes":"0.2.2-dd87c96-202601141125.0","@flowfuse/nr-project-nodes":"0.7.9-1e38100-202601221337.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","sqlite3":"^5.1.6","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.26.1-be44012-202601261059.0_1769425153759_0.09229571483649379","host":"s3://npm-registry-packages-npm-production"}},"2.26.1-be44012-202601261101.0":{"name":"@flowfuse/nr-launcher","version":"2.26.1-be44012-202601261101.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.26.1-be44012-202601261101.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"57db6b843a31900db0f3b027756c357ac86e13f6","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.26.1-be44012-202601261101.0.tgz","fileCount":44,"integrity":"sha512-pKwfe16q0Tu3VmOlE2apjwUCkfWvpZr23cuwHTPn3MUi1qyiz5PPTDJionrhyjwbWZ7pVDEdhvsq6Y+ha9CNcQ==","signatures":[{"sig":"MEUCIQDnB8oBABoaLe5xoSiYayKCZTHeuXt4TCCWqWt0fveOYAIgILZhDOVSNEHP7PX//FrGeCDwyy+rWdALYYfUokTopYA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":624109},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"be440121309c7206eb8402827e53e0b923772b65","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.9.1-c99f7d4-202601260751.0","@flowfuse/nr-file-nodes":"0.0.9-0e84177-202601221337.0","@flowfuse/nr-mqtt-nodes":"0.3.1-08fbff7-202601261100.0","@flowfuse/nr-tables-nodes":"0.2.2-dd87c96-202601141125.0","@flowfuse/nr-project-nodes":"0.7.9-1e38100-202601221337.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","sqlite3":"^5.1.6","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.26.1-be44012-202601261101.0_1769425300266_0.3654548917430527","host":"s3://npm-registry-packages-npm-production"}},"2.26.1-be44012-202601261103.0":{"name":"@flowfuse/nr-launcher","version":"2.26.1-be44012-202601261103.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.26.1-be44012-202601261103.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"58376e23e7c0d7e520b03d40fa0003fc3526628f","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.26.1-be44012-202601261103.0.tgz","fileCount":44,"integrity":"sha512-f2cJTi6gkbYkRh1PhmQoTl1an2JHkcq+yHOAGKf/q3kwH1js992XEKWU9/yN9aonNw0mhsKICfARcMu2DXn8cw==","signatures":[{"sig":"MEUCIQCfN5y8rifZltG6lBVv7zPFXREYopdDAZ7yzouQXX+kwQIgLrfYbXuTpjubcWRtiIm7FypbwaWCccq+QHP1Lme7T+A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":624109},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"be440121309c7206eb8402827e53e0b923772b65","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.9.1-c99f7d4-202601260751.0","@flowfuse/nr-file-nodes":"0.0.9-c3899c0-202601261102.0","@flowfuse/nr-mqtt-nodes":"0.3.1-08fbff7-202601261100.0","@flowfuse/nr-tables-nodes":"0.2.2-dd87c96-202601141125.0","@flowfuse/nr-project-nodes":"0.7.9-1e38100-202601221337.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","sqlite3":"^5.1.6","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.26.1-be44012-202601261103.0_1769425422752_0.8843351584742387","host":"s3://npm-registry-packages-npm-production"}},"2.26.1-7de0415-202601261118.0":{"name":"@flowfuse/nr-launcher","version":"2.26.1-7de0415-202601261118.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.26.1-7de0415-202601261118.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"58160bf296cedc2474032e9caf259b7917ada96a","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.26.1-7de0415-202601261118.0.tgz","fileCount":44,"integrity":"sha512-P9Y/Ty++e8d5RVRWX/2/nKJV0GKu5ROcvU3oTFexJcNSBF+Q9+lJTtKRHsZS6zsJMy3RAq2O4pggg0jaQvk97w==","signatures":[{"sig":"MEUCIDXnWk3rQurVJkfwzC0DIISG4DYFkH2Ufnsga8BQEKtLAiEAkToW3MtbsZ+J4YtixUnwPutaskR0yQvA3GBBYvemN4I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":624109},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"7de041554ea2bd4975890e320f8bd4ebac1140e0","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.9.1-c99f7d4-202601260751.0","@flowfuse/nr-file-nodes":"0.0.9-c3899c0-202601261102.0","@flowfuse/nr-mqtt-nodes":"0.3.1-08fbff7-202601261100.0","@flowfuse/nr-tables-nodes":"0.2.2-dd87c96-202601141125.0","@flowfuse/nr-project-nodes":"0.7.9-1e38100-202601221337.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","sqlite3":"^5.1.6","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.26.1-7de0415-202601261118.0_1769426301701_0.82157826874988","host":"s3://npm-registry-packages-npm-production"}},"2.26.1-7de0415-202601261136.0":{"name":"@flowfuse/nr-launcher","version":"2.26.1-7de0415-202601261136.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.26.1-7de0415-202601261136.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"da6e1d866320ea89d820c05646ca57784da2eca1","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.26.1-7de0415-202601261136.0.tgz","fileCount":44,"integrity":"sha512-D3motwK6cWy7a+Z8d7BQtjZHsnvGoO2/UiZF2FcknV2EKLuCbTRyW+p2OXjWJTlNmCIS5ZkFMMad1Ja/ymMbBQ==","signatures":[{"sig":"MEUCIEkbafwG+xBfL5YD2mBesc0DttxJFyt0UpqufMRvbCFKAiEAzHVk8Csjgj+VzZqlFikepgiec5/fsUIoEEnndhRbDdg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":624109},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"7de041554ea2bd4975890e320f8bd4ebac1140e0","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.9.1-c99f7d4-202601260751.0","@flowfuse/nr-file-nodes":"0.0.9-e3add8d-202601261135.0","@flowfuse/nr-mqtt-nodes":"0.3.1-08fbff7-202601261100.0","@flowfuse/nr-tables-nodes":"0.2.2-dd87c96-202601141125.0","@flowfuse/nr-project-nodes":"0.7.9-1e38100-202601221337.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","sqlite3":"^5.1.6","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.26.1-7de0415-202601261136.0_1769427403981_0.9678389893767367","host":"s3://npm-registry-packages-npm-production"}},"2.26.1-af4a9bc-202601261146.0":{"name":"@flowfuse/nr-launcher","version":"2.26.1-af4a9bc-202601261146.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.26.1-af4a9bc-202601261146.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"bf2e7861e11e059cb3b8a2139991cad0ec954b0f","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.26.1-af4a9bc-202601261146.0.tgz","fileCount":44,"integrity":"sha512-PHIPIXmsEAKHuPG8EDV/uD223SHTeZ55Kj7EedNTJNdjR236L+WcjHF2FG9cBUlw+2qEufkIkVl2O2jDQvvpyA==","signatures":[{"sig":"MEUCIQC7sRcPEUW9jM6tkVAiilItPj/2/j48MBmThHPdu0PiEgIgUuY6Xdb7Lj6NEdosp26C6shwAUSVm9FXykBTwo7Z68o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":624109},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"af4a9bc94070d24c57c564c40a06a4f01a48025b","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.9.1-c99f7d4-202601260751.0","@flowfuse/nr-file-nodes":"0.0.9-e3add8d-202601261135.0","@flowfuse/nr-mqtt-nodes":"0.3.1-08fbff7-202601261100.0","@flowfuse/nr-tables-nodes":"0.2.2-dd87c96-202601141125.0","@flowfuse/nr-project-nodes":"0.7.9-1e38100-202601221337.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","sqlite3":"^5.1.6","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.26.1-af4a9bc-202601261146.0_1769427980648_0.8156756042397766","host":"s3://npm-registry-packages-npm-production"}},"2.26.1-af4a9bc-202601261154.0":{"name":"@flowfuse/nr-launcher","version":"2.26.1-af4a9bc-202601261154.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.26.1-af4a9bc-202601261154.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"e829c67a98c1a04318d452163f5215078cef8c9e","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.26.1-af4a9bc-202601261154.0.tgz","fileCount":44,"integrity":"sha512-HRrInwNlMPioDckZv6XTB4t+bSf9WAmJFZvWkt4R5uBDqWUPDgVac5dAhxW+BSAfYiW2HaE0HDUXxEd0yCVjKg==","signatures":[{"sig":"MEQCIB4Jnk+7ZpdgbtEmxVq09zj4DO2YpLRvCMrwui9BSX52AiApswmRhDXlk5RCUZcSN+U5mRfanrJXsyuUnsE1fCbkEg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":624109},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"af4a9bc94070d24c57c564c40a06a4f01a48025b","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.9.1-c99f7d4-202601260751.0","@flowfuse/nr-file-nodes":"0.0.9-e3add8d-202601261135.0","@flowfuse/nr-mqtt-nodes":"0.3.1-08fbff7-202601261100.0","@flowfuse/nr-tables-nodes":"0.2.2-dd87c96-202601141125.0","@flowfuse/nr-project-nodes":"0.7.9-052b578-202601261153.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","sqlite3":"^5.1.6","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.26.1-af4a9bc-202601261154.0_1769428469809_0.892200316325622","host":"s3://npm-registry-packages-npm-production"}},"2.26.1-af4a9bc-202601261157.0":{"name":"@flowfuse/nr-launcher","version":"2.26.1-af4a9bc-202601261157.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.26.1-af4a9bc-202601261157.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"082dceb13949e0f98c80955cdd6a4dd68e8abe4b","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.26.1-af4a9bc-202601261157.0.tgz","fileCount":44,"integrity":"sha512-DkLE6iCDKLaCoPSA/eJZ1uThI9s6jawt8ruCRclOjw/nHmOr9CVIrD4NemMWOy/1gA0DFPNcditpMmygFN+lyw==","signatures":[{"sig":"MEUCIHRM4q/Ky464d6maoTxXtKRXxSwDF8JwQxIgwWU8h8+XAiEAve5nHkYT9n2moKqB9z9lvxY2cuaAAjOKBSdxig7djvk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":624109},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"af4a9bc94070d24c57c564c40a06a4f01a48025b","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.9.1-e4227a3-202601261157.0","@flowfuse/nr-file-nodes":"0.0.9-e3add8d-202601261135.0","@flowfuse/nr-mqtt-nodes":"0.3.1-08fbff7-202601261100.0","@flowfuse/nr-tables-nodes":"0.2.2-dd87c96-202601141125.0","@flowfuse/nr-project-nodes":"0.7.9-b973461-202601261157.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","sqlite3":"^5.1.6","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.26.1-af4a9bc-202601261157.0_1769428675050_0.7254758954383509","host":"s3://npm-registry-packages-npm-production"}},"2.26.1-af4a9bc-202601261158.0":{"name":"@flowfuse/nr-launcher","version":"2.26.1-af4a9bc-202601261158.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.26.1-af4a9bc-202601261158.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"12bd4b23ed0cc33f0f475462c5929061d7eab8ba","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.26.1-af4a9bc-202601261158.0.tgz","fileCount":44,"integrity":"sha512-PPXPS6betagXF7XULfdYc9+bxF2maxjiYo0wqvax21IuOGAIdpD8ta7+/x5Ux0BYP+KfNje/BRYuG3yvE5vH2Q==","signatures":[{"sig":"MEUCIQCF0FGErjx9bWMtoykBZSqrMTDXTxAj7wBulSvQUQBLlwIgEyXoTM+QU8A4HqyfK+kyyX2BnxcMVbJPDpa67o7F8G0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":624109},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"af4a9bc94070d24c57c564c40a06a4f01a48025b","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.9.1-e4227a3-202601261157.0","@flowfuse/nr-file-nodes":"0.0.9-e3add8d-202601261135.0","@flowfuse/nr-mqtt-nodes":"0.3.1-08fbff7-202601261100.0","@flowfuse/nr-tables-nodes":"0.2.2-dd87c96-202601141125.0","@flowfuse/nr-project-nodes":"0.7.9-b973461-202601261157.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","sqlite3":"^5.1.6","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.26.1-af4a9bc-202601261158.0_1769428708405_0.7051796135134261","host":"s3://npm-registry-packages-npm-production"}},"2.26.1-af4a9bc-202601261321.0":{"name":"@flowfuse/nr-launcher","version":"2.26.1-af4a9bc-202601261321.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.26.1-af4a9bc-202601261321.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"2c98b1bb512c2fc686875cdbd996e9af369061fa","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.26.1-af4a9bc-202601261321.0.tgz","fileCount":44,"integrity":"sha512-gxV8zyj2DHt5+dcAX4AvajwKFmyle75HxDEVICg7ABHSvdl3XRypjU5LbUWmpU9r4KGHOOHMrSg/lGwMuvmebA==","signatures":[{"sig":"MEYCIQDljXRItkKb1Y0re0CXIoLnKEQteGaX5ypLrME6th7qoAIhAN6DDAIVkyY0iL+p/ybMidSl8DF9Z+fA45Ei1e+ZVoBt","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":624109},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"af4a9bc94070d24c57c564c40a06a4f01a48025b","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.9.1-e4227a3-202601261157.0","@flowfuse/nr-file-nodes":"0.0.9-e3add8d-202601261135.0","@flowfuse/nr-mqtt-nodes":"0.3.1-08fbff7-202601261100.0","@flowfuse/nr-tables-nodes":"0.2.2-dd87c96-202601141125.0","@flowfuse/nr-project-nodes":"0.7.9-b234a43-202601261320.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","sqlite3":"^5.1.6","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.26.1-af4a9bc-202601261321.0_1769433708040_0.5596684642795293","host":"s3://npm-registry-packages-npm-production"}},"2.26.1-af4a9bc-202601261323.0":{"name":"@flowfuse/nr-launcher","version":"2.26.1-af4a9bc-202601261323.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.26.1-af4a9bc-202601261323.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"999a573f8369a49e994b0d8b9ab9799d95a6b4e1","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.26.1-af4a9bc-202601261323.0.tgz","fileCount":44,"integrity":"sha512-EpaBXUYDM6qYjY0gJfEcQM4l33DGNfn2Jote2BF4gpM+HdbLTozmWWngtygsWutb9al93SfG6Xg+TXlwMuC7bQ==","signatures":[{"sig":"MEUCIAZM+S8vHhneSx0tQhZsol63uYh/qkmaW2rtpsadi7CYAiEAzY78A11cNL9LvB/BTSoxZpPDSVNldhcogZX8wzhqCZw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":624109},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"af4a9bc94070d24c57c564c40a06a4f01a48025b","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.9.1-e4227a3-202601261157.0","@flowfuse/nr-file-nodes":"0.0.9-e3add8d-202601261135.0","@flowfuse/nr-mqtt-nodes":"0.3.1-08fbff7-202601261100.0","@flowfuse/nr-tables-nodes":"0.2.2-dd87c96-202601141125.0","@flowfuse/nr-project-nodes":"0.7.9-bed14ce-202601261323.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","sqlite3":"^5.1.6","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.26.1-af4a9bc-202601261323.0_1769433826048_0.19099110547692755","host":"s3://npm-registry-packages-npm-production"}},"2.26.1-af4a9bc-202601261626.0":{"name":"@flowfuse/nr-launcher","version":"2.26.1-af4a9bc-202601261626.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.26.1-af4a9bc-202601261626.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"e2ebd57b7377a343d18a3bc3862f2db00b3c898c","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.26.1-af4a9bc-202601261626.0.tgz","fileCount":44,"integrity":"sha512-JZ9GvckLF3ZYAR3l0sb5cOLRlDjusvIeGT/ObWFpLGJxq+e4Cb2zkmF2iCDooolpkSip72o2xcJw7qe4PB1+5Q==","signatures":[{"sig":"MEUCIQCR17dO9BW2V5WkGAx0ykGq0CtwqyqnpehXPs0R19wDewIgUo5YV8JnCVhC7jpL2l9z0D1nVEP0QX1aPqPbBAwcmkw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":624109},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"af4a9bc94070d24c57c564c40a06a4f01a48025b","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.9.1-e4227a3-202601261157.0","@flowfuse/nr-file-nodes":"0.0.9-0dba341-202601261625.0","@flowfuse/nr-mqtt-nodes":"0.3.1-08fbff7-202601261100.0","@flowfuse/nr-tables-nodes":"0.2.2-dd87c96-202601141125.0","@flowfuse/nr-project-nodes":"0.7.9-bed14ce-202601261323.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","sqlite3":"^5.1.6","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.26.1-af4a9bc-202601261626.0_1769444798659_0.7014061672972984","host":"s3://npm-registry-packages-npm-production"}},"2.26.1-af4a9bc-202601261627.0":{"name":"@flowfuse/nr-launcher","version":"2.26.1-af4a9bc-202601261627.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.26.1-af4a9bc-202601261627.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"707a6671a73d5ae6a3f35c1863a3aa0df8ff7757","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.26.1-af4a9bc-202601261627.0.tgz","fileCount":44,"integrity":"sha512-nhyOHKCxzbi7uzXCuGQtgU3biZkOXY/tVgbUJIO6W3yv3AAI24KOdT9A8z/p25hTCBtiMh9OEoNbQFeYhOd3lw==","signatures":[{"sig":"MEQCIAlLN3hS0pwnXBF2W0p7KqJNpSv+aaB0p1rAbV2Xy1xVAiB1ZJy8A2fBNaEzmbmCWoSplP5blQHWPi5ffJ0+vMve4Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":624109},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"af4a9bc94070d24c57c564c40a06a4f01a48025b","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.9.1-e4227a3-202601261157.0","@flowfuse/nr-file-nodes":"0.0.9-2605674-202601261626.0","@flowfuse/nr-mqtt-nodes":"0.3.1-08fbff7-202601261100.0","@flowfuse/nr-tables-nodes":"0.2.2-dd87c96-202601141125.0","@flowfuse/nr-project-nodes":"0.7.9-bed14ce-202601261323.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","sqlite3":"^5.1.6","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.26.1-af4a9bc-202601261627.0_1769444839274_0.2909429492849951","host":"s3://npm-registry-packages-npm-production"}},"2.26.1-af4a9bc-202601261640.0":{"name":"@flowfuse/nr-launcher","version":"2.26.1-af4a9bc-202601261640.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.26.1-af4a9bc-202601261640.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"f48a086df81b8fbebcfe50b69f73e5827b8a94e7","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.26.1-af4a9bc-202601261640.0.tgz","fileCount":44,"integrity":"sha512-Y+XyhXkSaoG0ALBlhVgPeblulPN3yBQxulatJDVqX2i9ubvWfG+bY4NInPXuKOHdMj1/+a12IfWoNsDfKsk1hw==","signatures":[{"sig":"MEUCIQCiwDin3nfJNtUKK+QX4hXHYc56DdT+8dv/08Qtar9l4wIgVzTvspp+mGrtFfszBQD1hH4gNerK7KYwQrtUg5+Xe8k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":624109},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"af4a9bc94070d24c57c564c40a06a4f01a48025b","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.9.1-999e567-202601261639.0","@flowfuse/nr-file-nodes":"0.0.9-2605674-202601261626.0","@flowfuse/nr-mqtt-nodes":"0.3.1-08fbff7-202601261100.0","@flowfuse/nr-tables-nodes":"0.2.2-dd87c96-202601141125.0","@flowfuse/nr-project-nodes":"0.7.9-bed14ce-202601261323.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","sqlite3":"^5.1.6","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.26.1-af4a9bc-202601261640.0_1769445628591_0.9614714891599605","host":"s3://npm-registry-packages-npm-production"}},"2.26.1-b1cf834-202601270828.0":{"name":"@flowfuse/nr-launcher","version":"2.26.1-b1cf834-202601270828.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.26.1-b1cf834-202601270828.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"922f9946dca4c0e9aece82d2cbd008982e1b672f","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.26.1-b1cf834-202601270828.0.tgz","fileCount":44,"integrity":"sha512-nVafZYj/Oh5jlzWNG+oTtLH42nFBbL+lJRWVYiSvLzYQGEjakYUuGFQ7/bLz8J+B5ZR3j+T0TGPOHReGCLc+4A==","signatures":[{"sig":"MEQCIGawvugXLbcjP4yg9//apZR2v4a9P1PWTFQkNiocbz4nAiBtJ1I9mojv6sx1O/s3XFXivjtHQxVRZctlU15O+IQ7fQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":624109},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"b1cf83461b9e120c061859daccc733c935ff8eba","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.9.1-999e567-202601261639.0","@flowfuse/nr-file-nodes":"0.0.9-2605674-202601261626.0","@flowfuse/nr-mqtt-nodes":"0.3.1-08fbff7-202601261100.0","@flowfuse/nr-tables-nodes":"0.2.2-dd87c96-202601141125.0","@flowfuse/nr-project-nodes":"0.7.9-bed14ce-202601261323.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","sqlite3":"^5.1.6","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.26.1-b1cf834-202601270828.0_1769502537860_0.3216558009780468","host":"s3://npm-registry-packages-npm-production"}},"2.26.1-b1cf834-202601271125.0":{"name":"@flowfuse/nr-launcher","version":"2.26.1-b1cf834-202601271125.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.26.1-b1cf834-202601271125.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"856f4f85b5e36b27700443b569b887f92a7e1abb","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.26.1-b1cf834-202601271125.0.tgz","fileCount":44,"integrity":"sha512-Hgs7YuZXixur7lXaVy32olNf5LNhkjQRtZVddt+aZiHyJooCcwUBgU0CKHHc2ayCt1QRHxbs3/0AEpK3In/cyA==","signatures":[{"sig":"MEUCIQDYOxX81xba5ZvJvXLClgPLQmgEIF4EauBq7uEFT4Bz+QIgMMVKwN8Nc7wL4iVlpl9cwpeEwa6PsVrcQaFGK50N1D8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":624110},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"b1cf83461b9e120c061859daccc733c935ff8eba","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.10.1-a88552c-202601271124.0","@flowfuse/nr-file-nodes":"0.0.9-2605674-202601261626.0","@flowfuse/nr-mqtt-nodes":"0.3.1-08fbff7-202601261100.0","@flowfuse/nr-tables-nodes":"0.2.2-dd87c96-202601141125.0","@flowfuse/nr-project-nodes":"0.7.9-bed14ce-202601261323.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","sqlite3":"^5.1.6","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.26.1-b1cf834-202601271125.0_1769513126379_0.3619241833672069","host":"s3://npm-registry-packages-npm-production"}},"2.26.1-07f1141-202601271205.0":{"name":"@flowfuse/nr-launcher","version":"2.26.1-07f1141-202601271205.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.26.1-07f1141-202601271205.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"a7e0db73b3e4931884b44f997b22cf32ea2a5a0a","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.26.1-07f1141-202601271205.0.tgz","fileCount":44,"integrity":"sha512-urjATGFR7bsK+Ki+n5QKGcV9GSMaWimybGd5WR24UUkD8iY5LBiTsgy9s/Zd5aNFWqCNQzf2D/Rl7SBu2dx9lA==","signatures":[{"sig":"MEYCIQD0afhW3xFqeiX4DZKOh/rhvdAulEJdcv5r2r9dgPe7MwIhAIcH2RWl85BjEcStxgJdbBxeK90YIB+UbF9D+wdqX8CV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":624110},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"07f114123e691dc4c5e37f39acb053761dac5a52","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.10.1-a88552c-202601271124.0","@flowfuse/nr-file-nodes":"0.0.9-2605674-202601261626.0","@flowfuse/nr-mqtt-nodes":"0.3.1-08fbff7-202601261100.0","@flowfuse/nr-tables-nodes":"0.2.2-dd87c96-202601141125.0","@flowfuse/nr-project-nodes":"0.7.9-bed14ce-202601261323.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","sqlite3":"^5.1.6","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.26.1-07f1141-202601271205.0_1769515549277_0.004532197177952169","host":"s3://npm-registry-packages-npm-production"}},"2.26.2-d1b6738-202601271459.0":{"name":"@flowfuse/nr-launcher","version":"2.26.2-d1b6738-202601271459.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.26.2-d1b6738-202601271459.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"40e005cccf127294cd7d4a183cdaab7d6db2e72f","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.26.2-d1b6738-202601271459.0.tgz","fileCount":44,"integrity":"sha512-RGTjzzFUAXaNhWsyibEn4eZ33KIDjjchVTG2iC3E3LIRvU414q485i+o7CE3beJNBpPPZU/wdc+JLD5Z//qqCQ==","signatures":[{"sig":"MEUCIQCBedL1qILGH0B97CT+VhA2QsO67pYIecPO5MNIUPIn3wIgBULaxBfmsymg31SLlJLjYRECiQxlKLZrJtECigI6u/0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":624659},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"d1b673862be68d66715a912b4704ef9ea20bdf01","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.10.1-a88552c-202601271124.0","@flowfuse/nr-file-nodes":"0.0.9-2605674-202601261626.0","@flowfuse/nr-mqtt-nodes":"0.3.1-08fbff7-202601261100.0","@flowfuse/nr-tables-nodes":"0.2.2-dd87c96-202601141125.0","@flowfuse/nr-project-nodes":"0.7.9-bed14ce-202601261323.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","sqlite3":"^5.1.6","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.26.2-d1b6738-202601271459.0_1769525947792_0.3651681295516851","host":"s3://npm-registry-packages-npm-production"}},"2.26.1":{"name":"@flowfuse/nr-launcher","version":"2.26.1","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.26.1","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"327250db4cb969af9577e568e04038654722d4b9","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.26.1.tgz","fileCount":44,"integrity":"sha512-pBU/EYtP9J5wCBA43mKat02ZjSchlAsplLYlykMbIiu0rKi96+zoZvguTFoZSePIg7QkfpLJNnNllmDS0B3bwQ==","signatures":[{"sig":"MEYCIQD2KnpwKXR+TVdkHhBv+HLhUKyqKclAZZlJD4Iz7aTycAIhAKCBM4yRSV53KawgSfFea1v44KK8WHi7Awi+wjo6IWCe","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":624526},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"d1b673862be68d66715a912b4704ef9ea20bdf01","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"^0.10.0","@flowfuse/nr-file-nodes":"^0.0.8","@flowfuse/nr-mqtt-nodes":"^0.3.0","@flowfuse/nr-tables-nodes":"^0.2.1","@flowfuse/nr-project-nodes":"^0.7.8","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","sqlite3":"^5.1.6","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.26.1_1769526035114_0.8293365269848092","host":"s3://npm-registry-packages-npm-production"}},"2.26.2-a78254b-202601271714.0":{"name":"@flowfuse/nr-launcher","version":"2.26.2-a78254b-202601271714.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.26.2-a78254b-202601271714.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"01e13999c989b47d2323fc432a94142ffa208f3c","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.26.2-a78254b-202601271714.0.tgz","fileCount":44,"integrity":"sha512-YgP3e0HrIcnkumR+MOlHyqWSYKE0ysBZ4zk7/ZgWBQmrQU/c2eZOkWAgbLjIKqK6HuWJfb5v0E+aFM3EcNghUw==","signatures":[{"sig":"MEUCIQCIP0m3HieCMQMUPsm7b1FttKT34plDrpXIRKf1aIbA0wIgNN2jPtjLepNd7zkzMfS7d3P3ewCrvsYQ4D0lgmx4Nfs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":624630},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"a78254be120678786e9d241db758de1086f2d72e","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.10.1-a88552c-202601271124.0","@flowfuse/nr-file-nodes":"0.0.9-2605674-202601261626.0","@flowfuse/nr-mqtt-nodes":"0.3.1-08fbff7-202601261100.0","@flowfuse/nr-tables-nodes":"0.2.2-dd87c96-202601141125.0","@flowfuse/nr-project-nodes":"0.7.9-bed14ce-202601261323.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.26.2-a78254b-202601271714.0_1769534061287_0.33245864832213146","host":"s3://npm-registry-packages-npm-production"}},"2.26.2-a78254b-202601280957.0":{"name":"@flowfuse/nr-launcher","version":"2.26.2-a78254b-202601280957.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.26.2-a78254b-202601280957.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"60c7ae7d807b74f687f6cd36e53fa7ae20916a45","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.26.2-a78254b-202601280957.0.tgz","fileCount":44,"integrity":"sha512-+EM2UB9TKAS3lYzvcmgPgN47+SMNC/G86x7iTs3wMzA5YIrqaaD2zU6yot/SrWh1hNv+02001gGHfnyNrgqYQA==","signatures":[{"sig":"MEUCIALGKiinG4H91j6HuW+8TajkCLYY2TyJ2rJzQG9z8/YfAiEAgfvqu+VOohKMjfI7FsQJ1l3iUKrBCEnRWK7cNaWJWOc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":624630},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"a78254be120678786e9d241db758de1086f2d72e","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"hardillb","email":"hardillb@gmail.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.10.1-a88552c-202601271124.0","@flowfuse/nr-file-nodes":"0.0.9-becf561-202601280956.0","@flowfuse/nr-mqtt-nodes":"0.3.1-08fbff7-202601261100.0","@flowfuse/nr-tables-nodes":"0.2.2-dd87c96-202601141125.0","@flowfuse/nr-project-nodes":"0.7.9-bed14ce-202601261323.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.26.2-a78254b-202601280957.0_1769594230787_0.6346423969606847","host":"s3://npm-registry-packages-npm-production"}},"2.26.2-3b1a466-202601282124.0":{"name":"@flowfuse/nr-launcher","version":"2.26.2-3b1a466-202601282124.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.26.2-3b1a466-202601282124.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"fc3c0b1711465be855a6396395f378a781e8a387","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.26.2-3b1a466-202601282124.0.tgz","fileCount":44,"integrity":"sha512-IbX1ubzB+63nwAlJjSxTW2Rf+0hCE2nLQO9Jaky0oShgXjJZMIRAOP6jWINT++6vDfso1Au4Dn/4Ne+MaCb+jg==","signatures":[{"sig":"MEUCIDATE5naiXlXcKWOS+Rwr+WKkHvBnCGbFzqtzl2Q2RxfAiEAucMRckoG4FX1UDo6ToB6EFTUz6o09VNAH//8fnX4TpQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":624630},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"3b1a466007571ea0dc37ecebd6a4492a3ef4fcd0","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.10.1-a88552c-202601271124.0","@flowfuse/nr-file-nodes":"0.0.9-becf561-202601280956.0","@flowfuse/nr-mqtt-nodes":"0.3.1-08fbff7-202601261100.0","@flowfuse/nr-tables-nodes":"0.2.2-dd87c96-202601141125.0","@flowfuse/nr-project-nodes":"0.7.9-bed14ce-202601261323.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.26.2-3b1a466-202601282124.0_1769635508166_0.7027228346694723","host":"s3://npm-registry-packages-npm-production"}},"2.26.2-c4d6715-202601282125.0":{"name":"@flowfuse/nr-launcher","version":"2.26.2-c4d6715-202601282125.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.26.2-c4d6715-202601282125.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"3ca0f6f489d77724c59a9933dcf0dfe48d69a6e0","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.26.2-c4d6715-202601282125.0.tgz","fileCount":44,"integrity":"sha512-Biw95qvlE2s1H8vuHI5W3zyGAoUT/Dm/HJiWYc7EHRCd2OjxKqr5oeqmxHRJQoJPfyWossMKjvpOItXzFvrEJg==","signatures":[{"sig":"MEYCIQCBzSqUXkmuqkP34uH5ndG2p+UPbVPI6G9pa8CUY6gf1gIhAJ0Ok3TYYdlkAA2HMhkhkdj4nIGU/1W9cuQmjFWYGwyF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":624630},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"c4d6715551f1862b0cc4911eb71b87c5ffb8eae3","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.10.1-a88552c-202601271124.0","@flowfuse/nr-file-nodes":"0.0.9-becf561-202601280956.0","@flowfuse/nr-mqtt-nodes":"0.3.1-08fbff7-202601261100.0","@flowfuse/nr-tables-nodes":"0.2.2-dd87c96-202601141125.0","@flowfuse/nr-project-nodes":"0.7.9-bed14ce-202601261323.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.26.2-c4d6715-202601282125.0_1769635522174_0.9693350358676995","host":"s3://npm-registry-packages-npm-production"}},"2.26.2-c4d6715-202601301150.0":{"name":"@flowfuse/nr-launcher","version":"2.26.2-c4d6715-202601301150.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.26.2-c4d6715-202601301150.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"bd510b969331b450ef335ed145e8407017890f8f","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.26.2-c4d6715-202601301150.0.tgz","fileCount":44,"integrity":"sha512-DoOdXizcLWwXh+Y04SlEjvUcacsGJrEITggjIKNKs6cjXZdO4M2mPwUlzYqnj3clocq9jARx9GMOYZHIa9WScA==","signatures":[{"sig":"MEUCICFZJkA+rNEvOK2hIejeJFI16Kd0XmfK0mHF9Wjgg2jTAiEA1gESrXaP+0Eddm/fsZ+chwqoSNaHZmi0S6frqgs2tLU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":624630},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"c4d6715551f1862b0cc4911eb71b87c5ffb8eae3","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.10.1-cd7ab57-202601301150.0","@flowfuse/nr-file-nodes":"0.0.9-becf561-202601280956.0","@flowfuse/nr-mqtt-nodes":"0.3.1-08fbff7-202601261100.0","@flowfuse/nr-tables-nodes":"0.2.2-dd87c96-202601141125.0","@flowfuse/nr-project-nodes":"0.7.9-bed14ce-202601261323.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.26.2-c4d6715-202601301150.0_1769773844786_0.7788280015840336","host":"s3://npm-registry-packages-npm-production"}},"2.26.2-c4d6715-202601301151.0":{"name":"@flowfuse/nr-launcher","version":"2.26.2-c4d6715-202601301151.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.26.2-c4d6715-202601301151.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"2f28888f5030ce939bb123f555e15ed6b59734f6","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.26.2-c4d6715-202601301151.0.tgz","fileCount":44,"integrity":"sha512-sKyaYfWeC1kxjQLzkRqKz5hfyok1pKOk9Ap4i7NUVNsXy3rfRi557J+Eqy5ViotjFsB/m+wcLE2PrlppCKJ/Hw==","signatures":[{"sig":"MEYCIQCGyFrXlsNEarvpOxy/xFe/5hPBn7i2wjkExJQCZB42cwIhAPRRTcmU4b9LpEHYc4TDoXu+vB5acnigBuSa+sn5VdBo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":624630},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"c4d6715551f1862b0cc4911eb71b87c5ffb8eae3","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.10.1-cd7ab57-202601301150.0","@flowfuse/nr-file-nodes":"0.0.9-becf561-202601280956.0","@flowfuse/nr-mqtt-nodes":"0.3.1-08fbff7-202601261100.0","@flowfuse/nr-tables-nodes":"0.2.2-dd87c96-202601141125.0","@flowfuse/nr-project-nodes":"0.7.9-bed14ce-202601261323.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.26.2-c4d6715-202601301151.0_1769773874499_0.7655040207400419","host":"s3://npm-registry-packages-npm-production"}},"2.26.2-c4d6715-202601301223.0":{"name":"@flowfuse/nr-launcher","version":"2.26.2-c4d6715-202601301223.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.26.2-c4d6715-202601301223.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"ab258b35fd948368137e0e38863c74f042f4f708","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.26.2-c4d6715-202601301223.0.tgz","fileCount":44,"integrity":"sha512-BiHTMfTCO3ZRbjruhXo4oSzzfWCCPzDidx13aoJJRjeo8aod4CbzIME4wiHBCbS9pPFe8V2uuj2TxFEyGTuoNg==","signatures":[{"sig":"MEUCIG4c95oTWWy3kZcy/Hbb9oY1p7e2CNqK7Zwa62Q5cmU4AiEA3HPjBwx8K2x+Lvrz7RTOQkfw/J3+ZZ8Z4be8OytMo5g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":624630},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"c4d6715551f1862b0cc4911eb71b87c5ffb8eae3","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.10.2-6815e70-202601301223.0","@flowfuse/nr-file-nodes":"0.0.9-becf561-202601280956.0","@flowfuse/nr-mqtt-nodes":"0.3.1-08fbff7-202601261100.0","@flowfuse/nr-tables-nodes":"0.2.2-dd87c96-202601141125.0","@flowfuse/nr-project-nodes":"0.7.9-bed14ce-202601261323.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.26.2-c4d6715-202601301223.0_1769775844286_0.007075358135279819","host":"s3://npm-registry-packages-npm-production"}},"2.26.2-c4d6715-202602021409.0":{"name":"@flowfuse/nr-launcher","version":"2.26.2-c4d6715-202602021409.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.26.2-c4d6715-202602021409.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"23f8120e3bc9fb4618410e7a383aec1306bc6be2","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.26.2-c4d6715-202602021409.0.tgz","fileCount":44,"integrity":"sha512-dkLq9mGCWJI57Sm0nWCj46VtG6AR+a1EfGoDs5EVBVQGXTasTZhC8y4KXoFgVCu+wCCaFw7s8p5FH6HBflHplw==","signatures":[{"sig":"MEUCIDaMqkFDkUq0iE0VV/UKX4OAEHD2/fkcPn9ip6pjBwHfAiEAv3uhmektJUR9Q3SAkPugeSOYvOLxlkHWh33Z0QwvgUU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":624630},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"c4d6715551f1862b0cc4911eb71b87c5ffb8eae3","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.10.2-6815e70-202601301223.0","@flowfuse/nr-file-nodes":"0.0.9-becf561-202601280956.0","@flowfuse/nr-mqtt-nodes":"0.3.1-08fbff7-202601261100.0","@flowfuse/nr-tables-nodes":"0.2.2-dd87c96-202601141125.0","@flowfuse/nr-project-nodes":"0.7.9-f2581fe-202602021408.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.26.2-c4d6715-202602021409.0_1770041369641_0.5066230643511174","host":"s3://npm-registry-packages-npm-production"}},"2.26.2":{"name":"@flowfuse/nr-launcher","version":"2.26.2","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.26.2","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"ad541e2ead482b95597ca1e9fa5f4385a3d1d777","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.26.2.tgz","fileCount":44,"integrity":"sha512-ERxXp9Sn9A595flQzNXksEk31D6XVKq5w7lmNzV0iTmEUdsyUSPNSxca7v6h+lrFNe15H6pOVu8A7+nh8yIDCw==","signatures":[{"sig":"MEUCIB1Yt9yLU5y4oHF7Fk7Wcr0ao7tsTgsnl4wyl1koc/t7AiEA9v/Kv/zyvK7RyaUuTb5WltDUv81B+5lCKBreDxsNoJA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":624821},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"37c93659f4d48b1f93643db19adf425f8ac74465","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"^0.10.0","@flowfuse/nr-file-nodes":"^0.0.8","@flowfuse/nr-mqtt-nodes":"^0.3.0","@flowfuse/nr-tables-nodes":"^0.2.1","@flowfuse/nr-project-nodes":"^0.7.8","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.26.2_1770114387335_0.35358258703597145","host":"s3://npm-registry-packages-npm-production"}},"2.26.3-37c9365-202602031411.0":{"name":"@flowfuse/nr-launcher","version":"2.26.3-37c9365-202602031411.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.26.3-37c9365-202602031411.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"3923235f12d79d1d92999003444ad17263e707a1","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.26.3-37c9365-202602031411.0.tgz","fileCount":44,"integrity":"sha512-AEHvvASrrXaJf8ZxEvsp9mpRlnRX/8rR4VmhmjoEhaKMnP62eQ/c619LBmG+0OQd+u4nL2wwyjWqHG22gRh+9Q==","signatures":[{"sig":"MEYCIQCHyKk4DKYvWtL3asoz5r3OtAVZbrYKzSRPTxJdirnwngIhANDOgtCm80QXre2KEpn4YScQTufwrSNA6MjYkzw0qYlD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":624955},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"37c93659f4d48b1f93643db19adf425f8ac74465","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.10.2-6815e70-202601301223.0","@flowfuse/nr-file-nodes":"0.0.10-c4a6014-202602031410.0","@flowfuse/nr-mqtt-nodes":"0.3.1-08fbff7-202601261100.0","@flowfuse/nr-tables-nodes":"0.2.2-dd87c96-202601141125.0","@flowfuse/nr-project-nodes":"0.7.9-f2581fe-202602021408.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowforge/file-server":"git://github.com/FlowFuse/file-server.git","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.26.3-37c9365-202602031411.0_1770127887534_0.6190144042786516","host":"s3://npm-registry-packages-npm-production"}},"2.26.3-7b713e2-202602050944.0":{"name":"@flowfuse/nr-launcher","version":"2.26.3-7b713e2-202602050944.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.26.3-7b713e2-202602050944.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"2aeda742be19c6e0baabf25a5a42a978df4b0145","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.26.3-7b713e2-202602050944.0.tgz","fileCount":44,"integrity":"sha512-8emF3SOh0Bdt+jWS9+v27zhh/YPaPQ4sHlSSp2qFtIblXAwNksfwZzOKESqmMFk/PMdMDRFMNIQfpQ0IbZnHxg==","signatures":[{"sig":"MEQCIHPZXf1EKGyMo5wP9pXi10N2uz3rQIldbpU+WajBDS1AAiAjJ71EccYdAFv0Y+CVziDoW2L+qYvO0FURB8SbaEjOxg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":624940},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"7b713e250588a24212b92cc01eb1c96102606f07","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.10.2-6815e70-202601301223.0","@flowfuse/nr-file-nodes":"0.0.10-c4a6014-202602031410.0","@flowfuse/nr-mqtt-nodes":"0.3.1-08fbff7-202601261100.0","@flowfuse/nr-tables-nodes":"0.2.2-dd87c96-202601141125.0","@flowfuse/nr-project-nodes":"0.7.9-f2581fe-202602021408.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.26.3-7b713e2-202602050944.0_1770284685737_0.5439658728135177","host":"s3://npm-registry-packages-npm-production"}},"2.26.3-ed3f6a5-202602051506.0":{"name":"@flowfuse/nr-launcher","version":"2.26.3-ed3f6a5-202602051506.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.26.3-ed3f6a5-202602051506.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"0be5e570c050ab327861e668081323ed22d4052d","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.26.3-ed3f6a5-202602051506.0.tgz","fileCount":44,"integrity":"sha512-E2L6MhQHIiNAZR+Lpuwb4QW2myM/kGtCRA829B7GNICF/y2tE4hA7XaL3yqhvORFyjmxy6I6TkgjzOvBAHGyFw==","signatures":[{"sig":"MEUCIQCaDJ3sQ6i+vdP2oHQlDNJsfY+prq5VA96R9cSBfMmovQIgNBRoVkAHfSWbbM9dCvF8+GInIt28xa5cpGBMWjzKOwk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":625066},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"ed3f6a56a4470b06bc9311a2e1ecbe557822fb73","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.10.2-6815e70-202601301223.0","@flowfuse/nr-file-nodes":"0.0.10-c4a6014-202602031410.0","@flowfuse/nr-mqtt-nodes":"0.3.1-08fbff7-202601261100.0","@flowfuse/nr-tables-nodes":"0.2.2-dd87c96-202601141125.0","@flowfuse/nr-project-nodes":"0.7.9-f2581fe-202602021408.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.26.3-ed3f6a5-202602051506.0_1770304000607_0.8055624772627281","host":"s3://npm-registry-packages-npm-production"}},"2.26.3-ed3f6a5-202602090639.0":{"name":"@flowfuse/nr-launcher","version":"2.26.3-ed3f6a5-202602090639.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.26.3-ed3f6a5-202602090639.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"cc58ded1d688e3d48b0ef7d58404934c03b8e15f","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.26.3-ed3f6a5-202602090639.0.tgz","fileCount":44,"integrity":"sha512-Rpb5OMAfWlt01uBMnc1jhTGGAUQa6v35YfBLv0iodTJkQS/KxDJdtEcGnMd7rEguI8KcXZgNWmo+x7SOzsfVYg==","signatures":[{"sig":"MEUCIDNC/jHH+iaFNcAvr7VFe+oG1Jkw8kPs2+nGTu982zUMAiEApWJzS1AKs7rmtkAiZuh8DpSEVuj4anFqarf+5LTiif0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":625066},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"ed3f6a56a4470b06bc9311a2e1ecbe557822fb73","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.10.2-e52a5df-202602090639.0","@flowfuse/nr-file-nodes":"0.0.10-c4a6014-202602031410.0","@flowfuse/nr-mqtt-nodes":"0.3.1-08fbff7-202601261100.0","@flowfuse/nr-tables-nodes":"0.2.2-dd87c96-202601141125.0","@flowfuse/nr-project-nodes":"0.7.9-f2581fe-202602021408.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.26.3-ed3f6a5-202602090639.0_1770619174977_0.5869405235937681","host":"s3://npm-registry-packages-npm-production"}},"2.26.3-ed3f6a5-202602091806.0":{"name":"@flowfuse/nr-launcher","version":"2.26.3-ed3f6a5-202602091806.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.26.3-ed3f6a5-202602091806.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"5b4f61ec80fe7d00ac848b5ccdd9fcf4278f8f1f","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.26.3-ed3f6a5-202602091806.0.tgz","fileCount":44,"integrity":"sha512-K0bF7W+baZ5nYF8/cBbVRIMQzKtLjRofOPJnDF9AMCmA1Pj9R/4nE120hxEnEmHUT6Ow0ad+m75/EQywdBDuDA==","signatures":[{"sig":"MEQCIAFaMLH79QOtZFYdx7Etuae0sj2LNxr4yNGNzWeb0sDtAiAaWvIiTgomDV9yuMuNAhZ9OpDMx5XOUp2aWIV3L2DkGA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":625066},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"ed3f6a56a4470b06bc9311a2e1ecbe557822fb73","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.10.2-e52a5df-202602090639.0","@flowfuse/nr-file-nodes":"0.0.10-c4a6014-202602031410.0","@flowfuse/nr-mqtt-nodes":"0.3.1-08fbff7-202601261100.0","@flowfuse/nr-tables-nodes":"0.2.2-dd87c96-202601141125.0","@flowfuse/nr-project-nodes":"0.7.9-5321878-202602091805.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.26.3-ed3f6a5-202602091806.0_1770660374496_0.7900079662696093","host":"s3://npm-registry-packages-npm-production"}},"2.26.3-ed3f6a5-202602091807.0":{"name":"@flowfuse/nr-launcher","version":"2.26.3-ed3f6a5-202602091807.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.26.3-ed3f6a5-202602091807.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"e5b46ea7ab2cf2f4df775afd4008b4b9266319a3","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.26.3-ed3f6a5-202602091807.0.tgz","fileCount":44,"integrity":"sha512-a/BWGotzY4iRjYLUMWkhZSvRueaaq5+3vkWnfkuzCuCxjFPKT+ZZNOX/76myx6PBdKNrj8XQjByPJTZz5/rAyA==","signatures":[{"sig":"MEUCIFH3WnD1kj5bDxIi8UNfpj5Q9VJCgdU649/B1ty55LbmAiEAzwoMk57DdMJOglsw4qleGOKAH5PxfjPxz7yMilmsHcw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":625066},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"ed3f6a56a4470b06bc9311a2e1ecbe557822fb73","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.10.2-e52a5df-202602090639.0","@flowfuse/nr-file-nodes":"0.0.10-c4a6014-202602031410.0","@flowfuse/nr-mqtt-nodes":"0.3.1-08fbff7-202601261100.0","@flowfuse/nr-tables-nodes":"0.2.2-dd87c96-202601141125.0","@flowfuse/nr-project-nodes":"0.7.9-b92e6e6-202602091807.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.26.3-ed3f6a5-202602091807.0_1770660484581_0.7190937499123324","host":"s3://npm-registry-packages-npm-production"}},"2.26.3-ed3f6a5-202602091815.0":{"name":"@flowfuse/nr-launcher","version":"2.26.3-ed3f6a5-202602091815.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.26.3-ed3f6a5-202602091815.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"84e937a08d60081435230c097d986e596ff108e6","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.26.3-ed3f6a5-202602091815.0.tgz","fileCount":44,"integrity":"sha512-DFrqjUUPNBFhX7zeRgNlk8ux9CZaNFFnQhWhR5LsFlj9BqenaST4s8PAqYpBlPXKm2xNzlOE0GIRXn2E066G1g==","signatures":[{"sig":"MEYCIQCWQvUmwgY4y2AydK4JGRgGc+gsmubGRCduNvxMDQFk5QIhAIXe/Rh4uMCx+vm6/2jZBHC2MOwNEzRpMU2G7rG+Sy2b","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":625066},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"ed3f6a56a4470b06bc9311a2e1ecbe557822fb73","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.10.2-e52a5df-202602090639.0","@flowfuse/nr-file-nodes":"0.0.10-aae56ec-202602091814.0","@flowfuse/nr-mqtt-nodes":"0.3.1-08fbff7-202601261100.0","@flowfuse/nr-tables-nodes":"0.2.2-dd87c96-202601141125.0","@flowfuse/nr-project-nodes":"0.7.9-b92e6e6-202602091807.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.26.3-ed3f6a5-202602091815.0_1770660923682_0.9414440355031646","host":"s3://npm-registry-packages-npm-production"}},"2.26.3-645d390-202602100624.0":{"name":"@flowfuse/nr-launcher","version":"2.26.3-645d390-202602100624.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.26.3-645d390-202602100624.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"3f98ab7a936a84b2b624d3a7de80691dc7141310","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.26.3-645d390-202602100624.0.tgz","fileCount":44,"integrity":"sha512-Su/gb/lzpgKtB214ljS4Usnp5cYOJOzGIpNQB+EpcZDdoxmecsUU7Oqs9GRQNUPTziBJYhLFuwM+c7BwvBp6cQ==","signatures":[{"sig":"MEQCIFbz8amaUUfJu0h6Meor+EA7O9Sg0apvqHCuhCIEohvQAiA4lRVM+Qft4gBaVPgalrH94/9Gz9MwanneLhi/xKlRNg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":625066},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"645d39023abb90cfdf113ee32f4e017dd3ee569d","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.10.2-e52a5df-202602090639.0","@flowfuse/nr-file-nodes":"0.0.10-aae56ec-202602091814.0","@flowfuse/nr-mqtt-nodes":"0.3.1-08fbff7-202601261100.0","@flowfuse/nr-tables-nodes":"0.2.2-dd87c96-202601141125.0","@flowfuse/nr-project-nodes":"0.7.9-b92e6e6-202602091807.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.26.3-645d390-202602100624.0_1770704703916_0.4720663398812577","host":"s3://npm-registry-packages-npm-production"}},"2.26.3-4f4c865-202602100625.0":{"name":"@flowfuse/nr-launcher","version":"2.26.3-4f4c865-202602100625.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.26.3-4f4c865-202602100625.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"d675859e9721a950170da0bb35087784612a0252","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.26.3-4f4c865-202602100625.0.tgz","fileCount":44,"integrity":"sha512-ybRJpPR42Fn3yb6mtRe5mmLZA7pe2CBRBhU0UH+FHt2BErDAiLVFhcgyfk+3AnQXO1raCA+TchA+GwlFQAkqIw==","signatures":[{"sig":"MEUCIEO9tAaASkUkX/MVWBabj6S+Sp6rfduc3LbiIUcmFFXSAiEAj3dB341yqjaOeCic+k8oyQEA89pLuRX48acNwbodOzU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":625066},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"4f4c8654e365d0bfc428ae6b562b2223d28ceb0f","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.10.2-e52a5df-202602090639.0","@flowfuse/nr-file-nodes":"0.0.10-aae56ec-202602091814.0","@flowfuse/nr-mqtt-nodes":"0.3.1-08fbff7-202601261100.0","@flowfuse/nr-tables-nodes":"0.2.2-dd87c96-202601141125.0","@flowfuse/nr-project-nodes":"0.7.9-b92e6e6-202602091807.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.26.3-4f4c865-202602100625.0_1770704736430_0.27648960527680044","host":"s3://npm-registry-packages-npm-production"}},"2.26.3-4f86cfb-202602100653.0":{"name":"@flowfuse/nr-launcher","version":"2.26.3-4f86cfb-202602100653.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.26.3-4f86cfb-202602100653.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"e4759ec75a2fea2f9907284da20dc7ee88508c5a","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.26.3-4f86cfb-202602100653.0.tgz","fileCount":44,"integrity":"sha512-31f/asLbduk8QtrhLNjEki0vvnvbFvZzAlP2h7aHkDcV/x3UFB84l8umRpQCApyDghAvHVshYN0IDtTKml40+g==","signatures":[{"sig":"MEYCIQCoQfcf382nGPIckJbdWD7MsHqiL/N9QxbuYKUF0EEu9wIhAOk8ZIkOzfjRefDHi42xkUk0ceHOF+UKL7RspCpwtz69","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":625066},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"4f86cfbd4ab247f52e2e371877918f0493323275","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.10.2-e52a5df-202602090639.0","@flowfuse/nr-file-nodes":"0.0.10-aae56ec-202602091814.0","@flowfuse/nr-mqtt-nodes":"0.3.1-08fbff7-202601261100.0","@flowfuse/nr-tables-nodes":"0.2.2-dd87c96-202601141125.0","@flowfuse/nr-project-nodes":"0.7.9-b92e6e6-202602091807.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.26.3-4f86cfb-202602100653.0_1770706419058_0.6966860818906393","host":"s3://npm-registry-packages-npm-production"}},"2.26.3-4f86cfb-202602100656.0":{"name":"@flowfuse/nr-launcher","version":"2.26.3-4f86cfb-202602100656.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.26.3-4f86cfb-202602100656.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"c4c06bb7a72d3806e50d064a804f26935f7ed13c","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.26.3-4f86cfb-202602100656.0.tgz","fileCount":44,"integrity":"sha512-Jzgpta6YLhi6TVrwYxJZH/XssmfoXfjm501h8yvqnCrInva+XV1KKdfkcxAp3FLPHzpxUz68Ve3+RCaXUcvbbg==","signatures":[{"sig":"MEYCIQDUqm9XGoMXWAdNolaelUtlC6F1aAXDKrY+09/T1XcRgAIhAKmSR4MhiytLzGszkTN5VikCDwsoZV+UKIffKNuKGd5m","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":625066},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"4f86cfbd4ab247f52e2e371877918f0493323275","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.10.2-e52a5df-202602090639.0","@flowfuse/nr-file-nodes":"0.0.10-6bec042-202602100655.0","@flowfuse/nr-mqtt-nodes":"0.3.1-08fbff7-202601261100.0","@flowfuse/nr-tables-nodes":"0.2.2-dd87c96-202601141125.0","@flowfuse/nr-project-nodes":"0.7.9-b92e6e6-202602091807.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.26.3-4f86cfb-202602100656.0_1770706573932_0.32995829315394465","host":"s3://npm-registry-packages-npm-production"}},"2.26.3-4f86cfb-202602100658.0":{"name":"@flowfuse/nr-launcher","version":"2.26.3-4f86cfb-202602100658.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.26.3-4f86cfb-202602100658.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"9f3d7ae2cd0456e96cb8222b272fdcdc5d794cd2","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.26.3-4f86cfb-202602100658.0.tgz","fileCount":44,"integrity":"sha512-zA6odfXriP74/rgvs0MOgIMgq4ip9rskSCZrSSq/ScMJTVqCcCb6BlgVAKg3mrv+E/nylt7QVDKrTI29n0pq/w==","signatures":[{"sig":"MEUCIHpBKtTR8O5tX/N/Oj50JGrUjOmETebYbwQJDXR9sRMJAiEAkDV5rCzPvb/GpXV8XmMXDcdbHDKPiH/V2AarZcCj0Ow=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":625066},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"4f86cfbd4ab247f52e2e371877918f0493323275","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.10.2-6c250ad-202602100657.0","@flowfuse/nr-file-nodes":"0.0.10-6bec042-202602100655.0","@flowfuse/nr-mqtt-nodes":"0.3.1-08fbff7-202601261100.0","@flowfuse/nr-tables-nodes":"0.2.2-dd87c96-202601141125.0","@flowfuse/nr-project-nodes":"0.7.9-b92e6e6-202602091807.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.26.3-4f86cfb-202602100658.0_1770706699991_0.39540414550194947","host":"s3://npm-registry-packages-npm-production"}},"2.26.3-4f86cfb-202602101631.0":{"name":"@flowfuse/nr-launcher","version":"2.26.3-4f86cfb-202602101631.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.26.3-4f86cfb-202602101631.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"cdb87a9933d145dd695ea719179df4bbf51ae91f","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.26.3-4f86cfb-202602101631.0.tgz","fileCount":44,"integrity":"sha512-hktF1vYxqbI4IgF3cVTfPznGilx/8G+qebtWgVdYxaTuHFSHuyYLmsU71VXi34y2EgnVo8mJwYzKRoMWJndfgQ==","signatures":[{"sig":"MEYCIQDjyrHDXoMXt3ikI/1+QzyibQkpIfqSA9mcB1z4CIkESgIhAM+2E1d3gPBbWBei/oyUbu4c5RG34nDh6tDTzUWsWO4T","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":625066},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"4f86cfbd4ab247f52e2e371877918f0493323275","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.10.2-6c250ad-202602100657.0","@flowfuse/nr-file-nodes":"0.0.10-4eed32d-202602101630.0","@flowfuse/nr-mqtt-nodes":"0.3.1-08fbff7-202601261100.0","@flowfuse/nr-tables-nodes":"0.2.2-dd87c96-202601141125.0","@flowfuse/nr-project-nodes":"0.7.9-b92e6e6-202602091807.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.26.3-4f86cfb-202602101631.0_1770741121799_0.7668668566323187","host":"s3://npm-registry-packages-npm-production"}},"2.26.3-4f86cfb-202602101645.0":{"name":"@flowfuse/nr-launcher","version":"2.26.3-4f86cfb-202602101645.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.26.3-4f86cfb-202602101645.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"4822fbfb558126e4f28be4e059a7c51be43160cd","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.26.3-4f86cfb-202602101645.0.tgz","fileCount":44,"integrity":"sha512-N6k12XhsZyBqyoNXmtAukRcmfHDliPGaLVOzYOW02z+VrK7ecz0AzPgefu/DaO2zioMACgInVGcquj8+jpVjyQ==","signatures":[{"sig":"MEYCIQD0U3cCXYsc3AL/Z0WTEAomX2IewwqZD+BhHBACrzl/mwIhAJ//Xa7PzybpuDNFRcSF+ReuDL3aTnE6uXuH8e1g/CIg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":625066},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"4f86cfbd4ab247f52e2e371877918f0493323275","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.10.2-6c250ad-202602100657.0","@flowfuse/nr-file-nodes":"0.0.10-603ff3c-202602101644.0","@flowfuse/nr-mqtt-nodes":"0.3.1-08fbff7-202601261100.0","@flowfuse/nr-tables-nodes":"0.2.2-dd87c96-202601141125.0","@flowfuse/nr-project-nodes":"0.7.9-b92e6e6-202602091807.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.26.3-4f86cfb-202602101645.0_1770741915167_0.2850562514916968","host":"s3://npm-registry-packages-npm-production"}},"2.26.3-4f86cfb-202602101652.0":{"name":"@flowfuse/nr-launcher","version":"2.26.3-4f86cfb-202602101652.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.26.3-4f86cfb-202602101652.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"2ed71bdd499aebe36d8c106098a472a4857a157d","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.26.3-4f86cfb-202602101652.0.tgz","fileCount":44,"integrity":"sha512-flpkvt5BP5/41CM/m/sCoCzTf6NXxWKJsUh6sLMkiv/QiQG5TP2sb7FfG9wO5ALRhELhC4J1KD4a8MVN3rI1QA==","signatures":[{"sig":"MEQCIDyV3ytdKtBgk/EiFO5qgrMTTlQW1YBvbaXTgEEkarPAAiAKWhZlHeFzcgkiQqJYvaSBCD3fhEIQdFJNzRaacHPC9g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":625066},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"4f86cfbd4ab247f52e2e371877918f0493323275","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.10.2-6c250ad-202602100657.0","@flowfuse/nr-file-nodes":"0.0.10-7658508-202602101651.0","@flowfuse/nr-mqtt-nodes":"0.3.1-08fbff7-202601261100.0","@flowfuse/nr-tables-nodes":"0.2.2-dd87c96-202601141125.0","@flowfuse/nr-project-nodes":"0.7.9-b92e6e6-202602091807.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.26.3-4f86cfb-202602101652.0_1770742338724_0.973815514308729","host":"s3://npm-registry-packages-npm-production"}},"2.26.3-4f86cfb-202602111002.0":{"name":"@flowfuse/nr-launcher","version":"2.26.3-4f86cfb-202602111002.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.26.3-4f86cfb-202602111002.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"7cba9afdd4e320af5c5aa4c32fe46cf18f11a93d","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.26.3-4f86cfb-202602111002.0.tgz","fileCount":44,"integrity":"sha512-QiOMVz9VELd1uAEx91o+NYwHMxXUR+cxf7WVPfw7WKYZ0mlQlLgAriG6K9iDrVxa44vxbe3tMcdpe06w9RPJBA==","signatures":[{"sig":"MEUCIBvGR2KKpic9OSWo0UBSGIoo0wEylFU/6KiFxlFJ4UnGAiEAi+3HhT+Kz0OpSz42qcgTJ2wkiwLShmQECVI9lVflsEQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":625066},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"4f86cfbd4ab247f52e2e371877918f0493323275","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.10.2-6c250ad-202602100657.0","@flowfuse/nr-file-nodes":"0.0.10-7658508-202602101651.0","@flowfuse/nr-mqtt-nodes":"0.3.1-08fbff7-202601261100.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-b92e6e6-202602091807.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.26.3-4f86cfb-202602111002.0_1770804179664_0.8237063929276649","host":"s3://npm-registry-packages-npm-production"}},"2.26.3-4f86cfb-202602121012.0":{"name":"@flowfuse/nr-launcher","version":"2.26.3-4f86cfb-202602121012.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.26.3-4f86cfb-202602121012.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"f6c040bc7d87b12064cb8ff3e53b2ead37608764","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.26.3-4f86cfb-202602121012.0.tgz","fileCount":44,"integrity":"sha512-68rq3rLgFi3Bik9/dL4acZnYYUu33momhQSy0vAGUpQZhcsG+T9aLHytsvPGqjjL4xia+pHGtKSxlAk5v4LSUA==","signatures":[{"sig":"MEUCIAxJRi+29fwBZrO4AS2TeASGhWsbNDPytGGbc3YCZjydAiEA4oupzmjvcfWwHDwN710OSL1TleQwEW1bh1a/2K+P84g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":625066},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"4f86cfbd4ab247f52e2e371877918f0493323275","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.10.2-685636e-202602121011.0","@flowfuse/nr-file-nodes":"0.0.10-7658508-202602101651.0","@flowfuse/nr-mqtt-nodes":"0.3.1-08fbff7-202601261100.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-b92e6e6-202602091807.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.26.3-4f86cfb-202602121012.0_1770891147148_0.7919831408150315","host":"s3://npm-registry-packages-npm-production"}},"2.26.3-4f86cfb-202602121026.0":{"name":"@flowfuse/nr-launcher","version":"2.26.3-4f86cfb-202602121026.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.26.3-4f86cfb-202602121026.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"b2460407c8683b388426779cd51ac7859307be5b","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.26.3-4f86cfb-202602121026.0.tgz","fileCount":44,"integrity":"sha512-An87JzoKKELFjvp5AgOGYqpBcdIeqoRRip1DbpdCh6Sc5U1aiauyQuHrkjG+YP1anY9EkqIYq94yANpA3mZ47w==","signatures":[{"sig":"MEUCIQCh5UR7OZ70tUZpqTaN6p7USSbL7d1REw7D0yBjP5blnAIgUIUPkbIut6FWB8yuDncKsmMTWEslc/0sNbQ5yAxOM6s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":625066},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"4f86cfbd4ab247f52e2e371877918f0493323275","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.10.2-612afb7-202602121026.0","@flowfuse/nr-file-nodes":"0.0.10-7658508-202602101651.0","@flowfuse/nr-mqtt-nodes":"0.3.1-08fbff7-202601261100.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-b92e6e6-202602091807.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.26.3-4f86cfb-202602121026.0_1770892021461_0.9358533536240896","host":"s3://npm-registry-packages-npm-production"}},"2.26.3-4f86cfb-202602121049.0":{"name":"@flowfuse/nr-launcher","version":"2.26.3-4f86cfb-202602121049.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.26.3-4f86cfb-202602121049.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"e269e46e94726fb28fcdcaafb3aa324588fb7c84","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.26.3-4f86cfb-202602121049.0.tgz","fileCount":44,"integrity":"sha512-0PDGzCeuIg+IhyBp4VRPhkTQoFWBh8MvaQex8yv7GQkYBIsHz1yYuM5Hxy6CFND9xHTGE0E3g3q2Q3WrBCleLA==","signatures":[{"sig":"MEUCIBYrLedM7X7SchpydjXQwVM3hRYhaA46qQKXvtkiO/ruAiEAgs/sqdMBNKUDwf5w5REXBqzmezbfySnf5KG2SUe+ICM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":625066},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"4f86cfbd4ab247f52e2e371877918f0493323275","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.10.3-f2f17ad-202602121048.0","@flowfuse/nr-file-nodes":"0.0.10-7658508-202602101651.0","@flowfuse/nr-mqtt-nodes":"0.3.1-08fbff7-202601261100.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-b92e6e6-202602091807.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.26.3-4f86cfb-202602121049.0_1770893360299_0.901943705511089","host":"s3://npm-registry-packages-npm-production"}},"2.26.3-0ed2fc7-202602121104.0":{"name":"@flowfuse/nr-launcher","version":"2.26.3-0ed2fc7-202602121104.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.26.3-0ed2fc7-202602121104.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"aa0ce6cef3672338a5c463c3e3b843bbd531301c","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.26.3-0ed2fc7-202602121104.0.tgz","fileCount":44,"integrity":"sha512-RaiQG7Xu5gIpI3cxkQTnbPxVtXTpNsWwNExD49CD8RackoS0xPOQLIXFUDtaLjU+ZKUBALUeS4fQtop3mlN9Sg==","signatures":[{"sig":"MEUCIAeqnbBMcz5fEVEqx8ObRjSsInRGAEAXLoAqYsXJvXObAiEAnzF6kdT2bjMBdwYOPoNxxhvYWzPXDHJWUP+VSsNIv0M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":625066},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"0ed2fc7298136bc49b58faa7a67ac9a0713ef3a4","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.10.3-f2f17ad-202602121048.0","@flowfuse/nr-file-nodes":"0.0.10-7658508-202602101651.0","@flowfuse/nr-mqtt-nodes":"0.3.1-08fbff7-202601261100.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-b92e6e6-202602091807.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.26.3-0ed2fc7-202602121104.0_1770894262571_0.9693689950781801","host":"s3://npm-registry-packages-npm-production"}},"2.26.3-c298c2b-202602121113.0":{"name":"@flowfuse/nr-launcher","version":"2.26.3-c298c2b-202602121113.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.26.3-c298c2b-202602121113.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"159e33c959da743bd32c4e69f8125c16c39310e9","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.26.3-c298c2b-202602121113.0.tgz","fileCount":44,"integrity":"sha512-rSGHWuwuq5id3SmSAWt05gHXAMSSxZJX83fVoQMUhxELN88855qwV6a2HsC46Z/s41p/zOSybbxGtRRlElGpiA==","signatures":[{"sig":"MEUCIHn/XPXBRNOkbtA82/j+EIR6cBRMlGhwmw8p7sfQ1z5wAiEAtfEfyVemwZmXzSHGfp7Zsmi9zeHpI+6dhed0G6k73vg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":625066},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"c298c2bbe1a59176fc0e17799234acaf01938e1e","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.10.3-f2f17ad-202602121048.0","@flowfuse/nr-file-nodes":"0.0.10-7658508-202602101651.0","@flowfuse/nr-mqtt-nodes":"0.3.1-08fbff7-202601261100.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-b92e6e6-202602091807.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.26.3-c298c2b-202602121113.0_1770894839740_0.6242512018659347","host":"s3://npm-registry-packages-npm-production"}},"2.27.0":{"name":"@flowfuse/nr-launcher","version":"2.27.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"5182a0dc3cab0455d0b21d307d5f05ad712b8ee0","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.0.tgz","fileCount":44,"integrity":"sha512-OScle6rOBD1yxkrj8ZDsFjevAvBnLKTcw4r6/USWY++oIZX/hUwqB1RA8sVXqZXpvsHk3e47VQ9tdC15XaDRzw==","signatures":[{"sig":"MEUCID6/sbcBREUhgCo0Skcm88hYsE1EqCCtk1H2AKYgG7HEAiEApwBVM8UVzM7ygqEQ/2dwj8zM8aTG3udzY0u6N/RctHI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":625571},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"9b1d4d9985435ba85f9bbbd38267baa70d446f2f","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"^0.10.2","@flowfuse/nr-file-nodes":"^0.0.9","@flowfuse/nr-mqtt-nodes":"^0.3.0","@flowfuse/nr-tables-nodes":"^0.2.1","@flowfuse/nr-project-nodes":"^0.7.8","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.0_1770895007709_0.8323565076527313","host":"s3://npm-registry-packages-npm-production"}},"2.27.1-9b1d4d9-202602121116.0":{"name":"@flowfuse/nr-launcher","version":"2.27.1-9b1d4d9-202602121116.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.1-9b1d4d9-202602121116.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"24be81006f73adfc61a5db3a56bd6e24551e217f","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.1-9b1d4d9-202602121116.0.tgz","fileCount":44,"integrity":"sha512-FB7CYIoZo+WAYo87WQHIJba3aHlWwmuE3quNkcSqpUQpEwE3dOAWBewqAbaM8k0W8qyEV+rn1bzStNYpe42Kag==","signatures":[{"sig":"MEYCIQDUGbm+pC2vcbXHs9JXq5dwPVlg8CdRvrg+J4ey0PLtoQIhANHHlnhn6byykxEI6VajQ3muTFkRMkKor03ZDiObv2dS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":625705},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"9b1d4d9985435ba85f9bbbd38267baa70d446f2f","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.10.3-f2f17ad-202602121048.0","@flowfuse/nr-file-nodes":"0.0.10-7658508-202602101651.0","@flowfuse/nr-mqtt-nodes":"0.3.1-08fbff7-202601261100.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-b92e6e6-202602091807.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.1-9b1d4d9-202602121116.0_1770895022599_0.6743596657423183","host":"s3://npm-registry-packages-npm-production"}},"2.27.1-9b1d4d9-202602160657.0":{"name":"@flowfuse/nr-launcher","version":"2.27.1-9b1d4d9-202602160657.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.1-9b1d4d9-202602160657.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"b7b6e8463babbfefae0d7cc5c7c815945374ea84","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.1-9b1d4d9-202602160657.0.tgz","fileCount":44,"integrity":"sha512-3sZ4aPpwGCuKL6w4MvMFmq7M9mKD3j7AkjiCFky1RCAdDRk6BaqduzVVqjZV/KP7v5hXaszuL3Kc2yCbZ38JtQ==","signatures":[{"sig":"MEQCIHLxd0vj73/MNlkLq3Hd4rFFnTIG64/BcEzXtR8DKVFdAiBDLSy3LAF1hSmAYXU3KQw1z9BPBgvhYKRmNmj0iwFaEg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":625705},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"9b1d4d9985435ba85f9bbbd38267baa70d446f2f","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.10.3-b541f5e-202602160656.0","@flowfuse/nr-file-nodes":"0.0.10-7658508-202602101651.0","@flowfuse/nr-mqtt-nodes":"0.3.1-08fbff7-202601261100.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-b92e6e6-202602091807.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.1-9b1d4d9-202602160657.0_1771225032419_0.8122103886830709","host":"s3://npm-registry-packages-npm-production"}},"2.27.1-9b1d4d9-202602160705.0":{"name":"@flowfuse/nr-launcher","version":"2.27.1-9b1d4d9-202602160705.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.1-9b1d4d9-202602160705.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"3feb6b59c773719e687cc4e8316e4714a79d02cd","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.1-9b1d4d9-202602160705.0.tgz","fileCount":44,"integrity":"sha512-PqBUQG9WfDgk5Sys3KIM7e907sfezVsOcgYmXT3zINFFj6ZLQP3Ye5j4gXIA0CNm5ewWtyNufeFY2TWjtVCYvA==","signatures":[{"sig":"MEQCIGwlqbcf/KGnFCQ+rFPcCCGVjkI7mZI5RFpd5thrNBaeAiApAsd2mOlO25CmtOtv6rKkq5w3d9BUIFqJbPd+Qk3r9A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":625705},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"9b1d4d9985435ba85f9bbbd38267baa70d446f2f","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.10.3-b541f5e-202602160656.0","@flowfuse/nr-file-nodes":"0.0.10-7658508-202602101651.0","@flowfuse/nr-mqtt-nodes":"0.3.1-08fbff7-202601261100.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-b945f38-202602160704.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.1-9b1d4d9-202602160705.0_1771225520636_0.4430136007728913","host":"s3://npm-registry-packages-npm-production"}},"2.27.1-9b1d4d9-202602161019.0":{"name":"@flowfuse/nr-launcher","version":"2.27.1-9b1d4d9-202602161019.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.1-9b1d4d9-202602161019.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"4033a8dc3535e55b7a7af9f9b56049abda3f8982","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.1-9b1d4d9-202602161019.0.tgz","fileCount":44,"integrity":"sha512-ZEXOOkNLdqLHRgNwhqjNU+oO62nDdxkRSr/1K3UgnMGFQFJMYDW891qGz5krzINaSiidFHoJo+OkahQL7s5FRA==","signatures":[{"sig":"MEQCIESxWCTucxMr+cKui8WhAB4vbUXG8uDAJglnCshVtk/LAiBJe19nFZksCs3Ql3NGFpML3pYlka0/qnkqI5WHa7JRjQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":625683},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"9b1d4d9985435ba85f9bbbd38267baa70d446f2f","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.10.2-ab98254-202602161019.0","@flowfuse/nr-file-nodes":"0.0.10-7658508-202602101651.0","@flowfuse/nr-mqtt-nodes":"^0.3.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-b945f38-202602160704.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.1-9b1d4d9-202602161019.0_1771237174206_0.7937112435480558","host":"s3://npm-registry-packages-npm-production"}},"2.27.1-fca0ce6-202602161109.0":{"name":"@flowfuse/nr-launcher","version":"2.27.1-fca0ce6-202602161109.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.1-fca0ce6-202602161109.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"0aec95e1e5d9a6d5a55ee617c6079cd256d0589d","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.1-fca0ce6-202602161109.0.tgz","fileCount":44,"integrity":"sha512-26HRHClCF7HfMek1Yzh2npY2CHZ1Cj8CqPnxw6imiW0qPKkriZWWf7T4MHX8Kzr6b4ybJY6I28DwOFh2ysA0Gg==","signatures":[{"sig":"MEQCIGgL/WniIe7LC/+Y8UzJVCSjUu7YjjLnujKOCGNg1+ZPAiB63l78C5is0yYc1IR6OyaDg8f65HcqPQDiy31RoBazvg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":625705},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"fca0ce659bac343b1bc66d9ebb9cac0ddb6df00f","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.10.3-b541f5e-202602160656.0","@flowfuse/nr-file-nodes":"0.0.10-cf5b354-202602161108.0","@flowfuse/nr-mqtt-nodes":"0.3.1-08fbff7-202601261100.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-b945f38-202602160704.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.1-fca0ce6-202602161109.0_1771240172473_0.48353736837969796","host":"s3://npm-registry-packages-npm-production"}},"2.27.1-fca0ce6-202602161110.0":{"name":"@flowfuse/nr-launcher","version":"2.27.1-fca0ce6-202602161110.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.1-fca0ce6-202602161110.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"7c4c9570b6eccb9f344c86f61e034e8fc3a5a498","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.1-fca0ce6-202602161110.0.tgz","fileCount":44,"integrity":"sha512-/W83Lgk8YagTK6nlbZJ/GP1FMTa4OuHRn7mwtkRT2HoByTewot/Dqd7LkAOboMDNQFOUM1ftEDI9DNde6RvhCg==","signatures":[{"sig":"MEYCIQCk7/Tw/5CaGTB1P8DBUQHSsJX0wPGt2mwsZV8rR/Zd7gIhALgKG3zieKP9A8ItbnKD3EQ3z21zj3RLZSkx2kkaem/Z","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":625705},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"fca0ce659bac343b1bc66d9ebb9cac0ddb6df00f","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.10.3-4816d6d-202602161109.0","@flowfuse/nr-file-nodes":"0.0.10-cf5b354-202602161108.0","@flowfuse/nr-mqtt-nodes":"0.3.1-08fbff7-202601261100.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-b945f38-202602160704.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.1-fca0ce6-202602161110.0_1771240207534_0.5873991905039546","host":"s3://npm-registry-packages-npm-production"}},"2.27.1-e8f9e0b-202602161134.0":{"name":"@flowfuse/nr-launcher","version":"2.27.1-e8f9e0b-202602161134.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.1-e8f9e0b-202602161134.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"443e4fe2ed246bce68bf63c3ede0bc2bb094cb39","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.1-e8f9e0b-202602161134.0.tgz","fileCount":44,"integrity":"sha512-BUy7gNUj0p6vKw9AM+W7bbSOIUX6A+uBRhlbsnDzqxpCyHXBLfr/ub0b3Jo87c60xtl2S8PSj1f/yxOKXimpRw==","signatures":[{"sig":"MEQCIAWI0UTKxlsY4XP1ZvZUNNvfDJb3CavKD6x0M5tUnz4DAiAZcyHmXY7Kxp9QgqSHk4+FjN6NhX4t7HpmXp3tNGU+WQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":625705},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"e8f9e0b4339fae744629d640b15580ec68d677d5","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.10.3-4816d6d-202602161109.0","@flowfuse/nr-file-nodes":"0.0.10-cf5b354-202602161108.0","@flowfuse/nr-mqtt-nodes":"0.3.1-08fbff7-202601261100.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-8ec66a8-202602161109.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.1-e8f9e0b-202602161134.0_1771241647649_0.314042297088136","host":"s3://npm-registry-packages-npm-production"}},"2.27.1-326cb1c-202602161147.0":{"name":"@flowfuse/nr-launcher","version":"2.27.1-326cb1c-202602161147.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.1-326cb1c-202602161147.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"aac101c01711709e1c624542d93752e1a11bb860","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.1-326cb1c-202602161147.0.tgz","fileCount":44,"integrity":"sha512-9RhhlYKnVipbT9eqSLLbpGuHO62zqfpYmA7/8e3oF69SjuyIjBVJfHyyZgoplDQ9waXtMRxqRIrsPDGR9d0SqQ==","signatures":[{"sig":"MEYCIQCfgfXIHxPeVEQCPzWwYwAqyPfm2ZRN9xbHGLhnsKolTQIhAIItfQMcysNQVAaSpoMaqAQLMX35YhXwJavDxL1UP3l4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":625705},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"326cb1ca269fbf2ce7c6ba0ef43ff14de774c7c9","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.10.3-4816d6d-202602161109.0","@flowfuse/nr-file-nodes":"0.0.10-cf5b354-202602161108.0","@flowfuse/nr-mqtt-nodes":"0.3.1-08fbff7-202601261100.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-8ec66a8-202602161109.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.1-326cb1c-202602161147.0_1771242463582_0.010876140959379166","host":"s3://npm-registry-packages-npm-production"}},"2.27.1-326cb1c-202602161153.0":{"name":"@flowfuse/nr-launcher","version":"2.27.1-326cb1c-202602161153.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.1-326cb1c-202602161153.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"adc26d1d463855fbde33c32e3d5cf4a35e5b4790","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.1-326cb1c-202602161153.0.tgz","fileCount":44,"integrity":"sha512-rVv2aImYm42093Qd//V9sogpJKAqEm0JmXctJ7bUkFUGoxXJopQkA4NggDpYC6dqQDr7vNBgmuU8FyF61Jj9Tw==","signatures":[{"sig":"MEYCIQD3a0NiJjjzhse/x/gJDwAL5I5noxIGIjDbfxUdT6WdSQIhAOGQbamwm+jXVGCxOeyFyET89gGjGZQ4Jlts7YrvYtIV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":625705},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"326cb1ca269fbf2ce7c6ba0ef43ff14de774c7c9","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.10.3-4816d6d-202602161109.0","@flowfuse/nr-file-nodes":"0.0.10-cf5b354-202602161108.0","@flowfuse/nr-mqtt-nodes":"0.3.1-bae1076-202602161152.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-8ec66a8-202602161109.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.1-326cb1c-202602161153.0_1771242795442_0.25933953939772403","host":"s3://npm-registry-packages-npm-production"}},"2.27.1-326cb1c-202602161155.0":{"name":"@flowfuse/nr-launcher","version":"2.27.1-326cb1c-202602161155.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.1-326cb1c-202602161155.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"e5a21935dcf62e59dcb9b4cb1f046f048d7a9a1a","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.1-326cb1c-202602161155.0.tgz","fileCount":44,"integrity":"sha512-wO9qa4tBzCg74/qdI8RGLm+kIB4oexKlN8fpp2SYXPBfVc8Zya0fU/iK0oijqIV4YutqNkieaCkAIuK/9qf7Rg==","signatures":[{"sig":"MEUCIQC1ypxcRQzChpmia/mkwt5r4v/8FLX5b/PexO/NUuIoJwIgZSPEw7h4LE0USmnchR2IS6OrCfCfl8tOgKI1cccUjIo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":625705},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"326cb1ca269fbf2ce7c6ba0ef43ff14de774c7c9","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.10.3-4816d6d-202602161109.0","@flowfuse/nr-file-nodes":"0.0.10-cf5b354-202602161108.0","@flowfuse/nr-mqtt-nodes":"0.3.1-c41a2f8-202602161154.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-8ec66a8-202602161109.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.1-326cb1c-202602161155.0_1771242937928_0.07925163684821834","host":"s3://npm-registry-packages-npm-production"}},"2.27.1-326cb1c-202602161159.0":{"name":"@flowfuse/nr-launcher","version":"2.27.1-326cb1c-202602161159.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.1-326cb1c-202602161159.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"e22666e4751644de6fde4226e266ff8fd157d3d2","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.1-326cb1c-202602161159.0.tgz","fileCount":44,"integrity":"sha512-+3bgkdhEYibS2FrHNxGrEDfIYEV4aIAWZv8EAJ5MsLVg3l7DDMb3ICftsH9GH14I/+cSqYz961I9wfuUegDl4w==","signatures":[{"sig":"MEQCIE4J8L9tjrWD2clxd7AXtLPEx9/cis/IXeXfGzm7Lok7AiBkRcfTjRMCzsej4tk5RSAkHiyX7kyWN7RBHl/i/6et/Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":625705},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"326cb1ca269fbf2ce7c6ba0ef43ff14de774c7c9","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.10.3-4816d6d-202602161109.0","@flowfuse/nr-file-nodes":"0.0.10-cf5b354-202602161108.0","@flowfuse/nr-mqtt-nodes":"0.3.1-c41a2f8-202602161154.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-c7338d7-202602161158.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.1-326cb1c-202602161159.0_1771243188955_0.5113386653097196","host":"s3://npm-registry-packages-npm-production"}},"2.27.1-326cb1c-202602161320.0":{"name":"@flowfuse/nr-launcher","version":"2.27.1-326cb1c-202602161320.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.1-326cb1c-202602161320.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"78dd885339122cc3c23e72c42008ae54da849dac","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.1-326cb1c-202602161320.0.tgz","fileCount":44,"integrity":"sha512-j0ysvWQYdZLOLhVMX9WqogGr7PlUZF9HTEM8XEh5RuHYOut9gsW0Rsm/g1R3cTmVaLg+UKzfWflMpJplCLZhtg==","signatures":[{"sig":"MEUCIE0uEFDxOWs7ER+NwchgyAlZPaJxk03KaMqw2NPulKJqAiEAr7lVInu8HTrjd/FCj7ogjs12CryfyZjfH/dOAGezju8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":625705},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"326cb1ca269fbf2ce7c6ba0ef43ff14de774c7c9","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.10.3-4816d6d-202602161109.0","@flowfuse/nr-file-nodes":"0.0.10-cf5b354-202602161108.0","@flowfuse/nr-mqtt-nodes":"0.3.1-c41a2f8-202602161154.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-1a30a6d-202602161320.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.1-326cb1c-202602161320.0_1771248062176_0.9381272791550261","host":"s3://npm-registry-packages-npm-production"}},"2.27.1-326cb1c-202602161321.0":{"name":"@flowfuse/nr-launcher","version":"2.27.1-326cb1c-202602161321.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.1-326cb1c-202602161321.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"6c51c5b58776c595d9e229a3f3d6d423142d3992","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.1-326cb1c-202602161321.0.tgz","fileCount":44,"integrity":"sha512-Fl3EgEzI6jINOIu3TbluKxZmcOSbtsokrMoYYpnH2/4dRSf3xaf0hHABf1bCOrgrpXYEgg9iiUhumFaAp7FY2Q==","signatures":[{"sig":"MEYCIQDhmgPV5RG6sNSJxRlY7ptT8RpLZZNxB8aV4Ht2SBUX4AIhAJKwrHRdSwa62EdRWedzBNI1mpp318y2m1OWop8YZBgh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":625705},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"326cb1ca269fbf2ce7c6ba0ef43ff14de774c7c9","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.10.3-4816d6d-202602161109.0","@flowfuse/nr-file-nodes":"0.0.10-cf5b354-202602161108.0","@flowfuse/nr-mqtt-nodes":"0.3.1-c41a2f8-202602161154.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-1a30a6d-202602161320.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.1-326cb1c-202602161321.0_1771248075115_0.3476943964355548","host":"s3://npm-registry-packages-npm-production"}},"2.27.1-326cb1c-202602161352.0":{"name":"@flowfuse/nr-launcher","version":"2.27.1-326cb1c-202602161352.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.1-326cb1c-202602161352.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"d633945bc1a557eb21250a56384a49b91c412339","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.1-326cb1c-202602161352.0.tgz","fileCount":44,"integrity":"sha512-l+N+IWIMwFbmKBfqgObVL0nDTxFyMgEfWBNWUc1BV3aQWuVB58dFi6zPYPWh1r1fM28cyD7ImpkX0wn+s/2B7Q==","signatures":[{"sig":"MEUCIQC56+A6oKo6zd4vt4gdVRFrQG0glsEOFOQyiddFdRtq8wIgNbxcjo52hB6Om8Ksdk7x6rGfHGYLntFiac55SvfU3ak=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":625683},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"326cb1ca269fbf2ce7c6ba0ef43ff14de774c7c9","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.10.3-35cfe2c-202602161352.0","@flowfuse/nr-file-nodes":"0.0.10-cf5b354-202602161108.0","@flowfuse/nr-mqtt-nodes":"^0.3.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-1a30a6d-202602161320.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.1-326cb1c-202602161352.0_1771249953710_0.3293245673347265","host":"s3://npm-registry-packages-npm-production"}},"2.27.1-326cb1c-202602161504.0":{"name":"@flowfuse/nr-launcher","version":"2.27.1-326cb1c-202602161504.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.1-326cb1c-202602161504.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"1f97b0d5eba34f968a2a9fc0f1072c33a01a3bf3","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.1-326cb1c-202602161504.0.tgz","fileCount":44,"integrity":"sha512-umV8upBrKdzcSKg5duoomAUICjrvi0tVhtXtILWagOvo9CZzrbHJJmQSi6sNQylrflAAuw85Vge/cC580Ifs1Q==","signatures":[{"sig":"MEYCIQCiw3XvM2s1xrxhKX2rKZDjdng8iiE6SHtLnKfmaQ9AngIhALZZUnh2TRQv2l3C8Pqu9nTMXOru8b6n3z+QbcPvYuah","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":625683},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"326cb1ca269fbf2ce7c6ba0ef43ff14de774c7c9","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.10.3-35cfe2c-202602161504.0","@flowfuse/nr-file-nodes":"0.0.10-cf5b354-202602161108.0","@flowfuse/nr-mqtt-nodes":"^0.3.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-1a30a6d-202602161320.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.1-326cb1c-202602161504.0_1771254279589_0.644574108449556","host":"s3://npm-registry-packages-npm-production"}},"2.27.1-326cb1c-202602161604.0":{"name":"@flowfuse/nr-launcher","version":"2.27.1-326cb1c-202602161604.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.1-326cb1c-202602161604.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"4846c2357b25aca4298d2fbc0c9be177b83d35d6","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.1-326cb1c-202602161604.0.tgz","fileCount":44,"integrity":"sha512-rQIWbZxuC//ejKlHZpMAlriJFLU4BbHDjjPtUNY9o+35AhLhXCNhHRqkjCZa5Mfp5wX+zbFnSKAUSE9EiSQHrA==","signatures":[{"sig":"MEQCIEHj2PJa46Fyaz5OLtOAS5x27TGtpEMIjEl86+Bddb32AiAAlpQrNPFw9aIhxCMYQ5ZgxYUy5CO0AHbouQzHcSxa0g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":625683},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"326cb1ca269fbf2ce7c6ba0ef43ff14de774c7c9","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.10.3-35cfe2c-202602161604.0","@flowfuse/nr-file-nodes":"0.0.10-cf5b354-202602161108.0","@flowfuse/nr-mqtt-nodes":"^0.3.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-1a30a6d-202602161320.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.1-326cb1c-202602161604.0_1771257860442_0.8288316990082263","host":"s3://npm-registry-packages-npm-production"}},"2.27.1-10e05f2-202602162042.0":{"name":"@flowfuse/nr-launcher","version":"2.27.1-10e05f2-202602162042.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.1-10e05f2-202602162042.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"6fbead22479e1e3a1107d664b57c35c153c49f37","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.1-10e05f2-202602162042.0.tgz","fileCount":44,"integrity":"sha512-ugVeYAh4CojtY2JpZFMs6Ns16gFOhsSzcZwTkmrkMOSXphDAODa0KeWFaIevJ8cOzVh4PKxvKIAfp5aJpkvr0w==","signatures":[{"sig":"MEUCIQCOc40eFoxEmmf6drv1qQLCVK5hOBj6Ye6T0Hu5I1b3TQIgXTpthIk5YoFl1spfB13ASRU6i52+gindUu8A/vuCtJA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":625796},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"10e05f2d860c943d1bda376f729507ae40c5acea","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.10.3-4816d6d-202602161109.0","@flowfuse/nr-file-nodes":"0.0.10-cf5b354-202602161108.0","@flowfuse/nr-mqtt-nodes":"^0.3.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-1a30a6d-202602161320.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.1-10e05f2-202602162042.0_1771274542613_0.9675888669866866","host":"s3://npm-registry-packages-npm-production"}},"2.27.1-43173f6-202602162049.0":{"name":"@flowfuse/nr-launcher","version":"2.27.1-43173f6-202602162049.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.1-43173f6-202602162049.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"d746f34f822870f4bd7028cacdb4c63447be4564","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.1-43173f6-202602162049.0.tgz","fileCount":44,"integrity":"sha512-/aydE65phIlo+yHVEXEhFHORBYxrmJBn7vcY1iOgOjwrEVJR+xaS+H8Bbhhvb1VbUfHQPPS1srDvaP59Svty/g==","signatures":[{"sig":"MEYCIQCV9nqhwt2eLB43pt5X8cVHb4gb3USZMXiwfKbQ4jZ5dgIhAO85ceLsJuMGM3U9nQ57+FH5sKbLyzigsIQQ3p/xP6Zb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":625705},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"43173f660f047ea80c1facbed27fd52fa24b2f98","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.10.3-4816d6d-202602161109.0","@flowfuse/nr-file-nodes":"0.0.10-cf5b354-202602161108.0","@flowfuse/nr-mqtt-nodes":"0.3.1-c41a2f8-202602161154.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-1a30a6d-202602161320.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.1-43173f6-202602162049.0_1771275002161_0.6789620266128964","host":"s3://npm-registry-packages-npm-production"}},"2.27.1-43173f6-202602162050.0":{"name":"@flowfuse/nr-launcher","version":"2.27.1-43173f6-202602162050.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.1-43173f6-202602162050.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"42608b8977cbe4c75a15419ef874d54e8c591ad4","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.1-43173f6-202602162050.0.tgz","fileCount":44,"integrity":"sha512-c4HxqmlAD96AcQ3UjL+noPZmsD5BunQmgzKKx3SqEY0KVOHOKo2PMmn1AVeL6sQ42tZafEXJ8/GnWSTYUnD47g==","signatures":[{"sig":"MEQCIDO8/1RoggQwGP4B/0RTywlhtkB9nnAlZBZnJX+3E2akAiBhQWEfu7xtWVAAtV1sBijz0MP/IyhOwB+bN5katUxGIQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":625705},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"43173f660f047ea80c1facbed27fd52fa24b2f98","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.10.3-4816d6d-202602161109.0","@flowfuse/nr-file-nodes":"0.0.10-cf5b354-202602161108.0","@flowfuse/nr-mqtt-nodes":"0.3.1-c41a2f8-202602161154.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-1a30a6d-202602161320.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.1-43173f6-202602162050.0_1771275017338_0.7358647550398127","host":"s3://npm-registry-packages-npm-production"}},"2.27.1-43173f6-202602170703.0":{"name":"@flowfuse/nr-launcher","version":"2.27.1-43173f6-202602170703.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.1-43173f6-202602170703.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"6939690022c7933f06fd4adf39657cd6342c6502","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.1-43173f6-202602170703.0.tgz","fileCount":44,"integrity":"sha512-Q7UOG4GHpQUXmoZD0po1p3M0okTG6p15trk1vRLi98jr+vEOwu2NDXQe/RNo5U2fq+lQzEybpqs2up0/xHP+eQ==","signatures":[{"sig":"MEUCIBMO8iiGQIaSysZbNcYNK4MKQrDKXe1ACPJPx8neuzBcAiEAwvtSHShiP7QqPPuSJ9O9bUKF25tsr+HD9eINhCRwcYA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":625705},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"43173f660f047ea80c1facbed27fd52fa24b2f98","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.10.3-4816d6d-202602161109.0","@flowfuse/nr-file-nodes":"0.0.10-cf5b354-202602161108.0","@flowfuse/nr-mqtt-nodes":"0.3.1-a842433-202602170703.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-1a30a6d-202602161320.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.1-43173f6-202602170703.0_1771311822275_0.5152356952606787","host":"s3://npm-registry-packages-npm-production"}},"2.27.1-43173f6-202602171108.0":{"name":"@flowfuse/nr-launcher","version":"2.27.1-43173f6-202602171108.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.1-43173f6-202602171108.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"92bd36390a8543ea11149c0a53e07d36d19fdd31","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.1-43173f6-202602171108.0.tgz","fileCount":44,"integrity":"sha512-gdznqbvvzIY1Hh5Ro9ap51Fd0WxDZehvWdWQRDNVffqjFEqNgiwIcFDtoPr1DoQ7IPEmFG4U58c//Oy11qBKMA==","signatures":[{"sig":"MEUCIDC1QQPlvsVa7iqIZ5Rb11eKQVeVYtyU9unatHQ5babQAiEA1dCF00qY+JQ5bgyQ8mQGJ+wLVc0pR71v2rIsnW+XlHw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":625727},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"43173f660f047ea80c1facbed27fd52fa24b2f98","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.10.3-4816d6d-202602161109.0","@flowfuse/nr-file-nodes":"0.0.10-cf5b354-202602161108.0","@flowfuse/nr-mqtt-nodes":"0.3.1-c41a2f8-202602161154.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-1a30a6d-202602161320.0","@flowfuse/nr-subflow-export":"1.0.3-b5bb771-202602171108.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.1-43173f6-202602171108.0_1771326543311_0.5847236583370168","host":"s3://npm-registry-packages-npm-production"}},"2.27.1-43173f6-202602171129.0":{"name":"@flowfuse/nr-launcher","version":"2.27.1-43173f6-202602171129.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.1-43173f6-202602171129.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"060aee57d9f2787df7e2bbeee1194c0d84a5dc1b","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.1-43173f6-202602171129.0.tgz","fileCount":44,"integrity":"sha512-5Qf+Rbac+qMrK9da1Xl6xf3IU4/fzl+5ZgaDHgV6zaKihReEBgajDwiBUXz4Txz7I35C0m5kZhje9dd+9QiDbg==","signatures":[{"sig":"MEUCIQC7IUSZQx9rjWrd2L74vcUENTxh/Gy1r6c6/SPD7DoI7QIgSvuNlQKMNW6IhyVfKvKWTE93k8UCiqHOkHj+OQqUXe8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":625727},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"43173f660f047ea80c1facbed27fd52fa24b2f98","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.10.3-4816d6d-202602161109.0","@flowfuse/nr-file-nodes":"0.0.10-cf5b354-202602161108.0","@flowfuse/nr-mqtt-nodes":"0.3.1-c41a2f8-202602161154.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-1a30a6d-202602161320.0","@flowfuse/nr-subflow-export":"1.0.3-ef0a099-202602171128.0","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.1-43173f6-202602171129.0_1771327755034_0.3799936665719399","host":"s3://npm-registry-packages-npm-production"}},"2.27.1-43173f6-202602171636.0":{"name":"@flowfuse/nr-launcher","version":"2.27.1-43173f6-202602171636.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.1-43173f6-202602171636.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"ff0943180cd9dc7830ef769fd7819671bbaf3d23","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.1-43173f6-202602171636.0.tgz","fileCount":44,"integrity":"sha512-r852lHu428gZKt/Kmq9crJe8/OensvGGucQ9zrCO2QZNAw2dj+wVFIigh8P/GEobDG0EZPm/z+WsuhPJ1ksOVA==","signatures":[{"sig":"MEYCIQD2Au9rjlpQBu9rJcD/VJzUVeblCUr94Yb7lC48RltlXAIhANd7vrjBrpkwLTqEyvwHXE3Jxpei8K5CQaaFFbHc8Hso","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":625683},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"43173f660f047ea80c1facbed27fd52fa24b2f98","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.10.3-9afdf09-202602171635.0","@flowfuse/nr-file-nodes":"0.0.10-cf5b354-202602161108.0","@flowfuse/nr-mqtt-nodes":"^0.3.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-1a30a6d-202602161320.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.1-43173f6-202602171636.0_1771346168997_0.5191718203032281","host":"s3://npm-registry-packages-npm-production"}},"2.27.1-43173f6-202602190704.0":{"name":"@flowfuse/nr-launcher","version":"2.27.1-43173f6-202602190704.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.1-43173f6-202602190704.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"fcf61109c68caf5db4dd8c051f621b423925c97e","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.1-43173f6-202602190704.0.tgz","fileCount":44,"integrity":"sha512-NJIzmvzrG71YvE4wFLyjb2QqxinYLqH+En6g7Pip9koBNAO/MHrP8bS2tt0ALynwYjHm8ZwofeOQrJc6pt6JOQ==","signatures":[{"sig":"MEYCIQCZ7cTXQuoMM2xYwxF0KlXPHHPMUsJWFCjI+k+8e1/6LgIhAIBh53KoaF0nE3N3Qx7PUH2vHPm+MmADBQSDh48WsoeS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":625705},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"43173f660f047ea80c1facbed27fd52fa24b2f98","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.10.3-4816d6d-202602161109.0","@flowfuse/nr-file-nodes":"0.0.10-cf5b354-202602161108.0","@flowfuse/nr-mqtt-nodes":"0.3.1-544047c-202602190703.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-1a30a6d-202602161320.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.1-43173f6-202602190704.0_1771484694164_0.4158644184594267","host":"s3://npm-registry-packages-npm-production"}},"2.27.1-43173f6-202602190733.0":{"name":"@flowfuse/nr-launcher","version":"2.27.1-43173f6-202602190733.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.1-43173f6-202602190733.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"f110ea2c272b7c48fcf31d5b081a69412400ece2","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.1-43173f6-202602190733.0.tgz","fileCount":44,"integrity":"sha512-IpeYu7ZY8+fQjl1XmKeUPZbKcc/3Ui15MKt83xImhKaaakODuUy6hnCPKiEKepalfmEz0k3AxweIEVWUTGOpFA==","signatures":[{"sig":"MEYCIQCLOeFnvb8cvQJqYnfmhkods+GtqHWfUqU7aktXFTTqQwIhAKx/mFpIWMEcV6sLbHngKKYI+rAwj2qHD/SDl7frAe8H","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":625705},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"43173f660f047ea80c1facbed27fd52fa24b2f98","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.10.3-4816d6d-202602161109.0","@flowfuse/nr-file-nodes":"0.0.10-53d6fcd-202602190732.0","@flowfuse/nr-mqtt-nodes":"0.3.1-544047c-202602190703.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-1a30a6d-202602161320.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.1-43173f6-202602190733.0_1771486414888_0.33739243174115785","host":"s3://npm-registry-packages-npm-production"}},"2.27.1-43173f6-202602190923.0":{"name":"@flowfuse/nr-launcher","version":"2.27.1-43173f6-202602190923.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.1-43173f6-202602190923.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"d403b49556ea2f6303981baa2a401ed50261e468","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.1-43173f6-202602190923.0.tgz","fileCount":44,"integrity":"sha512-0qidxq934hQwYrYZxSOTyrpLheQSYNd8dU7Vw6WLtnh4vz4ZTC9MkrfdAyeFowZ6a2ec/q2qkhtBtOkORGGFpg==","signatures":[{"sig":"MEQCIGABRggT4nzvrtwc45bEvoliCVtAbe7KqBY0EfpqH60UAiAygH3OcnIzwyJ6m19v+ZfW0D8CC2JGu35vAwYeNTdpFQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":625705},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"43173f660f047ea80c1facbed27fd52fa24b2f98","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.10.3-4816d6d-202602161109.0","@flowfuse/nr-file-nodes":"0.0.10-53d6fcd-202602190732.0","@flowfuse/nr-mqtt-nodes":"0.3.1-9e702c9-202602190922.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-1a30a6d-202602161320.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.1-43173f6-202602190923.0_1771493029002_0.24279623032513742","host":"s3://npm-registry-packages-npm-production"}},"2.27.1-43173f6-202602190929.0":{"name":"@flowfuse/nr-launcher","version":"2.27.1-43173f6-202602190929.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.1-43173f6-202602190929.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"c2a876aaa127dad7ea19d80d522ad745cea8dad7","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.1-43173f6-202602190929.0.tgz","fileCount":44,"integrity":"sha512-1MIqLuom8yVC219g/vB2Sl8zzLScda7Q8Hkf3IzZUloZ6huic+YWy3NtJPQNeFVILGHLC/wWOYv9/c6znL0ayg==","signatures":[{"sig":"MEQCIBAkiyKI9ajAGeEvZCgA6dewUPsTFfuj+OeAaxxGqG1HAiAocT82Tkyuu2967M4ibFUU6pwK4M6YW95JLTN6NDJrdA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":625705},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"43173f660f047ea80c1facbed27fd52fa24b2f98","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.10.3-4816d6d-202602161109.0","@flowfuse/nr-file-nodes":"0.0.10-4097cf3-202602190928.0","@flowfuse/nr-mqtt-nodes":"0.3.1-9e702c9-202602190922.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-1a30a6d-202602161320.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.1-43173f6-202602190929.0_1771493389360_0.12417779054087519","host":"s3://npm-registry-packages-npm-production"}},"2.27.1-d0412a6-202602190932.0":{"name":"@flowfuse/nr-launcher","version":"2.27.1-d0412a6-202602190932.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.1-d0412a6-202602190932.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"5501aeafd6988482faee746c9b79ed5eec86d8eb","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.1-d0412a6-202602190932.0.tgz","fileCount":44,"integrity":"sha512-ukcF9a6pgSSDrbVb3EKwXVVDJAg+D6m5bMqIWiCFrbgI5eoWgDWx6WlkDFYPx9tcBIaVm+xXZWz7CxjgCl+UMA==","signatures":[{"sig":"MEYCIQCJQxT8oGytFOkiUGf/TRdJhYMv7VrtCb2Y5y/CSZqFsQIhAP5t2BC8Sv9Jjig07U7fDq0HIBrLVoWrSfYLsHJkm04p","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":625705},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"d0412a606389a5382f488c68bbeb8daac3ad0a90","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.10.3-4816d6d-202602161109.0","@flowfuse/nr-file-nodes":"0.0.10-4097cf3-202602190928.0","@flowfuse/nr-mqtt-nodes":"0.3.1-b47517f-202602190931.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-1a30a6d-202602161320.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.1-d0412a6-202602190932.0_1771493535791_0.5600556771065035","host":"s3://npm-registry-packages-npm-production"}},"2.27.1-d0412a6-202602190933.0":{"name":"@flowfuse/nr-launcher","version":"2.27.1-d0412a6-202602190933.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.1-d0412a6-202602190933.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"9b287490aaff8ae6d092821b41a7d33af41667fc","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.1-d0412a6-202602190933.0.tgz","fileCount":44,"integrity":"sha512-s3zJzP7WemcSWV95Xfspg/aqO8n6JcxFbe3y18wZL5vXUyxouoRx4xyJ8kNZUyojF4kpAqggTZvDDhZu8vZXmg==","signatures":[{"sig":"MEYCIQDeAt1ripy6o5+O70itEBTZj7SL0RMRnVopYEhK/+NxDAIhAPRGIYzyFboC8/xxP+MacqJ5496p3mNnD7aYEq4iFe3o","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":625705},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"d0412a606389a5382f488c68bbeb8daac3ad0a90","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.10.3-4816d6d-202602161109.0","@flowfuse/nr-file-nodes":"0.0.10-4097cf3-202602190928.0","@flowfuse/nr-mqtt-nodes":"0.3.1-b47517f-202602190931.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-1a30a6d-202602161320.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.1-d0412a6-202602190933.0_1771493604118_0.6141922605750751","host":"s3://npm-registry-packages-npm-production"}},"2.27.1-d0412a6-202602190935.0":{"name":"@flowfuse/nr-launcher","version":"2.27.1-d0412a6-202602190935.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.1-d0412a6-202602190935.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"c32df87fbfb180f4eda149fdd7f5d10773d2a285","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.1-d0412a6-202602190935.0.tgz","fileCount":44,"integrity":"sha512-sWACj5ppISCrgm1yFFm/rOAsVQiX/juC7qrOXa8uj/1U56iILcybaxZOWg4jDOqkI880czndbnOozNiOgu5CaQ==","signatures":[{"sig":"MEUCIBSNA8smzf7tRmSL/8hFqI+IocObF0dR6xlgDf0RXkxqAiEAsVVaocDXh1OnrItZwXdltUAb24P30t/w74YflTP2X2s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":625705},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"d0412a606389a5382f488c68bbeb8daac3ad0a90","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.10.3-4816d6d-202602161109.0","@flowfuse/nr-file-nodes":"0.0.10-4097cf3-202602190928.0","@flowfuse/nr-mqtt-nodes":"0.3.1-14c17fa-202602190934.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-1a30a6d-202602161320.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.1-d0412a6-202602190935.0_1771493751702_0.866786375366106","host":"s3://npm-registry-packages-npm-production"}},"2.27.1-d0412a6-202602261302.0":{"name":"@flowfuse/nr-launcher","version":"2.27.1-d0412a6-202602261302.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.1-d0412a6-202602261302.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"7ae42f9477a896a9caf389548adedb3a96b37372","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.1-d0412a6-202602261302.0.tgz","fileCount":44,"integrity":"sha512-7fikEMS+pRu6bnVxMOA4i3utbBgBaq3/ej64ncJ8U7/vHNgPkMVlNrAacVpdYxXvLC8XfDQ0rwdAci1o5AuEZg==","signatures":[{"sig":"MEUCIDyIAlUEo5YTXw/9Ne3Ty7pieiRgBDhaASpWSNC7rds9AiEAm/Cpl6CAIpBBtdm2LCV+mjyihwIY8LnGJ2A1ALr4aLo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":625703},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"d0412a606389a5382f488c68bbeb8daac3ad0a90","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.10.3-7d4b4d9-202602261302.0","@flowfuse/nr-file-nodes":"0.0.10-4097cf3-202602190928.0","@flowfuse/nr-mqtt-nodes":"0.3.1-14c17fa-202602190934.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-1a30a6d-202602161320.0","@flowfuse/nr-subflow-export":"null","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.1-d0412a6-202602261302.0_1772110956716_0.5124611597172173","host":"s3://npm-registry-packages-npm-production"}},"2.27.1-d0412a6-202602261456.0":{"name":"@flowfuse/nr-launcher","version":"2.27.1-d0412a6-202602261456.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.1-d0412a6-202602261456.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"34589f58e2bc13eb8ca8b6a18a2d421061a84d7d","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.1-d0412a6-202602261456.0.tgz","fileCount":44,"integrity":"sha512-bjDtpVHGxinezGAwuyZkobsZ51VW/YZFQaVB33i9R1h9RxXfyF4mh80e5KKp8fCvKq1B9HMT90+MwcSG/H4Dxg==","signatures":[{"sig":"MEQCIBv4n7TnJzQxZpnNB+UoFlptX7SBl+KFAnUYQGqUqgv0AiBJykL0NkCYHEW1YPqyQ5M16/i+82+7xkijnI7keS/qrA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":625703},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"d0412a606389a5382f488c68bbeb8daac3ad0a90","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.10.3-7d4b4d9-202602261456.0","@flowfuse/nr-file-nodes":"0.0.10-4097cf3-202602190928.0","@flowfuse/nr-mqtt-nodes":"0.3.1-14c17fa-202602190934.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-1a30a6d-202602161320.0","@flowfuse/nr-subflow-export":"null","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.1-d0412a6-202602261456.0_1772117803296_0.28300678064718165","host":"s3://npm-registry-packages-npm-production"}},"2.27.1-d0412a6-202602261608.0":{"name":"@flowfuse/nr-launcher","version":"2.27.1-d0412a6-202602261608.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.1-d0412a6-202602261608.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"9b73fde16d2a106f024ae7406a32d5e12706073d","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.1-d0412a6-202602261608.0.tgz","fileCount":44,"integrity":"sha512-wiLnMRWbfw2IKbAOoa0MY7AP1gc+YcgwSH7m1A4S3vhTAJ7AZQ6GCvF4/TCi1hZT7gR463Pr7ulM/5oBWBFjqw==","signatures":[{"sig":"MEUCIFBIHJodJWETNKY9oN8X0nACSWIvJM7UgT5T0EprC8iDAiEAiGInLiML/heUbopcEBxcUvyAw1p4iQtYDd0fI1oe8wA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":625704},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"d0412a606389a5382f488c68bbeb8daac3ad0a90","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.10.3-7d4b4d9-202602261608.0","@flowfuse/nr-file-nodes":"0.0.10-4097cf3-202602190928.0","@flowfuse/nr-mqtt-nodes":"0.3.1-14c17fa-202602190934.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-1a30a6d-202602161320.0","@flowfuse/nr-subflow-export":"1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.1-d0412a6-202602261608.0_1772122117240_0.8702433142568595","host":"s3://npm-registry-packages-npm-production"}},"2.27.1-d0412a6-202602261629.0":{"name":"@flowfuse/nr-launcher","version":"2.27.1-d0412a6-202602261629.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.1-d0412a6-202602261629.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"2e67232d1a47f29caf3680a7c9132b66a667de76","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.1-d0412a6-202602261629.0.tgz","fileCount":44,"integrity":"sha512-EtN3cc3DdImXLEutrCfmpTM26gGQZyvIqjsRXSt2s8yozvX8pFUQPeTbsOCMKBy4DWoBMseMV18Nf/8gDh9oOw==","signatures":[{"sig":"MEQCIHueCgSJTXXmqGrvOUhXvaC/TsAzyuJ551UtetMuQBXjAiAWow2Vf0CWGCcySURsre/1VLxeJXY2N6VV+Sy2S+WZGA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":625704},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"d0412a606389a5382f488c68bbeb8daac3ad0a90","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.10.3-7d4b4d9-202602261629.0","@flowfuse/nr-file-nodes":"0.0.10-4097cf3-202602190928.0","@flowfuse/nr-mqtt-nodes":"0.3.1-14c17fa-202602190934.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-1a30a6d-202602161320.0","@flowfuse/nr-subflow-export":"1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.1-d0412a6-202602261629.0_1772123399196_0.1746919918240588","host":"s3://npm-registry-packages-npm-production"}},"2.27.1-d0412a6-202602261647.0":{"name":"@flowfuse/nr-launcher","version":"2.27.1-d0412a6-202602261647.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.1-d0412a6-202602261647.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"1f7719e44297916528b916ceaa6ac7fe0423e89a","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.1-d0412a6-202602261647.0.tgz","fileCount":44,"integrity":"sha512-9/cyCFMMu8oqTwhD1X+vJI+DkwxIEsSrAP7tXP112AbSClhHBiuHmU8mGFoLOPCv7kOIUd64CD7mcXNwZVYFQw==","signatures":[{"sig":"MEUCIDouGh/zIU65mLfjN5redwOb0wR8QDFhzysGk6bKdB1aAiEA3a0gWTiriIQE9PNErAcg/69vWsxw1uXSWVgC7w+S2D0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":625705},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"d0412a606389a5382f488c68bbeb8daac3ad0a90","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.10.3-f8dc751-202602261646.0","@flowfuse/nr-file-nodes":"0.0.10-4097cf3-202602190928.0","@flowfuse/nr-mqtt-nodes":"0.3.1-14c17fa-202602190934.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-1a30a6d-202602161320.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.1-d0412a6-202602261647.0_1772124460324_0.22345267088741272","host":"s3://npm-registry-packages-npm-production"}},"2.27.1-d0412a6-202602261701.0":{"name":"@flowfuse/nr-launcher","version":"2.27.1-d0412a6-202602261701.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.1-d0412a6-202602261701.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"d4a96f69722e29328403ed0842d2b8c840a51161","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.1-d0412a6-202602261701.0.tgz","fileCount":44,"integrity":"sha512-auim10J/13HNVZ4z/sQls3/F1A39miR9v67gWe12NkRDpo0AktOPR7R60g8+0ZnYkqdovqodfTUt6If+5UE9DA==","signatures":[{"sig":"MEYCIQCm2/easvhTMXqUPxDW5x88UEDGjzJFdu4ljj9oo3K7TQIhAM/3CvdYJ6eb0s9kUP8jdzykbMVcXAjMWTTDiAUk3JP9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":625705},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"d0412a606389a5382f488c68bbeb8daac3ad0a90","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.10.3-45d3f53-202602261700.0","@flowfuse/nr-file-nodes":"0.0.10-4097cf3-202602190928.0","@flowfuse/nr-mqtt-nodes":"0.3.1-14c17fa-202602190934.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-1a30a6d-202602161320.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.1-d0412a6-202602261701.0_1772125293539_0.5723839437945795","host":"s3://npm-registry-packages-npm-production"}},"2.27.1-d0412a6-202602261709.0":{"name":"@flowfuse/nr-launcher","version":"2.27.1-d0412a6-202602261709.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.1-d0412a6-202602261709.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"30682f108bb8d852b4c2e5865b4e06f3d5a2a6bc","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.1-d0412a6-202602261709.0.tgz","fileCount":44,"integrity":"sha512-KAKGwwXy4a8KwzittG4KIOCr6rK57wYGtiFj4SYZEMjlz0F5F0kjGGiqun2eunv5deYPGrcMTKQWJ9bT22JgJA==","signatures":[{"sig":"MEUCIBxpT4cCEDI3jeOKkoahOOwt9XMUXs6xaHiPbq6mb0NmAiEAmtr0aGC8kNM3jxq8o78RjyXTm43uW6HOSwozmwD7pGM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":625705},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"d0412a606389a5382f488c68bbeb8daac3ad0a90","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.10.3-a3e1001-202602261708.0","@flowfuse/nr-file-nodes":"0.0.10-4097cf3-202602190928.0","@flowfuse/nr-mqtt-nodes":"0.3.1-14c17fa-202602190934.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-1a30a6d-202602161320.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.1-d0412a6-202602261709.0_1772125749526_0.05991202119064476","host":"s3://npm-registry-packages-npm-production"}},"2.27.1-d0412a6-202602261711.0":{"name":"@flowfuse/nr-launcher","version":"2.27.1-d0412a6-202602261711.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.1-d0412a6-202602261711.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"2eb2b55514fde98b07a6665224021abb30172033","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.1-d0412a6-202602261711.0.tgz","fileCount":44,"integrity":"sha512-oLPhBViQDgpVi0stJHAmOCVHXTMy1aYDnQs+8RCPDpeRYzA47X/9wQ/qoQtcKEs1IbRBZxTX3/+rgvm5sJDsJQ==","signatures":[{"sig":"MEUCIEody82r2dQ/gn3tMgIqizODCpc7+xtt0mndbmkRePcMAiEAyjEmjZAzzLDO7RoZMj1mhBLo0yVzPZgvc4QD1UBhMg0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":625705},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"d0412a606389a5382f488c68bbeb8daac3ad0a90","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.10.3-c5177f8-202602261710.0","@flowfuse/nr-file-nodes":"0.0.10-4097cf3-202602190928.0","@flowfuse/nr-mqtt-nodes":"0.3.1-14c17fa-202602190934.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-1a30a6d-202602161320.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.1-d0412a6-202602261711.0_1772125903950_0.37723551664709243","host":"s3://npm-registry-packages-npm-production"}},"2.27.1-d0412a6-202602261714.0":{"name":"@flowfuse/nr-launcher","version":"2.27.1-d0412a6-202602261714.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.1-d0412a6-202602261714.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"0dca1abd3b6d51a73286ad454f36c1be0c9362dd","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.1-d0412a6-202602261714.0.tgz","fileCount":44,"integrity":"sha512-KAE9hnEXsbthuPBWbbs1BF++nkWyQz5p53x0bYVjftfnY+X1tQ8yxHbyg2fOYrC3dgPiD4SvjBQDTEC3xLDIJA==","signatures":[{"sig":"MEUCIC7zsuZBkv9X2Bx3zciYrPWg3MnBIYLp6PaYps+ydP9MAiEAuO1RfpxprosrZOL2BWpTnAP/F4RQwPzWmPUCUyz3jow=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":625705},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"d0412a606389a5382f488c68bbeb8daac3ad0a90","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.10.3-454f406-202602261713.0","@flowfuse/nr-file-nodes":"0.0.10-4097cf3-202602190928.0","@flowfuse/nr-mqtt-nodes":"0.3.1-14c17fa-202602190934.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-1a30a6d-202602161320.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.1-d0412a6-202602261714.0_1772126079002_0.3477505231771876","host":"s3://npm-registry-packages-npm-production"}},"2.27.1-d0412a6-202602261717.0":{"name":"@flowfuse/nr-launcher","version":"2.27.1-d0412a6-202602261717.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.1-d0412a6-202602261717.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"d6137b970e7af9ed145c51c0870f6485393116da","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.1-d0412a6-202602261717.0.tgz","fileCount":44,"integrity":"sha512-GunIQVJ6ZzzglAZPy70g6MtVP3AKeAAtTyt7Ff0b2LEK9tzxlPC/lTaedSNd6GJuD24g8c+KHDkWl4TuWtVRQg==","signatures":[{"sig":"MEUCIE/6BQieDADSKwxw8wBrLb3yXN/67+jom+bLdYBdF/GzAiEAjoUB2L7yxwKoonZkw96QMUEnR/Y68E7vE2Y6ZNkYjtk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":625705},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"d0412a606389a5382f488c68bbeb8daac3ad0a90","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.10.3-93be964-202602261716.0","@flowfuse/nr-file-nodes":"0.0.10-4097cf3-202602190928.0","@flowfuse/nr-mqtt-nodes":"0.3.1-14c17fa-202602190934.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-1a30a6d-202602161320.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.1-d0412a6-202602261717.0_1772126246594_0.18327096640392337","host":"s3://npm-registry-packages-npm-production"}},"2.27.1-d0412a6-202602261723.0":{"name":"@flowfuse/nr-launcher","version":"2.27.1-d0412a6-202602261723.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.1-d0412a6-202602261723.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"bd6d0c3894e3849526c72334af08714033fabadf","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.1-d0412a6-202602261723.0.tgz","fileCount":44,"integrity":"sha512-lsfVF6x5MblEcIqrQLhsrR1rSEj8hGsldjjLqU/YaESNA1ryKuSlxrpSDceWKQzdnxIFvxlXcUZCGcm8hb8zEQ==","signatures":[{"sig":"MEYCIQDBXGsjQ87irXM/hwcBaYeKMpjO9WqnOagPPPYF8dBzNAIhAMndB/1e6EfWvcFbDBU50iPVlqZ4Eo66JzlsZABZWjqf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":625705},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"d0412a606389a5382f488c68bbeb8daac3ad0a90","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-b07241c-202602261722.0","@flowfuse/nr-file-nodes":"0.0.10-4097cf3-202602190928.0","@flowfuse/nr-mqtt-nodes":"0.3.1-14c17fa-202602190934.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-1a30a6d-202602161320.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.1-d0412a6-202602261723.0_1772126613196_0.9327995275448409","host":"s3://npm-registry-packages-npm-production"}},"2.27.1-38e7a9e-202602270831.0":{"name":"@flowfuse/nr-launcher","version":"2.27.1-38e7a9e-202602270831.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.1-38e7a9e-202602270831.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"2c22ed6b338cb5410a37e3202eb68848c6423dd6","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.1-38e7a9e-202602270831.0.tgz","fileCount":44,"integrity":"sha512-lcuxY5v753GpSzD+I0rEYP+dxWd7AeAfnRwX1EnPk3U7sGMmeqbocpyb0Ztv7+NLs5t28w7oCvadn42YegnlBw==","signatures":[{"sig":"MEQCIB0b1hnM9fnG5tuzUSeqd/K6a4EAASZ0HgvlZCE/2yJeAiAX5UaTyN5DuUVAJ3tKGcnIBUrARxF1d4lK1M86dPvTLw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":625705},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"38e7a9ec0e34e875c744768a6789f118a997d2ef","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-b07241c-202602261722.0","@flowfuse/nr-file-nodes":"0.0.10-4097cf3-202602190928.0","@flowfuse/nr-mqtt-nodes":"0.3.1-14c17fa-202602190934.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-1a30a6d-202602161320.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.1-38e7a9e-202602270831.0_1772181101503_0.37919741771933624","host":"s3://npm-registry-packages-npm-production"}},"2.27.1-97d7a48-202602270835.0":{"name":"@flowfuse/nr-launcher","version":"2.27.1-97d7a48-202602270835.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.1-97d7a48-202602270835.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"2b853b2a1079a8cc1391070d4a0f896ffc676538","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.1-97d7a48-202602270835.0.tgz","fileCount":44,"integrity":"sha512-MEKSP4HOWAveBZ1Z7LafQ0M4jgRgBB1WHOA9dpvMZVwAmzVdxe+JOq+igFw5/IbX+KZNxEWq2dp94TzUyUQewg==","signatures":[{"sig":"MEUCIAy1o5z8NTjhErCUyZao4944JEsrKx5DR/+xWuCW8RjFAiEAncxVlrUGmUjg4uo10iKlfs4YBLF7JGUamvnbzGTt4Dg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":625705},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"97d7a480fd852856147bd9cc2b0a17898220d1b5","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-b07241c-202602261722.0","@flowfuse/nr-file-nodes":"0.0.10-4097cf3-202602190928.0","@flowfuse/nr-mqtt-nodes":"0.3.1-14c17fa-202602190934.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-1a30a6d-202602161320.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.1-97d7a48-202602270835.0_1772181331190_0.5238745280260069","host":"s3://npm-registry-packages-npm-production"}},"2.27.1-f6d4170-202602270837.0":{"name":"@flowfuse/nr-launcher","version":"2.27.1-f6d4170-202602270837.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.1-f6d4170-202602270837.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"006132452dc69d9d73b23d63354c002de75b4944","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.1-f6d4170-202602270837.0.tgz","fileCount":44,"integrity":"sha512-ZIjFo8iJPYyuVO8PuIZZPAQi4PL/ShRiLpi4QMY1qI5aIaLVFbdh1Ko0Z6vegwGEVf2Cx1Kn2+CP5/pz0N032g==","signatures":[{"sig":"MEYCIQDxHLg6IhbzuT1qAMpyI0UUdIvf+ODgBLGl5dUSrO6duAIhALu+Okyp8AUXTP6S8FctG+uWiF+yVoVrEjj96r0xRTD/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":625705},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"f6d4170f143d5468d5be0bdfe1a5b309f014bb33","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-b07241c-202602261722.0","@flowfuse/nr-file-nodes":"0.0.10-4097cf3-202602190928.0","@flowfuse/nr-mqtt-nodes":"0.3.1-14c17fa-202602190934.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-1a30a6d-202602161320.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.1-f6d4170-202602270837.0_1772181485328_0.34241402036915947","host":"s3://npm-registry-packages-npm-production"}},"2.27.1":{"name":"@flowfuse/nr-launcher","version":"2.27.1","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.1","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"f840b79f7178e49ecd22c8171d9e2deeb4cc3867","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.1.tgz","fileCount":44,"integrity":"sha512-k0KVHGeCCC5v4d2VU2Hv8MGqBAz3vmPGeGPoQV0eRzONSy4FeXOQ9NK+ZwBhy0C52VMp5Y+oCGhCGTOeJueXRQ==","signatures":[{"sig":"MEUCIQCSjByjKmgYHOynUxxSv6RAVOSi7zzFflIRYh+gYH6buwIgO58cZl7S0RZ+SzZvhk+dbQcbRtHGrPmEmFsDJ46W00g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":626320},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"e6ed5892ecdaa91e621b4ba855ece05bd5d8daa6","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"^0.11.0","@flowfuse/nr-file-nodes":"^0.0.9","@flowfuse/nr-mqtt-nodes":"^0.3.0","@flowfuse/nr-tables-nodes":"^0.2.1","@flowfuse/nr-project-nodes":"^0.7.8","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.1_1772188811831_0.9155444001443764","host":"s3://npm-registry-packages-npm-production"}},"2.27.2-e6ed589-202602271040.0":{"name":"@flowfuse/nr-launcher","version":"2.27.2-e6ed589-202602271040.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.2-e6ed589-202602271040.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"e097cda3bf46e740aeed57fe7fbc3216b9094503","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.2-e6ed589-202602271040.0.tgz","fileCount":44,"integrity":"sha512-4QD2rYXvogogQp3+Xpae1fnMyAyKGZ56WJrE0tPqHUSS0ei6UWdgc/Oo5gLwILhFykkelNkt5r0+xnxI9+Z/IQ==","signatures":[{"sig":"MEUCIQCkn3QR06t7oqXMCETDHD8+vafaM82RMNfP6nUUrs/JVAIgaSHssqWIwL90/z1Bsjn8pFjHdPtWJp8mgLc4KEgrY1c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":626454},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"e6ed5892ecdaa91e621b4ba855ece05bd5d8daa6","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-b07241c-202602261722.0","@flowfuse/nr-file-nodes":"0.0.10-4097cf3-202602190928.0","@flowfuse/nr-mqtt-nodes":"0.3.1-14c17fa-202602190934.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-1a30a6d-202602161320.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.2-e6ed589-202602271040.0_1772188814207_0.043189409348306285","host":"s3://npm-registry-packages-npm-production"}},"2.27.2-e6ed589-202602271654.0":{"name":"@flowfuse/nr-launcher","version":"2.27.2-e6ed589-202602271654.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.2-e6ed589-202602271654.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"4e46d7a74205e132d2334f3f24a5ac8dcdf875c0","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.2-e6ed589-202602271654.0.tgz","fileCount":44,"integrity":"sha512-lGrnBj2+5sRoc8aNvDiKcnLXPAQVA3WX0wssAmVtOGkNb7nnB77ABltZoZG0qbCf10F0ggm2s0313NGhqEJsiQ==","signatures":[{"sig":"MEQCICi5YOw+/TjXsCPQQcRQmy5PiRxdB76vzEoxUIWGUyAeAiA8kq/6kC0S7zZ0eW5McLNZcj1Ui/5e64/LvmawYBy2Dg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":626454},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"e6ed5892ecdaa91e621b4ba855ece05bd5d8daa6","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-b07241c-202602261722.0","@flowfuse/nr-file-nodes":"0.0.10-bccba8c-202602271653.0","@flowfuse/nr-mqtt-nodes":"0.3.1-14c17fa-202602190934.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-1a30a6d-202602161320.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.2-e6ed589-202602271654.0_1772211255873_0.9979908512986266","host":"s3://npm-registry-packages-npm-production"}},"2.27.2-e6ed589-202602271656.0":{"name":"@flowfuse/nr-launcher","version":"2.27.2-e6ed589-202602271656.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.2-e6ed589-202602271656.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"42428bef8568764dafed3148af4978dffcf7c00b","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.2-e6ed589-202602271656.0.tgz","fileCount":44,"integrity":"sha512-ZdxoChWeSry0kMLyYGjz8cs0i3hfqh39UYHh8+AGiXBY75/RovSfUsyCHcAemZ9uNXvExbYNjZ+wQpf4lx1W4g==","signatures":[{"sig":"MEUCIHRchCic6NtKNtLD/mjizA+GvYjbE0paD7S1MA8+mCIHAiEAvBNDDJ8HDHlH68Uu5ACGU6n0dvhBaxXdjkJ5J7GUJKQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":626454},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"e6ed5892ecdaa91e621b4ba855ece05bd5d8daa6","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-b07241c-202602261722.0","@flowfuse/nr-file-nodes":"0.0.10-9394ec4-202602271655.0","@flowfuse/nr-mqtt-nodes":"0.3.1-14c17fa-202602190934.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-1a30a6d-202602161320.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.2-e6ed589-202602271656.0_1772211375998_0.39236126934395066","host":"s3://npm-registry-packages-npm-production"}},"2.27.2-e6ed589-202603020621.0":{"name":"@flowfuse/nr-launcher","version":"2.27.2-e6ed589-202603020621.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.2-e6ed589-202603020621.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"d7fae12af21d6b0e001b111f98b1bafe136ffe56","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.2-e6ed589-202603020621.0.tgz","fileCount":44,"integrity":"sha512-qaND2I7rGYk0hx0tfXgkGMk33O4zAwLNqKEl5zate/9CbJCnhmXsKU8hLusiZ/dnqJ2t6lN12kmE8iBaNC2ipg==","signatures":[{"sig":"MEQCICxrKSKUeK+Q8wHxyTCxpy46jfXhohyPezr4ohnLpnOYAiB6/zA1FiPqZVtxDQXOZ6csMuFSyQjZCjwX8fSwxdNd5w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":626454},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"e6ed5892ecdaa91e621b4ba855ece05bd5d8daa6","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-edc0c14-202603020620.0","@flowfuse/nr-file-nodes":"0.0.10-9394ec4-202602271655.0","@flowfuse/nr-mqtt-nodes":"0.3.1-14c17fa-202602190934.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-1a30a6d-202602161320.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.2-e6ed589-202603020621.0_1772432485613_0.937623155939348","host":"s3://npm-registry-packages-npm-production"}},"2.27.2-e6ed589-202603020622.0":{"name":"@flowfuse/nr-launcher","version":"2.27.2-e6ed589-202603020622.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.2-e6ed589-202603020622.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"667030222c45172bea9f43962bb91e772307d6e2","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.2-e6ed589-202603020622.0.tgz","fileCount":44,"integrity":"sha512-hqYtxXeHkpGKSV9SRN4FTAH2/K5XhA7My/Pa2h+sO0H1r6Ax5YfKBrkSjsnQDjYbzmMhngE/VYayUqMuf6L8ww==","signatures":[{"sig":"MEYCIQD9nWYzAw1EB4pOMOvp9Yl0iMJ0PmEdOnq1m4mKr6FcwAIhAN26tbQ+06b2G7aoS+tThtgvqO2QfmK+SnF8RCScYWdD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":626454},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"e6ed5892ecdaa91e621b4ba855ece05bd5d8daa6","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-6adaac4-202603020621.0","@flowfuse/nr-file-nodes":"0.0.10-9394ec4-202602271655.0","@flowfuse/nr-mqtt-nodes":"0.3.1-14c17fa-202602190934.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-1a30a6d-202602161320.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.2-e6ed589-202603020622.0_1772432562938_0.7353007866278343","host":"s3://npm-registry-packages-npm-production"}},"2.27.2-e6ed589-202603021320.0":{"name":"@flowfuse/nr-launcher","version":"2.27.2-e6ed589-202603021320.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.2-e6ed589-202603021320.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"707d50339d91d7c1829bab07072b5f2845a5ae09","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.2-e6ed589-202603021320.0.tgz","fileCount":44,"integrity":"sha512-4mnTPWV8oELTbidopGXlG+x0E6uSYVu4sw8c0kceNRVQo17F0yJPNbXN0SgIaDWrUDHi7E8iBj85h1bv8hx0xA==","signatures":[{"sig":"MEQCIGACWQndMlV5qiOvf4enHeST083C0VhlPY6v5IeUN61TAiBmJ4y9SbUEqxp7TJLFeWFODgBoZeaKMp9xutkhkSRQfw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":626454},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"e6ed5892ecdaa91e621b4ba855ece05bd5d8daa6","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-6adaac4-202603020621.0","@flowfuse/nr-file-nodes":"0.0.10-9394ec4-202602271655.0","@flowfuse/nr-mqtt-nodes":"0.3.1-14c17fa-202602190934.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-7812d33-202603021319.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.2-e6ed589-202603021320.0_1772457643790_0.23520301072745187","host":"s3://npm-registry-packages-npm-production"}},"2.27.2-e6ed589-202603021328.0":{"name":"@flowfuse/nr-launcher","version":"2.27.2-e6ed589-202603021328.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.2-e6ed589-202603021328.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"e925063799e49ff2945d0c60686aa917f71b382c","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.2-e6ed589-202603021328.0.tgz","fileCount":44,"integrity":"sha512-ySlIweRDT/aEEAL1CnfVNKALDt+lh1+tuBmlGLOVbiQNcvJWvDAEMHCjtqQBVU0vBrfdT6u19qA+L4fwnMZqqg==","signatures":[{"sig":"MEUCIHJxswtrnrOTrgltBide9E/p2/0uz2I4CyVdcFo1MxIwAiEA6jpxhb3K69XH1vodul3+mjXI1xz5zclJb4YE4vkCw1I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":626454},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"e6ed5892ecdaa91e621b4ba855ece05bd5d8daa6","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-6adaac4-202603020621.0","@flowfuse/nr-file-nodes":"0.0.10-9394ec4-202602271655.0","@flowfuse/nr-mqtt-nodes":"0.3.1-14c17fa-202602190934.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-162c836-202603021327.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.2-e6ed589-202603021328.0_1772458118080_0.7032401467542502","host":"s3://npm-registry-packages-npm-production"}},"2.27.2-e6ed589-202603021332.0":{"name":"@flowfuse/nr-launcher","version":"2.27.2-e6ed589-202603021332.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.2-e6ed589-202603021332.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"654ecdb58d720cb1e0ca573f9e6a65f1f927c3a2","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.2-e6ed589-202603021332.0.tgz","fileCount":44,"integrity":"sha512-Bjt7zXijHwVdoLAvkwBk5tI6mqplTzAtb02IUoralycY31ClDAtasvq3habrq/IODTQZ5ssO3GtofvtVtyfsgA==","signatures":[{"sig":"MEYCIQD0mS2t+WNfEq+jppvbmrgmPGF2ZyR+syQM4doKd98+dAIhAKRKSRP/GJONEAfx87xVmxl+S4Lm1DSVj6T7ymahcQlX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":626454},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"e6ed5892ecdaa91e621b4ba855ece05bd5d8daa6","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-6adaac4-202603020621.0","@flowfuse/nr-file-nodes":"0.0.10-9394ec4-202602271655.0","@flowfuse/nr-mqtt-nodes":"0.3.1-fb14f3b-202603021331.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-162c836-202603021327.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.2-e6ed589-202603021332.0_1772458338918_0.8214318689179487","host":"s3://npm-registry-packages-npm-production"}},"2.27.2-e6ed589-202603021343.0":{"name":"@flowfuse/nr-launcher","version":"2.27.2-e6ed589-202603021343.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.2-e6ed589-202603021343.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"9b8c2a3cb330680fb33b11da362e40607a74a42e","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.2-e6ed589-202603021343.0.tgz","fileCount":44,"integrity":"sha512-iyt3Z35EheMzB/QQfcN4KQfK7IlEv4JVaxJbp90XAxx0ixT3Xg4v1s9MOs7OZljxa5+t//w+2beukTxEXd3fWw==","signatures":[{"sig":"MEYCIQDStcFr1GbhO4zgg6uisLUl4JwUOnBzfdsiIG4LQPbaEwIhAOBPhM9nH9DS3DFNGRuS6awB8pAJp7UnE7Xg0p13j4h1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":626454},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"e6ed5892ecdaa91e621b4ba855ece05bd5d8daa6","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-6adaac4-202603020621.0","@flowfuse/nr-file-nodes":"0.0.10-9394ec4-202602271655.0","@flowfuse/nr-mqtt-nodes":"0.3.1-fb14f3b-202603021331.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-782982a-202603021342.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.2-e6ed589-202603021343.0_1772459044696_0.2030969170659942","host":"s3://npm-registry-packages-npm-production"}},"2.27.2-e6ed589-202603021345.0":{"name":"@flowfuse/nr-launcher","version":"2.27.2-e6ed589-202603021345.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.2-e6ed589-202603021345.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"068aa3c352b0895fa8c4518ffb1ee08ab28f906d","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.2-e6ed589-202603021345.0.tgz","fileCount":44,"integrity":"sha512-wKL0Fdov4QRkkQwaLkfIS3zVQVrZN7Qv0gZMpfXkoexfxA+izSNbrckHCV/Z8hLph9xv2Ebc5xVE13kMJbKuxQ==","signatures":[{"sig":"MEUCIGG0nSqQzuYN5UeTnyAcjvpLfWouHefL1kvSeYNFo7HCAiEArFuKQXL40Yu5E9qQssnl+MuzqO2jxChGdngBsXCZ/5I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":626454},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"e6ed5892ecdaa91e621b4ba855ece05bd5d8daa6","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-6adaac4-202603020621.0","@flowfuse/nr-file-nodes":"0.0.10-9394ec4-202602271655.0","@flowfuse/nr-mqtt-nodes":"0.3.1-fb14f3b-202603021331.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-0e8a4a2-202603021345.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.2-e6ed589-202603021345.0_1772459164907_0.5427195924742698","host":"s3://npm-registry-packages-npm-production"}},"2.27.2-e6ed589-202603021346.0":{"name":"@flowfuse/nr-launcher","version":"2.27.2-e6ed589-202603021346.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.2-e6ed589-202603021346.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"22b154c342476e64e6d5782e03fcaf1ab43019bf","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.2-e6ed589-202603021346.0.tgz","fileCount":44,"integrity":"sha512-yG+ZSfjd8v5mH4grH1hefYrmqDRzzjXwOe5GhYvtwSjXGuyL54k7pdrIGVmYj15j6b599DlCllqm2zizL+0cZg==","signatures":[{"sig":"MEUCIGLj0ofFqohAxjiLGVdSoRwrdD1mj4FL51AYtijkZ7brAiEAh9k+Xl3wHpOtua1qBpefilH4SXkDAELT0gwU7p/Aqv0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":626454},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"e6ed5892ecdaa91e621b4ba855ece05bd5d8daa6","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-6adaac4-202603020621.0","@flowfuse/nr-file-nodes":"0.0.10-9394ec4-202602271655.0","@flowfuse/nr-mqtt-nodes":"0.3.1-fb14f3b-202603021331.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-0e8a4a2-202603021345.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.2-e6ed589-202603021346.0_1772459179678_0.9545725086100438","host":"s3://npm-registry-packages-npm-production"}},"2.27.2-e6ed589-202603021601.0":{"name":"@flowfuse/nr-launcher","version":"2.27.2-e6ed589-202603021601.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.2-e6ed589-202603021601.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"a331199ad40bdc0321e7437b9af2abbd4b3db706","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.2-e6ed589-202603021601.0.tgz","fileCount":44,"integrity":"sha512-T+Nrh+pFQi6usdvIxcAyyJ1uEGlTIpfSAd5Sk+BfSLMt8gwtvorEzM24tSeEX0JcJG1vTv9jrAjElCmwsQlBsw==","signatures":[{"sig":"MEUCICIAj4JNjnGmDHEImdElZvILPzIo5CFoOdF8RyVNDxXPAiEAqdBo7U6/n6R82cEHp8K57gUB84N6NDuCJY9zBKtVHcU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":626454},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"e6ed5892ecdaa91e621b4ba855ece05bd5d8daa6","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-6adaac4-202603020621.0","@flowfuse/nr-file-nodes":"0.0.10-1444d28-202603021600.0","@flowfuse/nr-mqtt-nodes":"0.3.1-fb14f3b-202603021331.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-0e8a4a2-202603021345.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.2-e6ed589-202603021601.0_1772467293777_0.7484618070789046","host":"s3://npm-registry-packages-npm-production"}},"2.27.2-e6ed589-202603021602.0":{"name":"@flowfuse/nr-launcher","version":"2.27.2-e6ed589-202603021602.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.2-e6ed589-202603021602.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"96e5d27fa31e637dcecf95bfd608c1c80a7f55c4","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.2-e6ed589-202603021602.0.tgz","fileCount":44,"integrity":"sha512-SNipAmU0qCMhDiTgm84Oz8Y7Z3bdO3VnjLUPTF3jdzllSFqoHnP+H21zR9l3Ofjz064ebogsmHEP6ebMrv46PA==","signatures":[{"sig":"MEYCIQC0PRSzLPh0KHkCzIsyRtMkGfc3311orF//ZWUoLe8yPgIhAOtpN1VbsCuls52MR7nWJ4acyEy5QhrOrTZnw0Aa60Gp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":626454},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"e6ed5892ecdaa91e621b4ba855ece05bd5d8daa6","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-6adaac4-202603020621.0","@flowfuse/nr-file-nodes":"0.0.10-a12e172-202603021602.0","@flowfuse/nr-mqtt-nodes":"0.3.1-fb14f3b-202603021331.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-0e8a4a2-202603021345.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.2-e6ed589-202603021602.0_1772467379127_0.8629543183702897","host":"s3://npm-registry-packages-npm-production"}},"2.27.2-e6ed589-202603021603.0":{"name":"@flowfuse/nr-launcher","version":"2.27.2-e6ed589-202603021603.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.2-e6ed589-202603021603.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"588e8e3e3ba30cddd97848d0d9afe02105380137","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.2-e6ed589-202603021603.0.tgz","fileCount":44,"integrity":"sha512-nUQClKDw7RhYqQyTH6XPfvz7wU8w9mNbNn4QkbfTlqeDgpuFvlC5esoiHBS34mnECQe6ZjZlXvEL/YYWi602Sw==","signatures":[{"sig":"MEUCIAEcXCRuYmGhS1jTmZ/CmBeLSiXjGfRM1FSHchVSt0JaAiEAi2zQPAnzbqU9m/0HfL76KxuybGsSRYPI6CcBo1fGrSo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":626454},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"e6ed5892ecdaa91e621b4ba855ece05bd5d8daa6","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-6adaac4-202603020621.0","@flowfuse/nr-file-nodes":"0.0.10-a12e172-202603021602.0","@flowfuse/nr-mqtt-nodes":"0.3.1-fb14f3b-202603021331.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-0e8a4a2-202603021345.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.2-e6ed589-202603021603.0_1772467415254_0.6378590643848785","host":"s3://npm-registry-packages-npm-production"}},"2.27.2-d184699-202603031219.0":{"name":"@flowfuse/nr-launcher","version":"2.27.2-d184699-202603031219.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.2-d184699-202603031219.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"c245fbcfe47f11c2ab5df474dedeacb456d31710","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.2-d184699-202603031219.0.tgz","fileCount":44,"integrity":"sha512-KZpQ2ZTB3UVIGYF2639OY9rZA28S+YtvTl7f3PkDoagJp1fVK00VtPdDIh3YpTB5HWdogGqkk1dYIVMasUIklw==","signatures":[{"sig":"MEYCIQCTppoAiVKIr5OaMuW/X2+fUGf9OkFMQ1I+CmqkkCELtwIhAOrhRcyWy9hkoJhUtAQcn3ixogevXn0phfnYYTOh3y2T","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":626454},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"d18469944bd8d8613bcc9f123d4deb98e3cfc735","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-6adaac4-202603020621.0","@flowfuse/nr-file-nodes":"0.0.10-a12e172-202603021602.0","@flowfuse/nr-mqtt-nodes":"0.3.1-fb14f3b-202603021331.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-0e8a4a2-202603021345.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.2-d184699-202603031219.0_1772540392452_0.4367263131035215","host":"s3://npm-registry-packages-npm-production"}},"2.27.2-d184699-202603031220.0":{"name":"@flowfuse/nr-launcher","version":"2.27.2-d184699-202603031220.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.2-d184699-202603031220.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"db517367c93cdd843da20c4efdfa12dfacea1c23","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.2-d184699-202603031220.0.tgz","fileCount":44,"integrity":"sha512-2QOPIzIcTedWr0x/0gZHxohgfHNLF5RXvYOHuw5MNXRpZepv1BqTWdcm5Ov6SxYpzgqRxTaqLpROfab2PUg8+g==","signatures":[{"sig":"MEQCIGLD/amPCYLeTA78inPPxI2xPcrp7EQp6JngyeJ5EmFDAiAJ3NfEfbZ1tXltGz8A6ox9X9lpQIfx5XdW/2qfk2WqPA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":626454},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"d18469944bd8d8613bcc9f123d4deb98e3cfc735","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-6adaac4-202603020621.0","@flowfuse/nr-file-nodes":"0.0.10-a12e172-202603021602.0","@flowfuse/nr-mqtt-nodes":"0.3.1-fb14f3b-202603021331.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-0e8a4a2-202603021345.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.2-d184699-202603031220.0_1772540420933_0.14349465050007604","host":"s3://npm-registry-packages-npm-production"}},"2.27.2-b33f0d9-202603031408.0":{"name":"@flowfuse/nr-launcher","version":"2.27.2-b33f0d9-202603031408.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.2-b33f0d9-202603031408.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"80893228a1e7524adf9ad75d09422acb653258aa","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.2-b33f0d9-202603031408.0.tgz","fileCount":44,"integrity":"sha512-NjCbeEeATXzURd2gIP+UrJjDpxMihlrK5i9+p8oZCyk64gfJ8kzDSYMxpwfhz7VbAYGAg1HQbp7WNkQqDjvRew==","signatures":[{"sig":"MEUCIQDGeO8wYbJoEAtsaTGrdZBJay6XAjL1Mue8RLDtScJMmwIgNrTvKKTQjY/zPg0X2V4xj17vX9qXove6SBePDjxEW3s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":626454},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"b33f0d99ad0201b588fee8cce7fc39ccf2f9394e","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-6adaac4-202603020621.0","@flowfuse/nr-file-nodes":"0.0.10-a12e172-202603021602.0","@flowfuse/nr-mqtt-nodes":"0.3.1-fb14f3b-202603021331.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-0e8a4a2-202603021345.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.2-b33f0d9-202603031408.0_1772546938944_0.44144535517196837","host":"s3://npm-registry-packages-npm-production"}},"2.27.2-fd3c3b7-202603052151.0":{"name":"@flowfuse/nr-launcher","version":"2.27.2-fd3c3b7-202603052151.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.2-fd3c3b7-202603052151.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"29a430c148fbb226912b630a6be9945769c7871f","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.2-fd3c3b7-202603052151.0.tgz","fileCount":44,"integrity":"sha512-jrtWW/VZLVNaAdc6whpJdKRb0w2wKN8VUsDHaq+V5mmKljFTtdWKBuyyUFYrW02DXZTyehBO5NNaZTZpmxzThg==","signatures":[{"sig":"MEYCIQDceQxnYBe1z1SqBt5Lcqh1tEo8CDYAVLNfSnP0UKeJJwIhAPv2bytlqck7wkULlzWUAvKoG4N4+xl0HVrShI5zgoCw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":626454},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"fd3c3b74838cf503dfd703a91a68ce60bfc49d40","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-6adaac4-202603020621.0","@flowfuse/nr-file-nodes":"0.0.10-a12e172-202603021602.0","@flowfuse/nr-mqtt-nodes":"0.3.1-fb14f3b-202603021331.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-0e8a4a2-202603021345.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.2-fd3c3b7-202603052151.0_1772747502136_0.10931487891950886","host":"s3://npm-registry-packages-npm-production"}},"2.27.2-bad5b34-202603052153.0":{"name":"@flowfuse/nr-launcher","version":"2.27.2-bad5b34-202603052153.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.2-bad5b34-202603052153.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"3db1bc31172d2eed9060d087f3944eb4308f4cc0","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.2-bad5b34-202603052153.0.tgz","fileCount":44,"integrity":"sha512-44hz6STxcdhuYr46HLCzEeB2BLjZP6ZXtFgrG4MgFbuAR17puVUwK9Ltuql8ZNwWRMauXDzY1/behdEGrSZs9g==","signatures":[{"sig":"MEYCIQCB3YhNdP+Q/3zNHH/EHYBwFdmFZS390loDKw2kGa79IAIhAIK2DwT+4xTMbuQf3L+C+naPqqbbEaAEUNI76xzUaMCr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":626454},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"bad5b34ebc09a73313dbe2a7b849195793ed28e3","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-6adaac4-202603020621.0","@flowfuse/nr-file-nodes":"0.0.10-a12e172-202603021602.0","@flowfuse/nr-mqtt-nodes":"0.3.1-fb14f3b-202603021331.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-0e8a4a2-202603021345.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.2-bad5b34-202603052153.0_1772747602489_0.16189081884395473","host":"s3://npm-registry-packages-npm-production"}},"2.27.2-aaa03c6-202603052154.0":{"name":"@flowfuse/nr-launcher","version":"2.27.2-aaa03c6-202603052154.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.2-aaa03c6-202603052154.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"93275516db4afe85125482a114fda9df973bf48a","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.2-aaa03c6-202603052154.0.tgz","fileCount":44,"integrity":"sha512-5ZNqvjHmZw2Rkrez2NOsd7u/aLhou6BDu+SRcOLvWm1K/Wa3oYq9MSxdmWF0RvUjAuxddfRkfSM1Prsj/7evwQ==","signatures":[{"sig":"MEUCIQDaeb2YDK0dAPHTeQZXQIPtJ/xGu5mJ0gK7iq1pTJKeIQIgfwMHpmApbO1nkdDdHs49Nxu4k0NDmYd/7iX8iP7JnD8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":626454},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"aaa03c6f9da3830b5b6a9fdf094e2ebcc33a6ffc","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-6adaac4-202603020621.0","@flowfuse/nr-file-nodes":"0.0.10-a12e172-202603021602.0","@flowfuse/nr-mqtt-nodes":"0.3.1-fb14f3b-202603021331.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-0e8a4a2-202603021345.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.2-aaa03c6-202603052154.0_1772747675906_0.4973734773652201","host":"s3://npm-registry-packages-npm-production"}},"2.27.2-792de3d-202603052156.0":{"name":"@flowfuse/nr-launcher","version":"2.27.2-792de3d-202603052156.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.2-792de3d-202603052156.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"c6e332c8a26f6f72f193d29f93c788c68654ed43","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.2-792de3d-202603052156.0.tgz","fileCount":44,"integrity":"sha512-w+vvrLYfncmFG2sXJrIm4xXluOmRLsWBD8wNJ+yfeIY0wkvLm4bOUNIPCc0wNJXJLAXfDLxH9174LGP0O6JrKQ==","signatures":[{"sig":"MEYCIQDtDtzu+iK2AdYM9SXYf7n8RXiSmTEZffRyBIMTYTQIewIhAPbMQlJn78khIsnjoaxBUZcQGmYcy7xaMnYyKNdvYV5q","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":626454},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"792de3dc659e952dad7dddae59a84cb55d106b4b","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-6adaac4-202603020621.0","@flowfuse/nr-file-nodes":"0.0.10-a12e172-202603021602.0","@flowfuse/nr-mqtt-nodes":"0.3.1-fb14f3b-202603021331.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-0e8a4a2-202603021345.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.2-792de3d-202603052156.0_1772747767554_0.7901087954756527","host":"s3://npm-registry-packages-npm-production"}},"2.27.2-7a2b643-202603052159.0":{"name":"@flowfuse/nr-launcher","version":"2.27.2-7a2b643-202603052159.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.2-7a2b643-202603052159.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"44feed49ada9bd1b05f6e61f63ff07ed01b1c0d3","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.2-7a2b643-202603052159.0.tgz","fileCount":44,"integrity":"sha512-bDR970IIfxsQBnBLAlVKitYdZlYrbvDN+6FcP5a5gNyOLBpkV0NFzAlakUOzIhXpegdDg8HsTgz+0pj5iswruA==","signatures":[{"sig":"MEYCIQCBrjLTCEVNZFENW8Zk31ZBJmo4+jbDsUbzn5ZSqx0eMQIhAMoBw55/kBx6oJ2mTsL7NFZaGGSzeCLu8JHCVmpWmZtm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":626454},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"7a2b64379e56ab9c50aed6a4ae345579db283adc","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-6adaac4-202603020621.0","@flowfuse/nr-file-nodes":"0.0.10-a12e172-202603021602.0","@flowfuse/nr-mqtt-nodes":"0.3.1-fb14f3b-202603021331.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-0e8a4a2-202603021345.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.2-7a2b643-202603052159.0_1772747960859_0.27861950925048573","host":"s3://npm-registry-packages-npm-production"}},"2.27.2-7a2b643-202603052207.0":{"name":"@flowfuse/nr-launcher","version":"2.27.2-7a2b643-202603052207.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.2-7a2b643-202603052207.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"4790bac5724a929bb098b1b0a9967d9a2d976daf","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.2-7a2b643-202603052207.0.tgz","fileCount":44,"integrity":"sha512-9jJt5/dNKoHgkOFhgGNA9tAfCevuxhMKUBbwpiezYX7Mv4rHVkw9vF4DNObqghyWIEx8GnVRFWLB3PLQREXefg==","signatures":[{"sig":"MEUCICi1NEUvKML1MPx2RHgzPbJaX0WVYYpc/zBpk7xosgdfAiEA0x+CgBK75SPBSBu0e8WGyM+LV2jbg69d55RmagvhxVE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":626454},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"7a2b64379e56ab9c50aed6a4ae345579db283adc","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-8eb8bb2-202603052206.0","@flowfuse/nr-file-nodes":"0.0.10-a12e172-202603021602.0","@flowfuse/nr-mqtt-nodes":"0.3.1-fb14f3b-202603021331.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-0e8a4a2-202603021345.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.2-7a2b643-202603052207.0_1772748444564_0.9743826007381897","host":"s3://npm-registry-packages-npm-production"}},"2.27.2-7a2b643-202603052208.0":{"name":"@flowfuse/nr-launcher","version":"2.27.2-7a2b643-202603052208.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.2-7a2b643-202603052208.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"3a43366741f5585afe0341b2d2e37fa7ba9fcb07","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.2-7a2b643-202603052208.0.tgz","fileCount":44,"integrity":"sha512-iz4ndkxT1Z3irBNLn/IYIG2rLUIhRdfG1kV+pl+GIVmwNdUg8kXhigWoGo8adrupEDmGUspQGYbNkBPBGQx/pQ==","signatures":[{"sig":"MEQCIBDQLZZ7mZyCmSMfEN3NtQRGCV7yB7+8lLZjj5Rlf3chAiAiU/bzq7q1P4BsSfkOKGsnMOgo6pkTdAdk+O+c0H74bw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":626454},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"7a2b64379e56ab9c50aed6a4ae345579db283adc","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-f9d2a66-202603052207.0","@flowfuse/nr-file-nodes":"0.0.10-a12e172-202603021602.0","@flowfuse/nr-mqtt-nodes":"0.3.1-fb14f3b-202603021331.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-0e8a4a2-202603021345.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.2-7a2b643-202603052208.0_1772748505688_0.7789081254611421","host":"s3://npm-registry-packages-npm-production"}},"2.27.2-b74ef8d-202603060628.0":{"name":"@flowfuse/nr-launcher","version":"2.27.2-b74ef8d-202603060628.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.2-b74ef8d-202603060628.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"35a8d242b4c36febf750c9f381964e696f70a556","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.2-b74ef8d-202603060628.0.tgz","fileCount":44,"integrity":"sha512-hYdorqCcd9ZZcWaAcKrH2LOMQw6+GZMJKQyflQeMaWdN6vOBOPEUeq9TeN1Hw0GBET99RfmOJ0cG8snQ4avFjQ==","signatures":[{"sig":"MEUCIDc6/RaiE+9OGy7rWFCIiXziaSYGnraf4xuYUj5eDEQKAiEAuGxOv48x11DTsml/9cR8LAo9FikGRSDEUJiKfdd7KdQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":626454},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"b74ef8d49ca6c03b0137865cc22fa3430ee32e17","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-f9d2a66-202603052207.0","@flowfuse/nr-file-nodes":"0.0.10-a12e172-202603021602.0","@flowfuse/nr-mqtt-nodes":"0.3.1-fb14f3b-202603021331.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-0e8a4a2-202603021345.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.2-b74ef8d-202603060628.0_1772778531551_0.5435101232231401","host":"s3://npm-registry-packages-npm-production"}},"2.27.2-b74ef8d-202603060630.0":{"name":"@flowfuse/nr-launcher","version":"2.27.2-b74ef8d-202603060630.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.2-b74ef8d-202603060630.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"0d12c57f5f5142c98a109b8ff92706272b8500de","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.2-b74ef8d-202603060630.0.tgz","fileCount":44,"integrity":"sha512-aCI/EzzAewyTDn36wgRm6rv7705oAUVNInf66W+IsalUgclodF1adV+RpW/1f8eJYUaRdVdsZQtzqBQxGiPjuA==","signatures":[{"sig":"MEYCIQDWi+Xv7EWB0RC2DXZDG/biROxkASc7wm22/sUgzj7VtAIhAK3Y+mRiSXDdRq2CWXyO4lJqEUwmwxd6ymdus87Dg50g","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":626454},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"b74ef8d49ca6c03b0137865cc22fa3430ee32e17","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-f9d2a66-202603052207.0","@flowfuse/nr-file-nodes":"0.0.10-e6a815f-202603060629.0","@flowfuse/nr-mqtt-nodes":"0.3.1-fb14f3b-202603021331.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-690601e-202603060630.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.2-b74ef8d-202603060630.0_1772778650347_0.7254497268208595","host":"s3://npm-registry-packages-npm-production"}},"2.27.2-b74ef8d-202603060631.0":{"name":"@flowfuse/nr-launcher","version":"2.27.2-b74ef8d-202603060631.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.2-b74ef8d-202603060631.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"69f869491adee53e137f2a85939572ce21e47f3c","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.2-b74ef8d-202603060631.0.tgz","fileCount":44,"integrity":"sha512-0Zscme5vS/qdFLCEvpIIAoaU1r78GdMEu6vwIU56P7uk9IJ4KFfvK31D2WNYje7uhGBA/clZZu8YqPVW2U8QRg==","signatures":[{"sig":"MEUCICUZyFggL5qIhO8lFMrGjb3S5HCQKIahhULqRL/oSR7gAiEAkq74KhILkMvCRVzazzPXVWOp/wLomelJ9RVd51SY88A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":626454},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"b74ef8d49ca6c03b0137865cc22fa3430ee32e17","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-1ecf471-202603060630.0","@flowfuse/nr-file-nodes":"0.0.10-e6a815f-202603060629.0","@flowfuse/nr-mqtt-nodes":"0.3.1-fb14f3b-202603021331.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-690601e-202603060630.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.2-b74ef8d-202603060631.0_1772778666715_0.9748734969655797","host":"s3://npm-registry-packages-npm-production"}},"2.27.2-b74ef8d-202603061034.0":{"name":"@flowfuse/nr-launcher","version":"2.27.2-b74ef8d-202603061034.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.2-b74ef8d-202603061034.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"e10d22b21874b1b5a710479c44d0fe92e3ea90f1","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.2-b74ef8d-202603061034.0.tgz","fileCount":44,"integrity":"sha512-iUgf5Drr0zgxm8Ao0AIbtgNcXOyA00atsILrLS3pMfiKB2Ff1Eg9fkf5qY+rA9OZdk6xzIts/GUQyTgcuSoEiw==","signatures":[{"sig":"MEQCICjAPKYYsiEH3FF+21qlgqiVvmA7SspPrtkftNfctY9tAiBlKJ+RoxJ9HoBGCMj1VlHY4L+lzQ10h8SJpVRdHuMDRw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":626454},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"b74ef8d49ca6c03b0137865cc22fa3430ee32e17","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-1ecf471-202603060630.0","@flowfuse/nr-file-nodes":"0.0.10-e6a815f-202603060629.0","@flowfuse/nr-mqtt-nodes":"0.3.1-4f019dd-202603061033.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-690601e-202603060630.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.2-b74ef8d-202603061034.0_1772793291333_0.44350178420899944","host":"s3://npm-registry-packages-npm-production"}},"2.27.2-b74ef8d-202603061539.0":{"name":"@flowfuse/nr-launcher","version":"2.27.2-b74ef8d-202603061539.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.2-b74ef8d-202603061539.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"41b6c050de8eb065c519f0f9b70d46d5ac29a0aa","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.2-b74ef8d-202603061539.0.tgz","fileCount":44,"integrity":"sha512-s5lmOXIbf1kwg/qkMsWeV/P/dV9cLToUrwga9ESDJFtmC0LqQefgJ0HTgHgXil3UeaZr7vdTe+uovkkYaLCtWw==","signatures":[{"sig":"MEYCIQD6M+JLb51l0m04ZWV5QeiO2faG+XN/gLqg6dLUVjR3XQIhAJWx35QVawEwCiicUN9j19gg27agv8RZH077Nep1+Vrb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":626454},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"b74ef8d49ca6c03b0137865cc22fa3430ee32e17","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-1ecf471-202603060630.0","@flowfuse/nr-file-nodes":"0.0.10-e6a815f-202603060629.0","@flowfuse/nr-mqtt-nodes":"0.3.1-758ddea-202603061538.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-690601e-202603060630.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.2-b74ef8d-202603061539.0_1772811571403_0.050054236962128185","host":"s3://npm-registry-packages-npm-production"}},"2.27.2-b74ef8d-202603091031.0":{"name":"@flowfuse/nr-launcher","version":"2.27.2-b74ef8d-202603091031.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.2-b74ef8d-202603091031.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"48ad1638a50ea12f04545c087c0bf1fe556f9276","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.2-b74ef8d-202603091031.0.tgz","fileCount":44,"integrity":"sha512-wQyheNptAuETi5oX6mRZsakzVCcKgcM9acrLALPADbhys6WexKXPUeYsv4tnOSP7Pa+YV69gokGJOZg1XtJh8A==","signatures":[{"sig":"MEYCIQCRcAa+JQqzt7fAwu0VqHiTx0gfFE4Yu7Kwo3AXwK1yawIhAJYuwxZXTROwE+yd6qkKevPtVb5kk9PZ8yrxYZGG8Nl9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":626454},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"b74ef8d49ca6c03b0137865cc22fa3430ee32e17","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-1ecf471-202603060630.0","@flowfuse/nr-file-nodes":"0.0.10-f6621dd-202603091030.0","@flowfuse/nr-mqtt-nodes":"0.3.1-758ddea-202603061538.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-690601e-202603060630.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.2-b74ef8d-202603091031.0_1773052284900_0.9524341297864525","host":"s3://npm-registry-packages-npm-production"}},"2.27.2-b74ef8d-202603091139.0":{"name":"@flowfuse/nr-launcher","version":"2.27.2-b74ef8d-202603091139.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.2-b74ef8d-202603091139.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"f9ea936869e11ebccea7aedcd29c57e0a2b2dc21","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.2-b74ef8d-202603091139.0.tgz","fileCount":44,"integrity":"sha512-G0Bs5kimVMd8TpR/glk++EuuGMCHkHIWORZ0ihyxaQ8d+4+aRNj/+XhZ1qHf+zFCA2s+FK2XRnZX7xeo0Qf3Ow==","signatures":[{"sig":"MEUCIQCqYa05BNKqTKoL7oUkUbJ9Ab4pGay12nk3kpCr3XVqlwIgRn2E1eqptCBkxuZjJC7F6jjUccHTXE8/PypLeVapEeE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":626454},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"b74ef8d49ca6c03b0137865cc22fa3430ee32e17","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-1ecf471-202603060630.0","@flowfuse/nr-file-nodes":"0.0.10-f6621dd-202603091030.0","@flowfuse/nr-mqtt-nodes":"0.3.1-32fefbc-202603091138.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-690601e-202603060630.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.2-b74ef8d-202603091139.0_1773056349301_0.2939098132776061","host":"s3://npm-registry-packages-npm-production"}},"2.27.2-b74ef8d-202603091145.0":{"name":"@flowfuse/nr-launcher","version":"2.27.2-b74ef8d-202603091145.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.2-b74ef8d-202603091145.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"cc45cef4a6242936e8bfcf4da0fcc112276055c6","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.2-b74ef8d-202603091145.0.tgz","fileCount":44,"integrity":"sha512-GpjnbCTBURnykrgzQS7ie48TFYf7VgW/GJXl9igTkR5Aw21BXO7PyuqI5eG+C3U1QbmFc5kFHx0XqXmw8VstOA==","signatures":[{"sig":"MEQCIHQgtlu04Z6w67JO7EnXE/RfkACY+V5c7yF3G+YAQ4wUAiBTH/kIh1nlshXpul1QOBH+ht2sWNeVwp2lLGY0mQq0jA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":626454},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"b74ef8d49ca6c03b0137865cc22fa3430ee32e17","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-1ecf471-202603060630.0","@flowfuse/nr-file-nodes":"0.0.10-f6621dd-202603091030.0","@flowfuse/nr-mqtt-nodes":"0.3.1-d80a4d4-202603091144.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-690601e-202603060630.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.2-b74ef8d-202603091145.0_1773056716609_0.4787765166043476","host":"s3://npm-registry-packages-npm-production"}},"2.27.2-b74ef8d-202603091151.0":{"name":"@flowfuse/nr-launcher","version":"2.27.2-b74ef8d-202603091151.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.2-b74ef8d-202603091151.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"f0b62a3b18feef9c2e0e367c4ab16ea329310ed1","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.2-b74ef8d-202603091151.0.tgz","fileCount":44,"integrity":"sha512-7FnOOY5+kLuiF9M6g4ei7GE9o2FCvxvyNlxmpEIssKQKFdX2t5BQJcOlWMAQ/5H+Gybw95xaTwqcYrGVY9EXVA==","signatures":[{"sig":"MEYCIQCJE7axvnNHh5VubDTK3Tzva56dnz6q83nzkdmb4Ge9bAIhAMW+PAEhqtfQDx/BmAzDFYwCYdv31gSc1WkdFu9M2S8Y","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":626454},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"b74ef8d49ca6c03b0137865cc22fa3430ee32e17","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-e5e60dd-202603091150.0","@flowfuse/nr-file-nodes":"0.0.10-f6621dd-202603091030.0","@flowfuse/nr-mqtt-nodes":"0.3.1-d80a4d4-202603091144.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-690601e-202603060630.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.2-b74ef8d-202603091151.0_1773057118567_0.462326298302981","host":"s3://npm-registry-packages-npm-production"}},"2.27.2-b74ef8d-202603091153.0":{"name":"@flowfuse/nr-launcher","version":"2.27.2-b74ef8d-202603091153.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.2-b74ef8d-202603091153.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"86623f3dd7d86b128773e383aae1e92abfff621e","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.2-b74ef8d-202603091153.0.tgz","fileCount":44,"integrity":"sha512-YsTpbHJX6mKjTeUeIjdRAHjpwCbhxZcCEtYaWvIlZgtXFXdI5Z737XT4CWIexgQfatGoxCqhnpgRuNN4QdV+vw==","signatures":[{"sig":"MEUCIFj5jTW7bTpc4raXPkWRSSkZkiB3+uwnEsd8stGHqPM3AiEA9BzsryX9YvDYVEjg4QyMkCBMvVAndOwTQUxAhmLf4vg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":626454},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"b74ef8d49ca6c03b0137865cc22fa3430ee32e17","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-cfed040-202603091152.0","@flowfuse/nr-file-nodes":"0.0.10-f6621dd-202603091030.0","@flowfuse/nr-mqtt-nodes":"0.3.1-d80a4d4-202603091144.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-690601e-202603060630.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.2-b74ef8d-202603091153.0_1773057222131_0.5441551392153778","host":"s3://npm-registry-packages-npm-production"}},"2.27.2-b74ef8d-202603091203.0":{"name":"@flowfuse/nr-launcher","version":"2.27.2-b74ef8d-202603091203.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.2-b74ef8d-202603091203.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"63095d00cbc93aa313dff0a5323ab7aacdc67189","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.2-b74ef8d-202603091203.0.tgz","fileCount":44,"integrity":"sha512-CaJT39GDkzZ/8lC1oPZ1ILlShAWZ6SAhwBhPaBfFim02nc8pqmfo34m15RCvAmXOni9qtflk+ZQfQ411I7iz5A==","signatures":[{"sig":"MEUCIG9uFEaswkMlOZWQu3Fc/xiSPUl146+YCwNqv0+68wg7AiEA++3xmZvskJnZGfLmt1Zs1OBGxUf5jstYczZfM9aAfiw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":626454},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"b74ef8d49ca6c03b0137865cc22fa3430ee32e17","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-dc5d154-202603091203.0","@flowfuse/nr-file-nodes":"0.0.10-f6621dd-202603091030.0","@flowfuse/nr-mqtt-nodes":"0.3.1-d80a4d4-202603091144.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-690601e-202603060630.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.2-b74ef8d-202603091203.0_1773057847372_0.6166421954232606","host":"s3://npm-registry-packages-npm-production"}},"2.27.2-b74ef8d-202603091213.0":{"name":"@flowfuse/nr-launcher","version":"2.27.2-b74ef8d-202603091213.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.2-b74ef8d-202603091213.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"e08a77983f83d453535d606a92fd075397368516","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.2-b74ef8d-202603091213.0.tgz","fileCount":44,"integrity":"sha512-CyfDu3ksBRAWY8QVqzs0cbYV3VgsgyGAItWmy/+wOZ8Y5T8YN36RgHh8RaHxXSYSD3tsQnRJm6eGd4QLRGSLJA==","signatures":[{"sig":"MEUCIDPTTfYj/SpPVFdQJaw0P9YMYx+xKk+RlG+AkQiB05RYAiEApszpl77yKA6xKEwBLJ3DuCs/ITFIp2skWI7K7Cbskw4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":626454},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"b74ef8d49ca6c03b0137865cc22fa3430ee32e17","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-dc5d154-202603091203.0","@flowfuse/nr-file-nodes":"0.0.10-f6621dd-202603091030.0","@flowfuse/nr-mqtt-nodes":"0.3.1-389e474-202603091212.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-690601e-202603060630.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.2-b74ef8d-202603091213.0_1773058411474_0.4271730822170501","host":"s3://npm-registry-packages-npm-production"}},"2.27.2-b74ef8d-202603091216.0":{"name":"@flowfuse/nr-launcher","version":"2.27.2-b74ef8d-202603091216.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.2-b74ef8d-202603091216.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"37fe1f4bc7b0a6179855fcd4d7cfd834a7d821db","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.2-b74ef8d-202603091216.0.tgz","fileCount":44,"integrity":"sha512-vWVxIsVuQ2wJjIyKud051FoDDUk1O1sGuZbL2RCfkKf2mfCYCKvwPgz41M7A3QbE0PnCX2t2CmN/uFY3USWANQ==","signatures":[{"sig":"MEYCIQCBvZHvQJdoPFVOxpMOi91UdzkLPceclCVGJnXMhwPUTQIhANU499e1Hr3DCQyDnMNtrsY6o88lrF5m7q6uDbhPNn73","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":626454},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"b74ef8d49ca6c03b0137865cc22fa3430ee32e17","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-5afee9b-202603091215.0","@flowfuse/nr-file-nodes":"0.0.10-f6621dd-202603091030.0","@flowfuse/nr-mqtt-nodes":"0.3.1-389e474-202603091212.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-690601e-202603060630.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.2-b74ef8d-202603091216.0_1773058623554_0.97919710298721","host":"s3://npm-registry-packages-npm-production"}},"2.27.2-b74ef8d-202603091256.0":{"name":"@flowfuse/nr-launcher","version":"2.27.2-b74ef8d-202603091256.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.2-b74ef8d-202603091256.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"a2e9dfa62b7f4faec2aa4b8ca2f11c47ba99a756","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.2-b74ef8d-202603091256.0.tgz","fileCount":44,"integrity":"sha512-wYBygH3Ar2MMIsFdte3P8lIVo3Ym0fQqGBGdaSSvOo+RxkpmZ1sULSjEAn0Xa142tzYTeJsJZE3SP3IBjlLYVg==","signatures":[{"sig":"MEUCIC/+RJ50vMPaiNrtz2OBoLEolmDm1pK/KzwAOZ5FCFCHAiEA+w+3aeVMkWPWFlpDifD7oNZuo5gHVYPMhKi4tnjJTV4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":626454},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"b74ef8d49ca6c03b0137865cc22fa3430ee32e17","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-5afee9b-202603091215.0","@flowfuse/nr-file-nodes":"0.0.10-f6621dd-202603091030.0","@flowfuse/nr-mqtt-nodes":"0.3.1-389e474-202603091212.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-19b0794-202603091255.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.2-b74ef8d-202603091256.0_1773060978615_0.0781391090677408","host":"s3://npm-registry-packages-npm-production"}},"2.27.2-b74ef8d-202603091257.0":{"name":"@flowfuse/nr-launcher","version":"2.27.2-b74ef8d-202603091257.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.2-b74ef8d-202603091257.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"3a6387efe262201c62ca9e18736e05da0984cd61","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.2-b74ef8d-202603091257.0.tgz","fileCount":44,"integrity":"sha512-/OesfBPG1JmGUPMQfjg/M9pHhSgZPVTyt6W5aTM8ou+U20zHMk6HmXepw0f7C/Q0M3xYFcwYpyff/tOsTao9bA==","signatures":[{"sig":"MEUCIC+hl51mNanmcb+uzCJGdDsfNtcFAw6JwDlb2iirCV8+AiEAo18vJ4h2Pqe1X94S+QNZI2YLXch5odFqtdeO/BqgIpE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":626454},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"b74ef8d49ca6c03b0137865cc22fa3430ee32e17","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-5afee9b-202603091215.0","@flowfuse/nr-file-nodes":"0.0.10-f6621dd-202603091030.0","@flowfuse/nr-mqtt-nodes":"0.3.1-389e474-202603091212.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-633cdd5-202603091257.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.2-b74ef8d-202603091257.0_1773061080158_0.31270342378837435","host":"s3://npm-registry-packages-npm-production"}},"2.27.2-b74ef8d-202603091259.0":{"name":"@flowfuse/nr-launcher","version":"2.27.2-b74ef8d-202603091259.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.2-b74ef8d-202603091259.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"df23d00ed2118152dba2805a9af6e473ce927c1b","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.2-b74ef8d-202603091259.0.tgz","fileCount":44,"integrity":"sha512-7ELNgV4uBinDGtA6kZtTT9dCA++qxO+S7EOMZ+e8ZCEdGoxvuzizQw7V0mM2gY+OWir/l60XhJS6GZc5Wd9TxQ==","signatures":[{"sig":"MEYCIQCZs1VX5UoQGRnrIKMFgGP9N7UPCQUGwkjWZUBhaUEncQIhALbV9c82sMhf9b7mvmnzpnDBl6GmVdhjp3X1P4QK+bhZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":626454},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"b74ef8d49ca6c03b0137865cc22fa3430ee32e17","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-5afee9b-202603091215.0","@flowfuse/nr-file-nodes":"0.0.10-f6621dd-202603091030.0","@flowfuse/nr-mqtt-nodes":"0.3.1-389e474-202603091212.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-765827e-202603091258.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.2-b74ef8d-202603091259.0_1773061148933_0.7433253906240811","host":"s3://npm-registry-packages-npm-production"}},"2.27.2-b74ef8d-202603091306.0":{"name":"@flowfuse/nr-launcher","version":"2.27.2-b74ef8d-202603091306.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.2-b74ef8d-202603091306.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"6f11c0e2075a98f0c8d5c71847538dc43c2cecba","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.2-b74ef8d-202603091306.0.tgz","fileCount":44,"integrity":"sha512-iOZFO5pwT85Z543HO1282NkO5F3SFBVzq3S5+PwnlCh+ewf8yKXhWKUdcbN3TDRNw2ENRCkywD530u3mSo7y4A==","signatures":[{"sig":"MEUCIEwJUMJUa+H/bJDITKkXFxzDEBvqA8ZBEbhmiyz7lC4aAiEA3XkMX/fmYRMSBY00RgJtnKN0aBx0ULsjLNXspiNto50=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":626454},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"b74ef8d49ca6c03b0137865cc22fa3430ee32e17","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-5afee9b-202603091215.0","@flowfuse/nr-file-nodes":"0.0.10-f6621dd-202603091030.0","@flowfuse/nr-mqtt-nodes":"0.3.1-389e474-202603091212.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-130867c-202603091305.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.2-b74ef8d-202603091306.0_1773061623467_0.05758098534243428","host":"s3://npm-registry-packages-npm-production"}},"2.27.2-b74ef8d-202603091308.0":{"name":"@flowfuse/nr-launcher","version":"2.27.2-b74ef8d-202603091308.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.2-b74ef8d-202603091308.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"6d47da2973c8ed183abbb41f82e3374d1da13c61","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.2-b74ef8d-202603091308.0.tgz","fileCount":44,"integrity":"sha512-jNViCgGNv5qEmJgjV7O2kXMGFQTEVauQFyyW8NEfZrvEu0VWqGUJuGZybBY+oeaOAbJtZhCM2q71jgwqexZmDA==","signatures":[{"sig":"MEYCIQDQl2oeslcPXRUaita36APam+xvMs3RYPLoHHc6/PRexAIhAK/vqLtdk0JwP6qPLlsVhQYCOfyD1E39taD1p9d5wa1G","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":626454},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"b74ef8d49ca6c03b0137865cc22fa3430ee32e17","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-5afee9b-202603091215.0","@flowfuse/nr-file-nodes":"0.0.10-f6621dd-202603091030.0","@flowfuse/nr-mqtt-nodes":"0.3.1-389e474-202603091212.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-de7a8d5-202603091308.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.2-b74ef8d-202603091308.0_1773061746356_0.4906442241078719","host":"s3://npm-registry-packages-npm-production"}},"2.27.2-b74ef8d-202603091846.0":{"name":"@flowfuse/nr-launcher","version":"2.27.2-b74ef8d-202603091846.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.2-b74ef8d-202603091846.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"19b96f66b04cb4172c30717a81a781972fb9ecc0","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.2-b74ef8d-202603091846.0.tgz","fileCount":44,"integrity":"sha512-gnlbAs3cdkdQCJOmmz+sR0M/6+yJfqgXYz0N2t8xacOtbDiJlzReH5/vX/In8WIgDgA57htGdOtK5CuBU7Q+bA==","signatures":[{"sig":"MEQCIGRZJq82dH2xVXzF05oHh0T+x0cj+gRekJgkzm9C3+uaAiAx5S1V5Ak4jhNgk15I5S8rVG42a/Zc5aHXwRSBn06Khw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":626454},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"b74ef8d49ca6c03b0137865cc22fa3430ee32e17","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-5afee9b-202603091215.0","@flowfuse/nr-file-nodes":"0.0.10-ec44580-202603091845.0","@flowfuse/nr-mqtt-nodes":"0.3.1-389e474-202603091212.0","@flowfuse/nr-tables-nodes":"0.2.2-09c5b7b-202602111002.0","@flowfuse/nr-project-nodes":"0.7.9-de7a8d5-202603091308.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.2-b74ef8d-202603091846.0_1773081974673_0.6815521424861635","host":"s3://npm-registry-packages-npm-production"}},"2.27.2-b74ef8d-202603101803.0":{"name":"@flowfuse/nr-launcher","version":"2.27.2-b74ef8d-202603101803.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.2-b74ef8d-202603101803.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"5fe181ed02b169a77fe83b84be3e26f094c2bbdb","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.2-b74ef8d-202603101803.0.tgz","fileCount":44,"integrity":"sha512-QwsFE6l3/LMTZ0f9KWgSEwvoXxe0eHPMlpm+AlC89B+bztNNodFaOij8gFXVB6UrzYQ+4URm8J403y9GDk1D9w==","signatures":[{"sig":"MEQCIAIojOXiLX09+6u0hNQXPSQXYxyilNo8oa/iruVmVjPXAiAY7lwp65wkpslS7yj5xsWRQgY1t2E6ky4h2zzy1CqaKg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":626454},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"b74ef8d49ca6c03b0137865cc22fa3430ee32e17","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-5afee9b-202603091215.0","@flowfuse/nr-file-nodes":"0.0.10-ec44580-202603091845.0","@flowfuse/nr-mqtt-nodes":"0.3.1-389e474-202603091212.0","@flowfuse/nr-tables-nodes":"0.2.2-cfcba1e-202603101802.0","@flowfuse/nr-project-nodes":"0.7.9-de7a8d5-202603091308.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.2-b74ef8d-202603101803.0_1773165843894_0.8188766528415548","host":"s3://npm-registry-packages-npm-production"}},"2.27.2-628a494-202603110643.0":{"name":"@flowfuse/nr-launcher","version":"2.27.2-628a494-202603110643.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.2-628a494-202603110643.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"3473d89f606b0d9cfb66d5a0ff0731fa8d7fed4e","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.2-628a494-202603110643.0.tgz","fileCount":44,"integrity":"sha512-w8/udoHmyTHvj9flgssRWB+Z8sbI/kEgT27lmh3z/L0Sw+0DhJPh7nIzkUtivwQK2xoBypyQG/c7/XImpirI5A==","signatures":[{"sig":"MEQCIHVYOjOHQ5kED1T1mHxySmF2xIlfQ8Z4sxeKbastHXunAiBdQJ+d18VIniRIcx6HPNtVZjYJ89HOoGPYrfYBUpelTw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":626454},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"628a494de7fe6d696f9f7d469a7a37026903e932","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-5afee9b-202603091215.0","@flowfuse/nr-file-nodes":"0.0.10-ec44580-202603091845.0","@flowfuse/nr-mqtt-nodes":"0.3.1-389e474-202603091212.0","@flowfuse/nr-tables-nodes":"0.2.2-cfcba1e-202603101802.0","@flowfuse/nr-project-nodes":"0.7.9-de7a8d5-202603091308.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.2-628a494-202603110643.0_1773211442913_0.9438352275156785","host":"s3://npm-registry-packages-npm-production"}},"2.27.2-f5aba9b-202603110924.0":{"name":"@flowfuse/nr-launcher","version":"2.27.2-f5aba9b-202603110924.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.2-f5aba9b-202603110924.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"f83ca01ef2765caac4c7224875e5cf50bf6df80f","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.2-f5aba9b-202603110924.0.tgz","fileCount":44,"integrity":"sha512-fjY/fFGfsJyWyn/DRqad8m9oqbXlJJiRIlibUv8wOuolSXn+Z8lpFF6yHj1LNmA4xVsBQEknEWtcmvEfv8spHA==","signatures":[{"sig":"MEUCID1nXp+S1ROVAeL9gLSonoGkS47gjEvi8/RNXg/f3+rGAiEAuLZV0ishlRhyX1sG6Hw/cfSqx+tZUQKBp//rTosur4c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":626454},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"f5aba9b2997fab8e1743839a67544967a49f83aa","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-5afee9b-202603091215.0","@flowfuse/nr-file-nodes":"0.0.10-ec44580-202603091845.0","@flowfuse/nr-mqtt-nodes":"0.3.1-389e474-202603091212.0","@flowfuse/nr-tables-nodes":"0.2.2-cfcba1e-202603101802.0","@flowfuse/nr-project-nodes":"0.7.9-de7a8d5-202603091308.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.2-f5aba9b-202603110924.0_1773221082645_0.6905872674226985","host":"s3://npm-registry-packages-npm-production"}},"2.27.2-0a2735e-202603110928.0":{"name":"@flowfuse/nr-launcher","version":"2.27.2-0a2735e-202603110928.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.2-0a2735e-202603110928.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"4eda24c72c07151dc28eb078245d7bf2cf2f9a1d","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.2-0a2735e-202603110928.0.tgz","fileCount":44,"integrity":"sha512-sXDygxeqnHODWon4WDoKTGGz7JE8BascQMwW35VkMMGqPEnmVE2vZkCcWqxtzi6sdOWA4AMlAUpAwyg+NgLXwQ==","signatures":[{"sig":"MEYCIQCg65VWdOpJ+t3xUj2sDwbaDAcKVOrN0R/H8zVvURs2YwIhAJJGA+Q7tAH5jkG/xG7fENwJB97jXH9jg5bIrldxksga","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":626454},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"0a2735ef7debd63fd0106f0415be3c941b34bf80","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-5afee9b-202603091215.0","@flowfuse/nr-file-nodes":"0.0.10-ec44580-202603091845.0","@flowfuse/nr-mqtt-nodes":"0.3.1-389e474-202603091212.0","@flowfuse/nr-tables-nodes":"0.2.2-cfcba1e-202603101802.0","@flowfuse/nr-project-nodes":"0.7.9-de7a8d5-202603091308.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.2-0a2735e-202603110928.0_1773221304663_0.42875962080558994","host":"s3://npm-registry-packages-npm-production"}},"2.27.2-0a2735e-202603110938.0":{"name":"@flowfuse/nr-launcher","version":"2.27.2-0a2735e-202603110938.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.2-0a2735e-202603110938.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"db609d841ae2cc4b0142a02b8903a999114f06af","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.2-0a2735e-202603110938.0.tgz","fileCount":44,"integrity":"sha512-u5zEjVAvAFV/gBPqnBqiudVOrDKjkMxiyuYDltiWrVjYVLclQly7ATyfugoV3G5S408hBzMDybRgD/UXo3nruw==","signatures":[{"sig":"MEUCIQCZGj0+kVUYZga8p8j5lnXD3kdlyfdjJi5/RNxWwNhYTwIgIrL/NDjfll0iu+eaSKVmK3/KhLVCyGZaCPOuchfRTFQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":626454},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"0a2735ef7debd63fd0106f0415be3c941b34bf80","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-a72a80c-202603110938.0","@flowfuse/nr-file-nodes":"0.0.10-ec44580-202603091845.0","@flowfuse/nr-mqtt-nodes":"0.3.1-389e474-202603091212.0","@flowfuse/nr-tables-nodes":"0.2.2-cfcba1e-202603101802.0","@flowfuse/nr-project-nodes":"0.7.9-de7a8d5-202603091308.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.2-0a2735e-202603110938.0_1773221934110_0.20533739400336182","host":"s3://npm-registry-packages-npm-production"}},"2.27.2-0a2735e-202603110939.0":{"name":"@flowfuse/nr-launcher","version":"2.27.2-0a2735e-202603110939.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.2-0a2735e-202603110939.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"2f33def814acd9b8261cc9859411a0101ab993f8","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.2-0a2735e-202603110939.0.tgz","fileCount":44,"integrity":"sha512-LTwa2YQ3Z2Xr4WexRZB1LKURuGyM27f8Kql2FZgicDzEIIZhP0KaKicWpmZQSnFVzGykHBQZARrD8NVS7F2FOw==","signatures":[{"sig":"MEUCIHvQwx9DfI0BSyuD/8/IcG/BflB/7u5MuRolNMsTBglJAiEAmkrZB3nrqYgSk085Naurod9OYGeS+gEjnGGYInr63DQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":626454},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"0a2735ef7debd63fd0106f0415be3c941b34bf80","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-a72a80c-202603110938.0","@flowfuse/nr-file-nodes":"0.0.10-ec44580-202603091845.0","@flowfuse/nr-mqtt-nodes":"0.3.1-389e474-202603091212.0","@flowfuse/nr-tables-nodes":"0.2.2-cfcba1e-202603101802.0","@flowfuse/nr-project-nodes":"0.7.9-de7a8d5-202603091308.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.2-0a2735e-202603110939.0_1773221953314_0.8421036152313528","host":"s3://npm-registry-packages-npm-production"}},"2.27.2-0a2735e-202603110940.0":{"name":"@flowfuse/nr-launcher","version":"2.27.2-0a2735e-202603110940.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.2-0a2735e-202603110940.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"14e4e01f440eedf088be08f789bc99c2eb7d5310","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.2-0a2735e-202603110940.0.tgz","fileCount":44,"integrity":"sha512-4MQFzvC3m6IFLQ/OWsoibSskFqc9iId0HPf8+QcwcBMOW56M2FuBNOXselOi5DbrphXcILRj3FK/HcU+xfTdGw==","signatures":[{"sig":"MEUCIQDlGOf6yZbQ1wsr6mhObKps/jpYfbPXIRlsS/KVDK3rFQIgVmnTHmG+H9kzG1bG4l3haOfIr63neBBiyyU+ox/j50g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":626454},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"0a2735ef7debd63fd0106f0415be3c941b34bf80","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-a72a80c-202603110938.0","@flowfuse/nr-file-nodes":"0.0.10-ec44580-202603091845.0","@flowfuse/nr-mqtt-nodes":"0.3.1-020609b-202603110939.0","@flowfuse/nr-tables-nodes":"0.2.2-cfcba1e-202603101802.0","@flowfuse/nr-project-nodes":"0.7.9-de7a8d5-202603091308.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.2-0a2735e-202603110940.0_1773222016391_0.17132095178830387","host":"s3://npm-registry-packages-npm-production"}},"2.27.2-0a2735e-202603110941.0":{"name":"@flowfuse/nr-launcher","version":"2.27.2-0a2735e-202603110941.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.2-0a2735e-202603110941.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"0f3db16f6d8efa961774b5b15266d4704862fb4e","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.2-0a2735e-202603110941.0.tgz","fileCount":44,"integrity":"sha512-KHLWJBlNmjnnwUehDTGYy8XYbffC97d1YxFVEsgLH6FJDqggdnA3cS2UF1vzEXr8hnrNk+nc7PPTqc09ywZaNg==","signatures":[{"sig":"MEQCIElkV02vNugfcYYUvRilreT3L9eDefFodxzj7tIrLJWzAiBz4w78EvfwHEZJ4Ww3cmD/7LmRpDjYIO1X/jxnP/kJmQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":626454},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"0a2735ef7debd63fd0106f0415be3c941b34bf80","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-a72a80c-202603110938.0","@flowfuse/nr-file-nodes":"0.0.10-ec44580-202603091845.0","@flowfuse/nr-mqtt-nodes":"0.3.1-74bdd6c-202603110940.0","@flowfuse/nr-tables-nodes":"0.2.2-cfcba1e-202603101802.0","@flowfuse/nr-project-nodes":"0.7.9-de7a8d5-202603091308.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.2-0a2735e-202603110941.0_1773222091433_0.012499259085243741","host":"s3://npm-registry-packages-npm-production"}},"2.27.2-0a2735e-202603110942.0":{"name":"@flowfuse/nr-launcher","version":"2.27.2-0a2735e-202603110942.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.2-0a2735e-202603110942.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"968dab074a06e0e84ce512910e9363945da2e8a4","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.2-0a2735e-202603110942.0.tgz","fileCount":44,"integrity":"sha512-yKfRad/d72LgRMDhTno6tPcbRAaDIYTakqnudd+hFzz6kFWMpdSTYCt2vRB1/HtuSMuIFAbX2xngzPhSi10dJw==","signatures":[{"sig":"MEUCIQDjgnhvNuqFvMeCTqLCbBbsR42lzwOnx00InFOvq85XHAIgSKOqBugtgdLyZHU+x2tO7ifp6ZTSoJn6H2QxfFeNWHU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":626454},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"0a2735ef7debd63fd0106f0415be3c941b34bf80","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-a72a80c-202603110938.0","@flowfuse/nr-file-nodes":"0.0.10-ec44580-202603091845.0","@flowfuse/nr-mqtt-nodes":"0.3.1-5c2a177-202603110941.0","@flowfuse/nr-tables-nodes":"0.2.2-cfcba1e-202603101802.0","@flowfuse/nr-project-nodes":"0.7.9-de7a8d5-202603091308.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.2-0a2735e-202603110942.0_1773222142283_0.16474806903965877","host":"s3://npm-registry-packages-npm-production"}},"2.27.2-0a2735e-202603110943.0":{"name":"@flowfuse/nr-launcher","version":"2.27.2-0a2735e-202603110943.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.2-0a2735e-202603110943.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"aa07c2ea52b259c72fbe6457a0bef36334f10a61","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.2-0a2735e-202603110943.0.tgz","fileCount":44,"integrity":"sha512-FtvAbyibGSPDlYR823zIIfqxmKdUbKwDvaVUc1EUyjgrhWOJF4r6lGr27CtO3fMlo4GN5pWI+P/GrTQ4XJBR4A==","signatures":[{"sig":"MEQCIEpAQuSNGXA3beSOvZGwVZkrECgPc8scaTbugoBP+iObAiBUlevuN2kxFKFBXhdmUcVIXYYov6hqlAzK6jQ17eTcHg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":626454},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"0a2735ef7debd63fd0106f0415be3c941b34bf80","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-a72a80c-202603110938.0","@flowfuse/nr-file-nodes":"0.0.10-ec44580-202603091845.0","@flowfuse/nr-mqtt-nodes":"0.3.1-5c2a177-202603110941.0","@flowfuse/nr-tables-nodes":"0.2.2-0fec8f9-202603110942.0","@flowfuse/nr-project-nodes":"0.7.9-de7a8d5-202603091308.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.2-0a2735e-202603110943.0_1773222215880_0.1622038338803149","host":"s3://npm-registry-packages-npm-production"}},"2.27.2-0a2735e-202603110944.0":{"name":"@flowfuse/nr-launcher","version":"2.27.2-0a2735e-202603110944.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.2-0a2735e-202603110944.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"9cfe5e74f0d15b54789f386847e9cc1ae8db117b","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.2-0a2735e-202603110944.0.tgz","fileCount":44,"integrity":"sha512-91cFL1v81j9MRVVS9LZSozCnpDo2Y0JVkx0pPdWnQ1NDlBpi0Yfptle/62BAGoznDZmzwpObhiMTMCGe82lPBw==","signatures":[{"sig":"MEUCIQCIxiuzpaxz4XBCsjYTEg9qNi+ewo3Itj1/S/fSF/ON5gIgUPDEII+ZvYjy4FeyUwjoDiNg4R4CCRUqCyWZe2fJB78=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":626454},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"0a2735ef7debd63fd0106f0415be3c941b34bf80","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-a72a80c-202603110938.0","@flowfuse/nr-file-nodes":"0.0.10-76d54cf-202603110944.0","@flowfuse/nr-mqtt-nodes":"0.3.1-5c2a177-202603110941.0","@flowfuse/nr-tables-nodes":"0.2.2-0fec8f9-202603110942.0","@flowfuse/nr-project-nodes":"0.7.9-de7a8d5-202603091308.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.2-0a2735e-202603110944.0_1773222301746_0.15109956814488545","host":"s3://npm-registry-packages-npm-production"}},"2.27.2-0a2735e-202603111533.0":{"name":"@flowfuse/nr-launcher","version":"2.27.2-0a2735e-202603111533.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.2-0a2735e-202603111533.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"48de978aeed5eb2086b039dfe1068c0c8926986a","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.2-0a2735e-202603111533.0.tgz","fileCount":44,"integrity":"sha512-AzxCkh5NDSApiyPGi70fTMao7rq09nQFGMQ/AkP+xf/eD+F6Q/ZhLtjD3KEni0o5dguphgHZ7IO0aEDElUtl/g==","signatures":[{"sig":"MEQCIEjrpbsZadfkswKYTqK1P5cqHQ0iLNocKA/xzKYiz8dmAiB9GgiIA9VCBqrfgTX5EWJtQKR3dhbAR38qMqk5I6ZCtQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":626454},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"0a2735ef7debd63fd0106f0415be3c941b34bf80","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-a72a80c-202603110938.0","@flowfuse/nr-file-nodes":"0.0.10-76d54cf-202603110944.0","@flowfuse/nr-mqtt-nodes":"0.3.1-5c2a177-202603110941.0","@flowfuse/nr-tables-nodes":"0.2.3-8ca49a8-202603111533.0","@flowfuse/nr-project-nodes":"0.7.9-de7a8d5-202603091308.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.2-0a2735e-202603111533.0_1773243247600_0.5580935957877264","host":"s3://npm-registry-packages-npm-production"}},"2.27.2-716dc93-202603120958.0":{"name":"@flowfuse/nr-launcher","version":"2.27.2-716dc93-202603120958.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.27.2-716dc93-202603120958.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"85803e1062416891c603677912e2fdccb43fdd21","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.27.2-716dc93-202603120958.0.tgz","fileCount":44,"integrity":"sha512-DMnRKug2fepZrBV3Klco3r+eUnMTWDWEjBZWxLuX9jTSVvLQ8hA1opk7M2r5k7nnm+WvjMQmAwrgNG8gJTNJWA==","signatures":[{"sig":"MEUCIQDLn2cJkHwImQBva0ilh7ymwGtBPWwkk5NroTuWKxp0gAIgPAwlTvEXeZHByi5pxIQ3YA3H6zeU+hKMt3148iXK8+k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":626454},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"716dc93742b9ae263495440554b9c6678956b2b8","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-a72a80c-202603110938.0","@flowfuse/nr-file-nodes":"0.0.10-76d54cf-202603110944.0","@flowfuse/nr-mqtt-nodes":"0.3.1-5c2a177-202603110941.0","@flowfuse/nr-tables-nodes":"0.2.3-8ca49a8-202603111533.0","@flowfuse/nr-project-nodes":"0.7.9-de7a8d5-202603091308.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.27.2-716dc93-202603120958.0_1773309511211_0.08725285647838144","host":"s3://npm-registry-packages-npm-production"}},"2.28.1-1e935d0-202603121026.0":{"name":"@flowfuse/nr-launcher","version":"2.28.1-1e935d0-202603121026.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.28.1-1e935d0-202603121026.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"2abefa95127015eeac15f7d76bf42367d522bd48","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.28.1-1e935d0-202603121026.0.tgz","fileCount":44,"integrity":"sha512-Dcka5gTFDMcRL25MlDjpuV/c4nqy83+sXGaLnRkqNVvA/b0eeXJYnML2XgDh0IFV5QYL0b6u9tkd15LhG9VU3w==","signatures":[{"sig":"MEUCIQCDjeDe8+hPq0zOSaj9/G4h91jIh3mJOMDbTVORxFEq3wIgddEhQGJHmOul40NPF43P76Weugt8cvp7nzjuCSa+7ks=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":627420},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"1e935d05421550a67a62ef3b80b77dc7aa00d07e","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-a72a80c-202603110938.0","@flowfuse/nr-file-nodes":"0.0.10-76d54cf-202603110944.0","@flowfuse/nr-mqtt-nodes":"0.3.1-5c2a177-202603110941.0","@flowfuse/nr-tables-nodes":"0.2.3-8ca49a8-202603111533.0","@flowfuse/nr-project-nodes":"0.7.9-de7a8d5-202603091308.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.28.1-1e935d0-202603121026.0_1773311189010_0.678830250066158","host":"s3://npm-registry-packages-npm-production"}},"2.28.0":{"name":"@flowfuse/nr-launcher","version":"2.28.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.28.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"c688d872d991bad07284da212c59273fe043789d","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.28.0.tgz","fileCount":44,"integrity":"sha512-nanArg1jQplpqq636P2TAVZidt/W6+IDMXU9CSxWceEQ5fKvKVh/W4g4g1TEsKrQcr4J0iRqty2QGd01wPblLw==","signatures":[{"sig":"MEQCIGEUxZNM7P2y3fdjpYkRGB1wp4QMVkkEwR2+Gf12BlxHAiACAS5Fa4IsjFzwfrCANp8iDBbe7MwL3e/+7Jz4lgjfRQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":627286},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"1e935d05421550a67a62ef3b80b77dc7aa00d07e","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"^0.11.0","@flowfuse/nr-file-nodes":"^0.0.9","@flowfuse/nr-mqtt-nodes":"^0.3.0","@flowfuse/nr-tables-nodes":"^0.2.2","@flowfuse/nr-project-nodes":"^0.7.8","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.28.0_1773311193648_0.1477208975237294","host":"s3://npm-registry-packages-npm-production"}},"2.28.1-1e935d0-202603121626.0":{"name":"@flowfuse/nr-launcher","version":"2.28.1-1e935d0-202603121626.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.28.1-1e935d0-202603121626.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"5364327c2dc446caf04fa9e2e16a77b5c0b9daa7","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.28.1-1e935d0-202603121626.0.tgz","fileCount":44,"integrity":"sha512-+hJuNU8IHrYceJGY012zoTGwLKh6pyrL2cB9hzssVppVdWSYjz50+8HUlpAZdv8dzQI/L0CLYPWtGULtCWRbZw==","signatures":[{"sig":"MEQCIBi00993fIYh4FXxpFrYeQOk6z20Jg3z4Qxwcc8RMkEWAiBmmeQ60S0NXGTx6fl4+rdAO5+Gc96ke2uREutC+Gf9kQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":627420},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"1e935d05421550a67a62ef3b80b77dc7aa00d07e","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-a9836d8-202603121625.0","@flowfuse/nr-file-nodes":"0.0.10-76d54cf-202603110944.0","@flowfuse/nr-mqtt-nodes":"0.3.1-5c2a177-202603110941.0","@flowfuse/nr-tables-nodes":"0.2.3-8ca49a8-202603111533.0","@flowfuse/nr-project-nodes":"0.7.9-de7a8d5-202603091308.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.28.1-1e935d0-202603121626.0_1773332775437_0.7132142475756995","host":"s3://npm-registry-packages-npm-production"}},"2.28.1-1e935d0-202603131025.0":{"name":"@flowfuse/nr-launcher","version":"2.28.1-1e935d0-202603131025.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.28.1-1e935d0-202603131025.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"6d4374da5c12920a3a10421987e8ba07c4aa50e3","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.28.1-1e935d0-202603131025.0.tgz","fileCount":44,"integrity":"sha512-Tqz84ruT/w44HlwddVlS0X57e3g1SUOM3btpFkcx5kcJNVuG/wH6+/j7s0O+uC4Py4ihdLvMRWWc3at3lZNjEA==","signatures":[{"sig":"MEUCIEbo9qDVcOKQAN/Hizfoni4WoDOo+WKIofcaxtYk3OE3AiEAxTkVq7dToXJvlFCqZzRXAWK7Ii918nxg3HC37tEPgBk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":627420},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"1e935d05421550a67a62ef3b80b77dc7aa00d07e","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-a9836d8-202603121625.0","@flowfuse/nr-file-nodes":"0.0.10-9897af4-202603131024.0","@flowfuse/nr-mqtt-nodes":"0.3.1-5c2a177-202603110941.0","@flowfuse/nr-tables-nodes":"0.2.3-4ddb598-202603131024.0","@flowfuse/nr-project-nodes":"0.7.9-d6053f8-202603131024.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.28.1-1e935d0-202603131025.0_1773397521794_0.9347482225637058","host":"s3://npm-registry-packages-npm-production"}},"2.28.1-e588b7b-202603131025.0":{"name":"@flowfuse/nr-launcher","version":"2.28.1-e588b7b-202603131025.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.28.1-e588b7b-202603131025.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"5cca472644833648ae61152f4d67797ef7421fd8","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.28.1-e588b7b-202603131025.0.tgz","fileCount":44,"integrity":"sha512-tobCIbqYb5Ja1IwAlmDxjIOKaTXpHVJzQwufp5GnoMiHXa2xfQd8jRP1eM4I8OLDJvjMsFKUtmvAfwcL5Z+DJQ==","signatures":[{"sig":"MEUCIB5bzdrrQAouRNYM82EH/DUI35dNFzSBrM72GFw7gnGqAiEAp27QhSdo/YfGU0RcO66kKkqgZxtk9c/t/p2DMCx8MPQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":627420},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"e588b7b0c05dedd4c879fbc68c53f353b6aadcf3","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-a9836d8-202603121625.0","@flowfuse/nr-file-nodes":"0.0.10-9897af4-202603131024.0","@flowfuse/nr-mqtt-nodes":"0.3.1-5c2a177-202603110941.0","@flowfuse/nr-tables-nodes":"0.2.3-4ddb598-202603131024.0","@flowfuse/nr-project-nodes":"0.7.9-d6053f8-202603131024.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.28.1-e588b7b-202603131025.0_1773397548247_0.8727419597763755","host":"s3://npm-registry-packages-npm-production"}},"2.28.1-e588b7b-202603131026.0":{"name":"@flowfuse/nr-launcher","version":"2.28.1-e588b7b-202603131026.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.28.1-e588b7b-202603131026.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"e80aa8acf2589accd20564765a370b4f30608670","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.28.1-e588b7b-202603131026.0.tgz","fileCount":44,"integrity":"sha512-HpL1DolM5ijqWWeM0LMt3n7D+STXskIu0jJYdHLal1PlHtH8JUhPCi426oM0volHbgMrtYJjvlQYTsmFp/HLnw==","signatures":[{"sig":"MEYCIQDtVEyFvMy8VgnbpU9IW2L9XLyPlpuLQy/jPpUNJKTzBwIhAIC+Rgs9ERN38DI8I7GoDzJnoKGX3TtyxsX6XzvXz4iJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":627420},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"e588b7b0c05dedd4c879fbc68c53f353b6aadcf3","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-a9836d8-202603121625.0","@flowfuse/nr-file-nodes":"0.0.10-9897af4-202603131024.0","@flowfuse/nr-mqtt-nodes":"0.3.1-dba189c-202603131025.0","@flowfuse/nr-tables-nodes":"0.2.3-4ddb598-202603131024.0","@flowfuse/nr-project-nodes":"0.7.9-d6053f8-202603131024.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.28.1-e588b7b-202603131026.0_1773397618166_0.08174922737693713","host":"s3://npm-registry-packages-npm-production"}},"2.28.1-e588b7b-202603131027.0":{"name":"@flowfuse/nr-launcher","version":"2.28.1-e588b7b-202603131027.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.28.1-e588b7b-202603131027.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"dfbb063eae985c146109bdbfeb949c7af55cfbb5","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.28.1-e588b7b-202603131027.0.tgz","fileCount":44,"integrity":"sha512-7J2tZEWkeeBInV5w8ucmjgLCt3V6LJk3c19c6oMHvpI15oSPt76gz3v8K6Qnu+SFP+7OBcjbf9tczbkg5+ViiQ==","signatures":[{"sig":"MEUCIQCtAK/GUNHN7anZpOX8l1AAu9sCsOAoDq9gl0bON7379QIgEKtZ2W+qS2r0ngA2mbuHx0Xko+j9E5EWYx/4Ax6ukbY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":627420},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"e588b7b0c05dedd4c879fbc68c53f353b6aadcf3","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-5b42f4c-202603131026.0","@flowfuse/nr-file-nodes":"0.0.10-9897af4-202603131024.0","@flowfuse/nr-mqtt-nodes":"0.3.1-dba189c-202603131025.0","@flowfuse/nr-tables-nodes":"0.2.3-4ddb598-202603131024.0","@flowfuse/nr-project-nodes":"0.7.9-d6053f8-202603131024.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.28.1-e588b7b-202603131027.0_1773397664251_0.33404445931399174","host":"s3://npm-registry-packages-npm-production"}},"2.28.1-e588b7b-202603131334.0":{"name":"@flowfuse/nr-launcher","version":"2.28.1-e588b7b-202603131334.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.28.1-e588b7b-202603131334.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"d160b57899bb8ec8136bd28deccbd3e274999e32","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.28.1-e588b7b-202603131334.0.tgz","fileCount":44,"integrity":"sha512-GY1fhgQxbRYiFetuMO6jdj6Os+633jHc0l30Ou9LzeZL9zvjDremK8/RmbrkLpf/hozo9jKzxw3qpvQgmtmv1Q==","signatures":[{"sig":"MEUCIBozc+vDH802gHZQrRt8wJgpha1UeTdZa0q8Gvsf4xOgAiEA8ijeMTVaqWH4zLRDyPg372NHWt3+vTxuOYKmdHd4Q40=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":627420},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"e588b7b0c05dedd4c879fbc68c53f353b6aadcf3","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-36e9ddd-202603131333.0","@flowfuse/nr-file-nodes":"0.0.10-9897af4-202603131024.0","@flowfuse/nr-mqtt-nodes":"0.3.1-355c3a2-202603131258.0","@flowfuse/nr-tables-nodes":"0.2.3-3ca8c5d-202603131256.0","@flowfuse/nr-project-nodes":"0.7.9-4a3d974-202603131257.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.28.1-e588b7b-202603131334.0_1773408858933_0.35070429011706206","host":"s3://npm-registry-packages-npm-production"}},"2.28.1-e588b7b-202603131341.0":{"name":"@flowfuse/nr-launcher","version":"2.28.1-e588b7b-202603131341.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.28.1-e588b7b-202603131341.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"ac0520e2af7df28dd5124a9b141d8da3225511e3","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.28.1-e588b7b-202603131341.0.tgz","fileCount":44,"integrity":"sha512-GPLhV1Cn4v+THn1olDh2/wVykk0W2ZLt/fzkvJiScsjoftISO8sDWxpjoXA7QHCslxbNGBPQjlgWU2QX10W+2g==","signatures":[{"sig":"MEQCIBfUVExFXKDmE3D6kvMnude+t5xHLh8NGRgCHwQBkPIqAiARvUpqYqV+5H4hj/8A4VXDOHrz7Y9xXnXBm4EuijfeIQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":627420},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"e588b7b0c05dedd4c879fbc68c53f353b6aadcf3","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-36e9ddd-202603131333.0","@flowfuse/nr-file-nodes":"0.0.10-9897af4-202603131024.0","@flowfuse/nr-mqtt-nodes":"0.3.1-355c3a2-202603131258.0","@flowfuse/nr-tables-nodes":"0.2.3-6ea5311-202603131340.0","@flowfuse/nr-project-nodes":"0.7.9-4a3d974-202603131257.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.28.1-e588b7b-202603131341.0_1773409274392_0.045727014617541695","host":"s3://npm-registry-packages-npm-production"}},"2.28.1-e588b7b-202603131349.0":{"name":"@flowfuse/nr-launcher","version":"2.28.1-e588b7b-202603131349.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.28.1-e588b7b-202603131349.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"738494188a1ac23abf77b3b9afc0634bae6d6bd1","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.28.1-e588b7b-202603131349.0.tgz","fileCount":44,"integrity":"sha512-4TJ615rY0sqArNb87tLSnpxwim7JAJESMTIIeELxDOLU63EW51NLAb3BPD7xf4MJABZ6ydVnFWHugpStMjlV6w==","signatures":[{"sig":"MEQCIA2Fic8/y1+hMe18PN+wXa0TrgQJls+KtfuOXOgIPT+BAiAnWAsQfMWfIBvls1IB3jCAz+UkJvTeH3JpjnO2aKXo6A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":627420},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"e588b7b0c05dedd4c879fbc68c53f353b6aadcf3","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-36e9ddd-202603131333.0","@flowfuse/nr-file-nodes":"0.0.10-9897af4-202603131024.0","@flowfuse/nr-mqtt-nodes":"0.3.1-355c3a2-202603131258.0","@flowfuse/nr-tables-nodes":"0.2.3-6ea5311-202603131340.0","@flowfuse/nr-project-nodes":"0.7.9-18f2ec9-202603131348.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.28.1-e588b7b-202603131349.0_1773409782740_0.018517350641991115","host":"s3://npm-registry-packages-npm-production"}},"2.28.1-e588b7b-202603131354.0":{"name":"@flowfuse/nr-launcher","version":"2.28.1-e588b7b-202603131354.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.28.1-e588b7b-202603131354.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"291e28fd10af32c9e1f9a374281f4732c4674bb9","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.28.1-e588b7b-202603131354.0.tgz","fileCount":44,"integrity":"sha512-8CIK/Ae2TaG3n74Upl6vRkFWaeJopoy5mdaa7zKyjNv+gFClWuXpoqbG1NzwPBleovbtkH5n04TKsCrIEW8+6w==","signatures":[{"sig":"MEUCIQCSqh6M7k5d/HBFShviGqcbnnRHVDGSmqy6Y54gE3BHdgIgeoAMisokLh8Bu7IDgEWFfX70EeDyvYWEdI90wJrSUvI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":627420},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"e588b7b0c05dedd4c879fbc68c53f353b6aadcf3","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-c816e15-202603131353.0","@flowfuse/nr-file-nodes":"0.0.10-9897af4-202603131024.0","@flowfuse/nr-mqtt-nodes":"0.3.1-3ffaa4b-202603131352.0","@flowfuse/nr-tables-nodes":"0.2.3-6ea5311-202603131340.0","@flowfuse/nr-project-nodes":"0.7.9-18f2ec9-202603131348.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.28.1-e588b7b-202603131354.0_1773410054287_0.9856195363702573","host":"s3://npm-registry-packages-npm-production"}},"2.28.1-e588b7b-202603131558.0":{"name":"@flowfuse/nr-launcher","version":"2.28.1-e588b7b-202603131558.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.28.1-e588b7b-202603131558.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"05b8e203b9e4885c09bf0f7a2848291f4250cae3","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.28.1-e588b7b-202603131558.0.tgz","fileCount":44,"integrity":"sha512-tkXCIEuSJNqivf8o1DMVB3gqf9hl0xji3IeP3To8SxBVRE70fj8qMg12OD7X3XL8LhOyhoKK+3MF96odSGE14A==","signatures":[{"sig":"MEUCIFF8afHKtVQHa41mAFDG/3efbDRcLSqdFupm4tYJmSaVAiEA/axIm7IfgGIqWYAD1X2qb70BibXwpay9NxtZN4kMExI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":627420},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"e588b7b0c05dedd4c879fbc68c53f353b6aadcf3","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-5065773-202603131558.0","@flowfuse/nr-file-nodes":"0.0.10-bb324e0-202603131557.0","@flowfuse/nr-mqtt-nodes":"0.3.1-3ffaa4b-202603131352.0","@flowfuse/nr-tables-nodes":"0.2.3-6ea5311-202603131340.0","@flowfuse/nr-project-nodes":"0.7.9-18f2ec9-202603131348.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.28.1-e588b7b-202603131558.0_1773417544206_0.44043192921387386","host":"s3://npm-registry-packages-npm-production"}},"2.28.1-f24e07c-202603131600.0":{"name":"@flowfuse/nr-launcher","version":"2.28.1-f24e07c-202603131600.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.28.1-f24e07c-202603131600.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"ecf0e07cb3647bbe78d1752d37046a7742d6d9b1","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.28.1-f24e07c-202603131600.0.tgz","fileCount":44,"integrity":"sha512-m7JIrkQPbCeNVqgkP4UXrJexFKOK3ENTPzsD/a7WYUXYU0IZBMhdTYIK+xu9rgLKp95hIcsoDRR1r+VbLo6ewQ==","signatures":[{"sig":"MEQCIEf1+NP/FcuSAs5SInPH8AvBlhWTrQLY1S9n+VTOnAQSAiALPjGqDDw3+KidxKaPUgTtg1DfzZ0LZsGKQXYIJxvVoA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":627420},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"f24e07ce0254a22e475f4b29594afa5528245965","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-5065773-202603131558.0","@flowfuse/nr-file-nodes":"0.0.10-bb324e0-202603131557.0","@flowfuse/nr-mqtt-nodes":"0.3.1-3ffaa4b-202603131352.0","@flowfuse/nr-tables-nodes":"0.2.3-6ea5311-202603131340.0","@flowfuse/nr-project-nodes":"0.7.9-18f2ec9-202603131348.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.28.1-f24e07c-202603131600.0_1773417643086_0.8733518348078306","host":"s3://npm-registry-packages-npm-production"}},"2.28.1-f24e07c-202603191741.0":{"name":"@flowfuse/nr-launcher","version":"2.28.1-f24e07c-202603191741.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.28.1-f24e07c-202603191741.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"1738c3b75892ddf77d7b2693eeb50118bdc55a19","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.28.1-f24e07c-202603191741.0.tgz","fileCount":44,"integrity":"sha512-4YEmZ+w4dMIn1MB+Xr/sn3GrOTjSO+j6u0wB2jeXrnBo/Zo+RcOkXf/Y5VUAxFFX5BXBXIWlrw760mRuW3ENSw==","signatures":[{"sig":"MEYCIQDmTbvbT1qjM3eKEMsPHgMfayk7LS2K6rxG5Z13Wy42zwIhAMiiPRJ1KPQS883IL9nUKk+6Q+5c2hY/wEFpnsd3fERa","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":627420},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"f24e07ce0254a22e475f4b29594afa5528245965","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-bf79995-202603191740.0","@flowfuse/nr-file-nodes":"0.0.10-bb324e0-202603131557.0","@flowfuse/nr-mqtt-nodes":"0.3.1-3ffaa4b-202603131352.0","@flowfuse/nr-tables-nodes":"0.2.3-6ea5311-202603131340.0","@flowfuse/nr-project-nodes":"0.7.9-18f2ec9-202603131348.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.28.1-f24e07c-202603191741.0_1773942103319_0.22659800388861795","host":"s3://npm-registry-packages-npm-production"}},"2.28.1-8f3ec9e-202603230620.0":{"name":"@flowfuse/nr-launcher","version":"2.28.1-8f3ec9e-202603230620.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.28.1-8f3ec9e-202603230620.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"aa759e0f27655bb85358f282a0efe0eb3f99474f","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.28.1-8f3ec9e-202603230620.0.tgz","fileCount":44,"integrity":"sha512-xRYtBkJ5fxr8T5fEa03gU1lvpzqYynoxjd0sHzpyzKzxf+sm1WXkMFquNi+bF8x8HBvAPfCsJrf4KGVb37IzlA==","signatures":[{"sig":"MEQCIDQx6skMacGG4+Lo68FAwn79Gpj0Z05s/LcFY64QysRiAiAox6bTGKXpJIu9lmMvUuv1cejt+0NnISPILqssjt/fgQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":627420},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"8f3ec9eac898c7b3a97cb534ae8e34f603f68b59","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-e2a325f-202603230619.0","@flowfuse/nr-file-nodes":"0.0.10-7a3941f-202603230619.0","@flowfuse/nr-mqtt-nodes":"0.3.1-73da971-202603230618.0","@flowfuse/nr-tables-nodes":"0.2.3-6ea5311-202603131340.0","@flowfuse/nr-project-nodes":"0.7.9-a4a0129-202603230618.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.28.1-8f3ec9e-202603230620.0_1774246835494_0.48439906793753895","host":"s3://npm-registry-packages-npm-production"}},"2.28.1-8f3ec9e-202603231018.0":{"name":"@flowfuse/nr-launcher","version":"2.28.1-8f3ec9e-202603231018.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.28.1-8f3ec9e-202603231018.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"68f4f7d6934b7e20fd477af7a5796e92ffaec0e2","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.28.1-8f3ec9e-202603231018.0.tgz","fileCount":44,"integrity":"sha512-XYnloHEQ/HUKnMAT3Ywc4nkrSaErWYo+OfDsBso6FumCM71CuvRhuzNWp2wdcUlYiey/L22rTG+nk7zwrlV2nA==","signatures":[{"sig":"MEQCIECnwRRl0ueo3vfou6Wf+XYtDZbI4RtkfVWTcMMH/69wAiBvuq1jNp3ieZeKWM4pkgT9vNUn1pNzZ3hIJZgmbidH6g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":627420},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"8f3ec9eac898c7b3a97cb534ae8e34f603f68b59","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-e2a325f-202603230619.0","@flowfuse/nr-file-nodes":"0.0.10-c46af40-202603231018.0","@flowfuse/nr-mqtt-nodes":"0.3.1-73da971-202603230618.0","@flowfuse/nr-tables-nodes":"0.2.3-6ea5311-202603131340.0","@flowfuse/nr-project-nodes":"0.7.9-a4a0129-202603230618.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.28.1-8f3ec9e-202603231018.0_1774261149445_0.7350238044335922","host":"s3://npm-registry-packages-npm-production"}},"2.28.1-8f3ec9e-202603231020.0":{"name":"@flowfuse/nr-launcher","version":"2.28.1-8f3ec9e-202603231020.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.28.1-8f3ec9e-202603231020.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"6ff54c0bfa36522c9bd3c4b5f55e58cc94a5b847","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.28.1-8f3ec9e-202603231020.0.tgz","fileCount":44,"integrity":"sha512-hVL52qSI86EKV/FJ7oU87d+WAJ3y600H5SlQc7VIiE6Up/4PfzvzJfAPllZWmXkP/Je3OviWKdfwfHNBkMqGfw==","signatures":[{"sig":"MEYCIQCiDH2Y+FLjfaVa/rBi+GDh+OtAxK8b5QV6vS8SzOjh2QIhAM9v0yng2eHrt6diFlmKwYLXxetpuEGm4a3AEJ2s+rr6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":627420},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"8f3ec9eac898c7b3a97cb534ae8e34f603f68b59","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-e2a325f-202603230619.0","@flowfuse/nr-file-nodes":"0.0.10-78a5fd6-202603231019.0","@flowfuse/nr-mqtt-nodes":"0.3.1-73da971-202603230618.0","@flowfuse/nr-tables-nodes":"0.2.3-6ea5311-202603131340.0","@flowfuse/nr-project-nodes":"0.7.9-a4a0129-202603230618.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.28.1-8f3ec9e-202603231020.0_1774261213099_0.5392643499571101","host":"s3://npm-registry-packages-npm-production"}},"2.28.1-f2382d2-202603231023.0":{"name":"@flowfuse/nr-launcher","version":"2.28.1-f2382d2-202603231023.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.28.1-f2382d2-202603231023.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"89b0924b63052d77971bec0112eec76081861fa9","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.28.1-f2382d2-202603231023.0.tgz","fileCount":44,"integrity":"sha512-9FvLVvWNeQpBga1QHACy/HunvwX0bRchsb6fBcwceKYFn7e76yURM795tCzf8A04AWVvNx1OK7o/uKRhg/trsw==","signatures":[{"sig":"MEUCIGprXRYmJ5ygw+CWiuqe/k3pEttZhW4RzpUM8x6OFupQAiEAs1hzr5cqro7Ves2uOb0WHoDIWwJsvk6Bx+IYKhMuDXQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":627420},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"f2382d22e66c9de2ce4dfc269e1cf6475a46e7f1","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-e2a325f-202603230619.0","@flowfuse/nr-file-nodes":"0.0.10-78a5fd6-202603231019.0","@flowfuse/nr-mqtt-nodes":"0.3.1-73da971-202603230618.0","@flowfuse/nr-tables-nodes":"0.2.3-6ea5311-202603131340.0","@flowfuse/nr-project-nodes":"0.7.9-a4a0129-202603230618.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.28.1-f2382d2-202603231023.0_1774261426909_0.3714667424895439","host":"s3://npm-registry-packages-npm-production"}},"2.28.1-f2382d2-202603231027.0":{"name":"@flowfuse/nr-launcher","version":"2.28.1-f2382d2-202603231027.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.28.1-f2382d2-202603231027.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"6ecf1a607cc1085bbaed30412f057d79f1660a9d","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.28.1-f2382d2-202603231027.0.tgz","fileCount":44,"integrity":"sha512-ylmnQ4Pe9c1SlwlIdRTVGSAl7fhzKhy7LetL1SEZJoIeJ32Bz5g9qZ28l26EjY+7oKGjwcgSxIm+WXnMB6XdEw==","signatures":[{"sig":"MEUCIBTWzEOKbHU67SSV/g8DV90m9fDdG0WXfjD6ITUKv/y5AiEAtU/vIyDR2CZsWXB9VTrUkjGYGLkfLoYt4gSh5y5KSj8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":627420},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"f2382d22e66c9de2ce4dfc269e1cf6475a46e7f1","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-e2a325f-202603230619.0","@flowfuse/nr-file-nodes":"0.0.10-78a5fd6-202603231019.0","@flowfuse/nr-mqtt-nodes":"0.3.1-73da971-202603230618.0","@flowfuse/nr-tables-nodes":"0.2.3-6ea5311-202603131340.0","@flowfuse/nr-project-nodes":"0.7.9-e44f570-202603231026.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.28.1-f2382d2-202603231027.0_1774261673027_0.07561866904498715","host":"s3://npm-registry-packages-npm-production"}},"2.28.1-f2382d2-202603241523.0":{"name":"@flowfuse/nr-launcher","version":"2.28.1-f2382d2-202603241523.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.28.1-f2382d2-202603241523.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"c04ae5cb9d62b346a5248d593c2bbccfe0f1ea67","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.28.1-f2382d2-202603241523.0.tgz","fileCount":44,"integrity":"sha512-TR8zAwXcdv0Iy5RwUlDDNMureFHyyCfM/MRaNOANDDXZPhuIkZ32inqL/VNIY/A92u6b7HCbfKRf9LVn1BRPlQ==","signatures":[{"sig":"MEQCIF3EWm5jzx2ps2AXA8EPMBRCAFxq2gFaVvhvxeeGG8OtAiBk5/fDzRMnJf65T/mn3Ozn8gJnGAm8QYQBFzbfnr0v3g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":627420},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"f2382d22e66c9de2ce4dfc269e1cf6475a46e7f1","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-f7def30-202603241522.0","@flowfuse/nr-file-nodes":"0.0.10-ae8ada1-202603241523.0","@flowfuse/nr-mqtt-nodes":"0.3.1-73da971-202603230618.0","@flowfuse/nr-tables-nodes":"0.2.3-6ea5311-202603131340.0","@flowfuse/nr-project-nodes":"0.7.9-e44f570-202603231026.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.28.1-f2382d2-202603241523.0_1774365813233_0.4080747158654068","host":"s3://npm-registry-packages-npm-production"}},"2.28.1-f2382d2-202603241524.0":{"name":"@flowfuse/nr-launcher","version":"2.28.1-f2382d2-202603241524.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.28.1-f2382d2-202603241524.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"556462605dadc26eeec9ba8d9d3c233004300d32","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.28.1-f2382d2-202603241524.0.tgz","fileCount":44,"integrity":"sha512-HVqldzK4+L8ZNlPw8AtUgq0nF6KMahRZmmp8xkArKjuHQeMljKvgzKLztdQAzb0XPm70P8szzxa/P5Ss2w7XwA==","signatures":[{"sig":"MEUCIQCaqDry53bo4GnvjemeT9YkKhNlIc1TplYEFwWGgCMJLAIgC1eZCaeON3/abT0NTICntqWA6/iv8erOwQp6AGSb5CU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":627420},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"f2382d22e66c9de2ce4dfc269e1cf6475a46e7f1","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-f7def30-202603241522.0","@flowfuse/nr-file-nodes":"0.0.10-ae8ada1-202603241523.0","@flowfuse/nr-mqtt-nodes":"0.3.1-73da971-202603230618.0","@flowfuse/nr-tables-nodes":"0.2.3-6ea5311-202603131340.0","@flowfuse/nr-project-nodes":"0.7.9-e44f570-202603231026.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.28.1-f2382d2-202603241524.0_1774365862299_0.25666988171922434","host":"s3://npm-registry-packages-npm-production"}},"2.28.1-f2382d2-202603241528.0":{"name":"@flowfuse/nr-launcher","version":"2.28.1-f2382d2-202603241528.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.28.1-f2382d2-202603241528.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"87df3878a609802558418eeca1f98588e46b5df5","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.28.1-f2382d2-202603241528.0.tgz","fileCount":44,"integrity":"sha512-XdJ1VzD7c48uQD+1Xu8oX6flrVrCsWNICCYJNLbAI80baHlKP6hVu1fVXzrBbn0zgVAu3WC0aH17vvL32trqUg==","signatures":[{"sig":"MEYCIQDuEJa5oWRtsZ0Gvz/MSBUsGm5fNP1uVId2pHeLBGmSjwIhAL3/pIp1yy98WQH5IYeZca5OIv8CHAKTVpEHh+a6/Kr5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":627420},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"f2382d22e66c9de2ce4dfc269e1cf6475a46e7f1","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-f7def30-202603241522.0","@flowfuse/nr-file-nodes":"0.0.10-ae8ada1-202603241523.0","@flowfuse/nr-mqtt-nodes":"0.3.1-73da971-202603230618.0","@flowfuse/nr-tables-nodes":"0.2.3-d2384e5-202603241528.0","@flowfuse/nr-project-nodes":"0.7.9-e44f570-202603231026.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.28.1-f2382d2-202603241528.0_1774366138104_0.6677155924651663","host":"s3://npm-registry-packages-npm-production"}},"2.28.1-520c986-202603241530.0":{"name":"@flowfuse/nr-launcher","version":"2.28.1-520c986-202603241530.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.28.1-520c986-202603241530.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"4afd249ad0e6fa0123196e02186e2db097866545","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.28.1-520c986-202603241530.0.tgz","fileCount":44,"integrity":"sha512-V8Dj+OyuMsYLY1+5q37Ye7X3dVlE/DPZ0j9yEWFxrJSNPEWIRFikru6nxCUCbfzCM1JkSuIDE+qTNkDWBYUAsg==","signatures":[{"sig":"MEUCIAH0U+UvAjGyB52woSZpAdI6zJrz09s+rPl0XbqFFeEPAiEAvMSlRYYcrFfHIFjSNfaW7qcVrefe6nA2RoBUSWvVATE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":627420},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"520c9865b4f0ff86708f1332fc33ba8cd64c34b1","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-f7def30-202603241522.0","@flowfuse/nr-file-nodes":"0.0.10-ae8ada1-202603241523.0","@flowfuse/nr-mqtt-nodes":"0.3.1-dbf4d77-202603241529.0","@flowfuse/nr-tables-nodes":"0.2.3-d2384e5-202603241528.0","@flowfuse/nr-project-nodes":"0.7.9-69ce2b7-202603241528.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.28.1-520c986-202603241530.0_1774366230665_0.758662784798539","host":"s3://npm-registry-packages-npm-production"}},"2.28.1-fbf722c-202603250945.0":{"name":"@flowfuse/nr-launcher","version":"2.28.1-fbf722c-202603250945.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.28.1-fbf722c-202603250945.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"1bf756194ae1646c344f88cbc159ab27382f25db","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.28.1-fbf722c-202603250945.0.tgz","fileCount":44,"integrity":"sha512-E8e2gO6EKu8TpyhA4S0FVN/QdLqFzJQH4/NS0RDP91PVUVzyp39xRUSOwes132W5kfvNeMcYEJaJZV/KyDcB6Q==","signatures":[{"sig":"MEUCIQCJa1Y6viMMQKYyv2+ZFVYUfU6DpB8dyGXdi5fSUIsPXgIgXpARJdqZUVUiF6YBAbueNmdPSl8vkyULppnxrE+jOek=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":627420},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"fbf722c29f2c56ba134da6d384416aeb862d27b0","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-8a7ebbd-202603250944.0","@flowfuse/nr-file-nodes":"0.0.10-dc519b5-202603250944.0","@flowfuse/nr-mqtt-nodes":"0.3.1-dbf4d77-202603241529.0","@flowfuse/nr-tables-nodes":"0.2.3-d2384e5-202603241528.0","@flowfuse/nr-project-nodes":"0.7.9-69ce2b7-202603241528.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.28.1-fbf722c-202603250945.0_1774431939357_0.007635055712166938","host":"s3://npm-registry-packages-npm-production"}},"2.28.1-fbf722c-202603250947.0":{"name":"@flowfuse/nr-launcher","version":"2.28.1-fbf722c-202603250947.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.28.1-fbf722c-202603250947.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"d05b7c56b81792102325743d964f36658ee2be9f","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.28.1-fbf722c-202603250947.0.tgz","fileCount":44,"integrity":"sha512-u68mr8kiSRTRWiV0P5dnd1vGI2GE5Wp2IHf4RS1VqeXf+1kmN4BmphAcZtJxFERrFO8RWt1k4q4YM4hVnOhvdg==","signatures":[{"sig":"MEUCIFqMTY9e/v/IRlypBPOqTffcPAdymnEdHLPAlswVn/jsAiEAhDO17sgkj4dE+2xPz1W9ru6e3UfDM9CA6+m6oOGDI64=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":627420},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"fbf722c29f2c56ba134da6d384416aeb862d27b0","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-8a7ebbd-202603250944.0","@flowfuse/nr-file-nodes":"0.0.10-dc519b5-202603250944.0","@flowfuse/nr-mqtt-nodes":"0.3.1-7b44ad5-202603250946.0","@flowfuse/nr-tables-nodes":"0.2.3-d217b48-202603250946.0","@flowfuse/nr-project-nodes":"0.7.9-ed2e936-202603250946.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.28.1-fbf722c-202603250947.0_1774432074518_0.8888396561534118","host":"s3://npm-registry-packages-npm-production"}},"2.28.2-eed5992-202603251424.0":{"name":"@flowfuse/nr-launcher","version":"2.28.2-eed5992-202603251424.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.28.2-eed5992-202603251424.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"690b6d808556336c74417c8c4352c79151aed206","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.28.2-eed5992-202603251424.0.tgz","fileCount":44,"integrity":"sha512-cY0r+9lxUVeNC4QwbSh9XfSw0z8ypjXAJIXGdbK6/RdjQec4C46PznkOTlnSCKGGiVPnMyZVHiFMJbPeMUtAVA==","signatures":[{"sig":"MEYCIQDYRMDytbB9fLev879uMoofyixG6SpguP4Z14tG+OHu3wIhALMNbqxgvBYYGVe6kiU5PTV0zX7DfNND8vuhKCVGi8QK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":627923},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"eed59925f3d6ac4134f4c49d1607874083a2c86f","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-8a7ebbd-202603250944.0","@flowfuse/nr-file-nodes":"0.0.10-dc519b5-202603250944.0","@flowfuse/nr-mqtt-nodes":"0.3.1-7b44ad5-202603250946.0","@flowfuse/nr-tables-nodes":"0.2.3-d217b48-202603250946.0","@flowfuse/nr-project-nodes":"0.7.9-ed2e936-202603250946.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.28.2-eed5992-202603251424.0_1774448664039_0.15366325187629437","host":"s3://npm-registry-packages-npm-production"}},"2.28.1":{"name":"@flowfuse/nr-launcher","version":"2.28.1","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.28.1","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"96098ea512c46fd7638f4c57f7c59046c1dd46e3","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.28.1.tgz","fileCount":44,"integrity":"sha512-zwje6zQ7Q5qm+TMM7RaNfqJFfCfDWkfO2naw3IHDiThG44flGXY6AjvCAZl4tu3D77F7HSH+Fd3ExmHeY+n5ug==","signatures":[{"sig":"MEUCIFTq74X+ccGjlnOXREi+0wLDzx+dR3HGZLpxBDUrNL/WAiEA/6+0BTpJXD+2tSkllR+Cw81O4OHjCBaKyxYIJPEoQcg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":627789},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"eed59925f3d6ac4134f4c49d1607874083a2c86f","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.9.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.14.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"^0.11.0","@flowfuse/nr-file-nodes":"^0.0.9","@flowfuse/nr-mqtt-nodes":"^0.3.0","@flowfuse/nr-tables-nodes":"^0.2.2","@flowfuse/nr-project-nodes":"^0.7.8","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.28.1_1774448704433_0.349382851347533","host":"s3://npm-registry-packages-npm-production"}},"2.28.2-a986558-202603261048.0":{"name":"@flowfuse/nr-launcher","version":"2.28.2-a986558-202603261048.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.28.2-a986558-202603261048.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"73a5276399826c47e1bfc5e188589d615d339675","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.28.2-a986558-202603261048.0.tgz","fileCount":44,"integrity":"sha512-JEGErlo1EKy2Qf1vGy3p+zvXbS7aX6P/ConxS/+fwwXfGFiftrCgeYDdKUNiahj3UPcLrUtOz9M1L2ww7psvAQ==","signatures":[{"sig":"MEQCIEnsDAvOzQ1UmnMRRQSSx04xd/dLyxoNQNf9+frnlIB4AiAS2E6JufOPtE8lvrF6lnIbOvdSXqLJGdy/tzj89L2Ycg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":627923},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"a986558702bc988a73d4d46ff8012f807f0c9120","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-8a7ebbd-202603250944.0","@flowfuse/nr-file-nodes":"0.0.10-dc519b5-202603250944.0","@flowfuse/nr-mqtt-nodes":"0.3.1-7b44ad5-202603250946.0","@flowfuse/nr-tables-nodes":"0.2.3-d217b48-202603250946.0","@flowfuse/nr-project-nodes":"0.7.9-ed2e936-202603250946.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.28.2-a986558-202603261048.0_1774522137085_0.47619698494659857","host":"s3://npm-registry-packages-npm-production"}},"2.28.2-a986558-202603261050.0":{"name":"@flowfuse/nr-launcher","version":"2.28.2-a986558-202603261050.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.28.2-a986558-202603261050.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"ad05f3dbcbd50daf346ad35f4e254333113ebe8f","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.28.2-a986558-202603261050.0.tgz","fileCount":44,"integrity":"sha512-FuyUsjekcv9yYtGf2LaAHWPwbyySoYQPfxJh6i658jdWAmImEuJYbcEs9OQDXxcXXFODmcBYmDkyNXBi4Ya6AQ==","signatures":[{"sig":"MEYCIQDGN7AK+J9c8ZGHChGYp4/jVEKv0N8/yZ2TkciXfWiAfQIhAMg0Ecns+4SDdEHyKcDd6a1M4mekQQ9iWPan6k2k4xRD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":627923},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"a986558702bc988a73d4d46ff8012f807f0c9120","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-8a7ebbd-202603250944.0","@flowfuse/nr-file-nodes":"0.0.10-dc519b5-202603250944.0","@flowfuse/nr-mqtt-nodes":"0.3.1-b7c6f5a-202603261049.0","@flowfuse/nr-tables-nodes":"0.2.3-d217b48-202603250946.0","@flowfuse/nr-project-nodes":"0.7.9-ed2e936-202603250946.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.28.2-a986558-202603261050.0_1774522225368_0.7187510224226088","host":"s3://npm-registry-packages-npm-production"}},"2.28.2-a986558-202603261058.0":{"name":"@flowfuse/nr-launcher","version":"2.28.2-a986558-202603261058.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.28.2-a986558-202603261058.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"b78edf522b044d01019066dc2bc596e1d0ccfc15","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.28.2-a986558-202603261058.0.tgz","fileCount":44,"integrity":"sha512-L8IJl8XKlN4F8kZax4kMe5DWHCtXBGocR0tMbz3I99fXeOv1SmvtLJi88aUhlyUTbapomV6q1BSEDARkN9t9cQ==","signatures":[{"sig":"MEYCIQC0Mm40RbELUY/7RIV1ujLIzGcKwyZfAxGZkJEO2wyt6AIhAO5x3s4qKqXmSqa8mwAz1o2b+VGsVtHrWii+P5PEubMz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":627923},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"a986558702bc988a73d4d46ff8012f807f0c9120","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-8a7ebbd-202603250944.0","@flowfuse/nr-file-nodes":"0.0.10-dc519b5-202603250944.0","@flowfuse/nr-mqtt-nodes":"0.3.1-b7c6f5a-202603261049.0","@flowfuse/nr-tables-nodes":"0.2.3-606399d-202603261058.0","@flowfuse/nr-project-nodes":"0.7.9-ed2e936-202603250946.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.28.2-a986558-202603261058.0_1774522744434_0.6436659815946091","host":"s3://npm-registry-packages-npm-production"}},"2.28.2-a986558-202603261102.0":{"name":"@flowfuse/nr-launcher","version":"2.28.2-a986558-202603261102.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.28.2-a986558-202603261102.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"8991c0f3f3e62a8f4a4035eb650b8f47d5e390c2","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.28.2-a986558-202603261102.0.tgz","fileCount":44,"integrity":"sha512-bNfj63prsfrEU7i5+AMpgwi93052XIA9XLx1bgdAKGXeez6S4Lvhy6MVS4m6g3Ds1bHaKM/esJc5alRRNu2PBg==","signatures":[{"sig":"MEUCIFXmUauToRnagDE26YZTVYlwvJQFpxeeJ50YTDNUuzpVAiEAwtcTR/rPn1g/CKbGWW9vpHUjPi1GxrYyTP2wXOsEjwA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":627923},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"a986558702bc988a73d4d46ff8012f807f0c9120","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-1ae1a0b-202603261101.0","@flowfuse/nr-file-nodes":"0.0.10-dc519b5-202603250944.0","@flowfuse/nr-mqtt-nodes":"0.3.1-b7c6f5a-202603261049.0","@flowfuse/nr-tables-nodes":"0.2.3-606399d-202603261058.0","@flowfuse/nr-project-nodes":"0.7.9-ed2e936-202603250946.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.28.2-a986558-202603261102.0_1774522966244_0.554082747247397","host":"s3://npm-registry-packages-npm-production"}},"2.28.2-a419958-202603261159.0":{"name":"@flowfuse/nr-launcher","version":"2.28.2-a419958-202603261159.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.28.2-a419958-202603261159.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"5a06f582bdaa08226e3395bb71dab74c269992a2","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.28.2-a419958-202603261159.0.tgz","fileCount":44,"integrity":"sha512-5ojsKrdszcBRi0L12w9xF7goR79JZqEZqC0GbrCpnS4x5k7/YBK/JVA9SOT+SOE5ZlmjK/2gY+jQsoOne4GkcA==","signatures":[{"sig":"MEQCIDnra3MoFUt8SXmnd7kEPne2R+7lW+qKe4eh7gl1avWWAiAbiUh+ENCEi5YaND+4sMjYm0ECAeOu3/yRu3vD1K4/cg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":627923},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"a419958c2ad8a08290976a11af711d8788644f1f","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-1ae1a0b-202603261101.0","@flowfuse/nr-file-nodes":"0.0.10-dc519b5-202603250944.0","@flowfuse/nr-mqtt-nodes":"0.3.1-b7c6f5a-202603261049.0","@flowfuse/nr-tables-nodes":"0.2.3-606399d-202603261058.0","@flowfuse/nr-project-nodes":"0.7.9-ed2e936-202603250946.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.28.2-a419958-202603261159.0_1774526394162_0.46351588974078917","host":"s3://npm-registry-packages-npm-production"}},"2.28.2-a419958-202603261257.0":{"name":"@flowfuse/nr-launcher","version":"2.28.2-a419958-202603261257.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.28.2-a419958-202603261257.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"e4c05a43a472ad48bc65065f112a02c190176cb7","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.28.2-a419958-202603261257.0.tgz","fileCount":44,"integrity":"sha512-wS7z+AOorNo6OeoochQ0dy8QjsRN4L/A1XdpxQS4FBwrFnmPOyc1Sb6B5/aohOCiCnN3qeuiPSAwy9rpHN1KVg==","signatures":[{"sig":"MEUCID7KqApF46s/vbEMo3t15UHJIA64QQSV0cRrEN+TkOLSAiEA4c01tymAnBgT+6HXp/hUlNbaGSVIEt+yxhmrWw2KHTY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":627923},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"a419958c2ad8a08290976a11af711d8788644f1f","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-1ae1a0b-202603261101.0","@flowfuse/nr-file-nodes":"0.0.10-d5709dd-202603261256.0","@flowfuse/nr-mqtt-nodes":"0.3.1-b7c6f5a-202603261049.0","@flowfuse/nr-tables-nodes":"0.2.3-606399d-202603261058.0","@flowfuse/nr-project-nodes":"0.7.9-ed2e936-202603250946.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.28.2-a419958-202603261257.0_1774529837408_0.5134485906338044","host":"s3://npm-registry-packages-npm-production"}},"2.28.2-a419958-202603261259.0":{"name":"@flowfuse/nr-launcher","version":"2.28.2-a419958-202603261259.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.28.2-a419958-202603261259.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"088b91c87b323a4e1bf582e776e840e364b0e981","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.28.2-a419958-202603261259.0.tgz","fileCount":44,"integrity":"sha512-V5li4WtKIF1vnFudwIGOKH+fNcxl+1kjscuzVJkDmUPyBMSWEhpFcu4MQjmK23MGwjztYY6lKfCyYrKFvkGWUw==","signatures":[{"sig":"MEYCIQD2vCa4PPuV/IOsyKOlNF3bmqVEbeGfh/P/Z9934k1ePwIhAO2jVY8e4QnF3zjR7ebjU/ZlX+Ebi3JP/r7R7UGowhQQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":627923},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"a419958c2ad8a08290976a11af711d8788644f1f","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-1ae1a0b-202603261101.0","@flowfuse/nr-file-nodes":"0.0.10-d5709dd-202603261256.0","@flowfuse/nr-mqtt-nodes":"0.3.1-48f981c-202603261258.0","@flowfuse/nr-tables-nodes":"0.2.3-606399d-202603261058.0","@flowfuse/nr-project-nodes":"0.7.9-ed2e936-202603250946.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.28.2-a419958-202603261259.0_1774529991201_0.9829166801749827","host":"s3://npm-registry-packages-npm-production"}},"2.28.2-a419958-202603261302.0":{"name":"@flowfuse/nr-launcher","version":"2.28.2-a419958-202603261302.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.28.2-a419958-202603261302.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"9a8ba4818e6c67838fe68ba5f69b59086a6a27f2","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.28.2-a419958-202603261302.0.tgz","fileCount":44,"integrity":"sha512-xVsCmOsnbJCKILul8eF0bziqiGF0tT9UT+Ouw1YIdUdDy1u9MVv7NAbQV1voU9yQw9HENBYv8gRmiGESvge1Lg==","signatures":[{"sig":"MEUCIF7b/wI9bHrAgwB0wRFxxu+m5kxSGmOjoISj/y2vN5ReAiEAlKXKdlnslXyqHci/hQ9+Bjt/29vQ0pzTbtqieeWcLvg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":627923},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"a419958c2ad8a08290976a11af711d8788644f1f","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-1ae1a0b-202603261101.0","@flowfuse/nr-file-nodes":"0.0.10-d5709dd-202603261256.0","@flowfuse/nr-mqtt-nodes":"0.3.1-48f981c-202603261258.0","@flowfuse/nr-tables-nodes":"0.2.3-606399d-202603261058.0","@flowfuse/nr-project-nodes":"0.7.9-9ee80e0-202603261301.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.28.2-a419958-202603261302.0_1774530129453_0.44405049573423105","host":"s3://npm-registry-packages-npm-production"}},"2.28.2-df42ed9-202603300838.0":{"name":"@flowfuse/nr-launcher","version":"2.28.2-df42ed9-202603300838.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.28.2-df42ed9-202603300838.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"9aba0fb027c3893b235a1dd17290ab86bd3601b1","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.28.2-df42ed9-202603300838.0.tgz","fileCount":44,"integrity":"sha512-iKWHAYAj5Cn40ytAjd1cFKXnpquxB2qf5n02C5fpAR4HU7bxBD5vCYI85bsRrghTStCxG7LQveny0t62LkYzVA==","signatures":[{"sig":"MEQCIGJN53x4h1B9cOK+Emi5m1fuTSqUTLcDcz9dKsNKKsVBAiB0Zoll0EQirMRHepk5N8wTP5VsDlUn0/8Sns9hVN6RaQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":627923},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"df42ed963b29d331b9e11154229b1bb58c3026a4","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-1ae1a0b-202603261101.0","@flowfuse/nr-file-nodes":"0.0.10-d5709dd-202603261256.0","@flowfuse/nr-mqtt-nodes":"0.3.1-48f981c-202603261258.0","@flowfuse/nr-tables-nodes":"0.2.3-606399d-202603261058.0","@flowfuse/nr-project-nodes":"0.7.9-9ee80e0-202603261301.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.28.2-df42ed9-202603300838.0_1774859899202_0.048679422213726786","host":"s3://npm-registry-packages-npm-production"}},"2.28.2-a1895e1-202603300840.0":{"name":"@flowfuse/nr-launcher","version":"2.28.2-a1895e1-202603300840.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.28.2-a1895e1-202603300840.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"ec52432c7e388e2716eb323493f8c7c0a6ff8e64","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.28.2-a1895e1-202603300840.0.tgz","fileCount":44,"integrity":"sha512-RJjM3Lz90BS61qrgkRGTxhihHRml57FIZUolYcWThPA0rPo0JCWfz/t+ZROUao/76AmwYvrx+lRIFP0lyhTYuA==","signatures":[{"sig":"MEQCIGGnl0bkTnv0Tf+fFeIYirCi3XJFG0ZGdWq3LqvIhVXkAiA6zfoQawmPdUW3+10k63BQM/P8HBqQ53/UQ6GnrRlXwA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":627923},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"a1895e173a6507f1cd92f040337aa6ac7dd522f2","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-1ae1a0b-202603261101.0","@flowfuse/nr-file-nodes":"0.0.10-d5709dd-202603261256.0","@flowfuse/nr-mqtt-nodes":"0.3.1-48f981c-202603261258.0","@flowfuse/nr-tables-nodes":"0.2.3-606399d-202603261058.0","@flowfuse/nr-project-nodes":"0.7.9-9ee80e0-202603261301.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.28.2-a1895e1-202603300840.0_1774860031583_0.25170557112628456","host":"s3://npm-registry-packages-npm-production"}},"2.28.2-a1895e1-202603300842.0":{"name":"@flowfuse/nr-launcher","version":"2.28.2-a1895e1-202603300842.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.28.2-a1895e1-202603300842.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"dd53f20d660df0695836227d665658080a0ac683","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.28.2-a1895e1-202603300842.0.tgz","fileCount":44,"integrity":"sha512-PyXll8YFnFMEXcfsx4b55Mm90DIw3wyL+xcDLZfETQdUFmuoccFlgd6fxqaN7Ga2cXcDOuUrA/HInKBycmA0aA==","signatures":[{"sig":"MEUCIGUGcTbNi5fgP3glf3mxv3J7W4XUc8gE9J6doDsXvJBqAiEA6PuIwrQ1GUMK7dwZKt35vG150oIFVb6wOyMRPgtL+Ak=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":627923},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"a1895e173a6507f1cd92f040337aa6ac7dd522f2","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-27d51a3-202603300841.0","@flowfuse/nr-file-nodes":"0.0.10-d5709dd-202603261256.0","@flowfuse/nr-mqtt-nodes":"0.3.1-48f981c-202603261258.0","@flowfuse/nr-tables-nodes":"0.2.3-606399d-202603261058.0","@flowfuse/nr-project-nodes":"0.7.9-9ee80e0-202603261301.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.28.2-a1895e1-202603300842.0_1774860160961_0.40429173519589234","host":"s3://npm-registry-packages-npm-production"}},"2.28.2-a1895e1-202603311325.0":{"name":"@flowfuse/nr-launcher","version":"2.28.2-a1895e1-202603311325.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.28.2-a1895e1-202603311325.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"08698e0bd602c1d367311cfdf5975d65800b3d68","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.28.2-a1895e1-202603311325.0.tgz","fileCount":44,"integrity":"sha512-nuv6CJXkwykmTdgGa359TTAGlkrXhLkxehP8zWK5Dx08bxj40iy1obgJGg4KV/EiI5NMABPLW8UxQZ5T8A6Ibg==","signatures":[{"sig":"MEQCIHJ6C3b1vh7tC+5Z2PkN/57ZElRm5ZzLhpF6jj3iGNHUAiA2rxWZ1+SIv6rsvC7/MTS7k3fgpVCUmkI1CMwF8lgZkA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":627923},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"a1895e173a6507f1cd92f040337aa6ac7dd522f2","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-27d51a3-202603300841.0","@flowfuse/nr-file-nodes":"0.0.10-d5709dd-202603261256.0","@flowfuse/nr-mqtt-nodes":"0.3.1-28bf3a6-202603311324.0","@flowfuse/nr-tables-nodes":"0.2.3-606399d-202603261058.0","@flowfuse/nr-project-nodes":"0.7.9-9ee80e0-202603261301.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.28.2-a1895e1-202603311325.0_1774963545399_0.12193447714297068","host":"s3://npm-registry-packages-npm-production"}},"2.28.2-a1895e1-202603311340.0":{"name":"@flowfuse/nr-launcher","version":"2.28.2-a1895e1-202603311340.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.28.2-a1895e1-202603311340.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"f21155d944f805e78f971f7e2abee11d3edd78ff","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.28.2-a1895e1-202603311340.0.tgz","fileCount":44,"integrity":"sha512-fJWILALq302F4R4DAZku8GIrrhaiM1OevY2UkLf9EwnVMSDcOkhAJQwY0ei9ddKPTmtnyNXGTcFm0kE1DOl5/w==","signatures":[{"sig":"MEUCIQDPh49iXYRRp2xfJ+X/1xBEXE/XXOP/Sfsiw0EHUHsAagIgT+8fhWVmtSl7N9UuLsE0MId6bR/OARkEbtf4RwjxiMM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":627923},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"a1895e173a6507f1cd92f040337aa6ac7dd522f2","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-27d51a3-202603300841.0","@flowfuse/nr-file-nodes":"0.0.10-2984703-202603311339.0","@flowfuse/nr-mqtt-nodes":"0.3.1-28bf3a6-202603311324.0","@flowfuse/nr-tables-nodes":"0.2.3-606399d-202603261058.0","@flowfuse/nr-project-nodes":"0.7.9-9ee80e0-202603261301.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.28.2-a1895e1-202603311340.0_1774964443663_0.12728825926554643","host":"s3://npm-registry-packages-npm-production"}},"2.28.2-a1895e1-202603311349.0":{"name":"@flowfuse/nr-launcher","version":"2.28.2-a1895e1-202603311349.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.28.2-a1895e1-202603311349.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"d5ecc03a4cf3e62c003d1f2169a8d7bbdde7e9a2","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.28.2-a1895e1-202603311349.0.tgz","fileCount":44,"integrity":"sha512-UJi9di2ApvZ9LT/XxEKKGq03Ywvt4l5cQw+gI3Yu0HUEGwrM5/4WlFEEImwZ1E39KatJTNjpZQsEZY6CaDMUKA==","signatures":[{"sig":"MEYCIQDj0P1qXFEvHg/9e47tR6y5Oel+avFYUnWMPvcZmK3SFQIhAOZkOxY8xpFzB/ZK9M60XzK09DD4lnGv+ns7uZ5FMHQu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":627923},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"a1895e173a6507f1cd92f040337aa6ac7dd522f2","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-27d51a3-202603300841.0","@flowfuse/nr-file-nodes":"0.0.10-331b096-202603311348.0","@flowfuse/nr-mqtt-nodes":"0.3.1-28bf3a6-202603311324.0","@flowfuse/nr-tables-nodes":"0.2.3-606399d-202603261058.0","@flowfuse/nr-project-nodes":"0.7.9-9ee80e0-202603261301.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.12.2","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.28.2-a1895e1-202603311349.0_1774964969260_0.9337293169162268","host":"s3://npm-registry-packages-npm-production"}},"2.28.2-f6e4794-202604010906.0":{"name":"@flowfuse/nr-launcher","version":"2.28.2-f6e4794-202604010906.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.28.2-f6e4794-202604010906.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"a1432fffb96a5c64524a0dc418177b68af7853b0","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.28.2-f6e4794-202604010906.0.tgz","fileCount":44,"integrity":"sha512-wgSBcWrqU2+Sdg1wqxcham7vqm9W53j4W/ZECpDEb+VByykHFX9Ramiw6ZRehzBFvyk3bs1hpBmKZo87+Jo8jQ==","signatures":[{"sig":"MEYCIQDWmyWQAT34vqX23QlewuKsJI1XWW/CnESnSnX+cKY7GAIhAMye4Zeqib+Sn1ILz/VH/ypOw/cEt0T8wbw7MV2mvDFI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":627923},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"f6e4794d93e7b72bf5741074d303dd76d883b4c4","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-27d51a3-202603300841.0","@flowfuse/nr-file-nodes":"0.0.10-331b096-202603311348.0","@flowfuse/nr-mqtt-nodes":"0.3.1-28bf3a6-202603311324.0","@flowfuse/nr-tables-nodes":"0.2.3-606399d-202603261058.0","@flowfuse/nr-project-nodes":"0.7.9-9ee80e0-202603261301.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.28.2-f6e4794-202604010906.0_1775034385677_0.37207904598876707","host":"s3://npm-registry-packages-npm-production"}},"2.28.2-f6e4794-202604011327.0":{"name":"@flowfuse/nr-launcher","version":"2.28.2-f6e4794-202604011327.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.28.2-f6e4794-202604011327.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"19cc638fc81ca0f2dc87551aca9286fbeab2a2e1","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.28.2-f6e4794-202604011327.0.tgz","fileCount":44,"integrity":"sha512-YPIdybKZ0SY2GegCjxSg/pcRdhPTzRCI+z86TBLAIkTx17M6fIDTuh9R4ZN7uOCXqULMlFfklHk6xWhwrBS77A==","signatures":[{"sig":"MEYCIQCpzPlL3mQqxayUu7AUliGK3zxCc/HXding7aaBj03qLgIhALgG5yOTvGK+FRAA8tnONRvLvp/DzDS5fu6UJnlwgXAi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":627923},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"f6e4794d93e7b72bf5741074d303dd76d883b4c4","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-b462670-202604011326.0","@flowfuse/nr-file-nodes":"0.0.10-331b096-202603311348.0","@flowfuse/nr-mqtt-nodes":"0.3.1-28bf3a6-202603311324.0","@flowfuse/nr-tables-nodes":"0.2.3-606399d-202603261058.0","@flowfuse/nr-project-nodes":"0.7.9-9ee80e0-202603261301.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.28.2-f6e4794-202604011327.0_1775050059287_0.699936718240697","host":"s3://npm-registry-packages-npm-production"}},"2.28.2-f6e4794-202604080823.0":{"name":"@flowfuse/nr-launcher","version":"2.28.2-f6e4794-202604080823.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.28.2-f6e4794-202604080823.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"0fd35ee113a3c068e18d2f5e35b1d8718410ea9e","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.28.2-f6e4794-202604080823.0.tgz","fileCount":44,"integrity":"sha512-EgnTeSuAsX/2FXYIxoMiP4FGRqj08/NVOgpVZqzNHKFXadFzf73VFlNNxLUPwv5pp/obzDpk2gvlkmeCHfVJng==","signatures":[{"sig":"MEUCIQCXb+aF5kGEyHuDkY2F/NSRetZB2pXAQzJrC7wMfC/ZDgIgA6pzn2rLwaSkrZGW6/sCl6fkRl+gRiow0cxHwQzzgGo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":627923},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"f6e4794d93e7b72bf5741074d303dd76d883b4c4","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-a6bcd38-202604080822.0","@flowfuse/nr-file-nodes":"0.0.10-331b096-202603311348.0","@flowfuse/nr-mqtt-nodes":"0.3.1-28bf3a6-202603311324.0","@flowfuse/nr-tables-nodes":"0.2.3-606399d-202603261058.0","@flowfuse/nr-project-nodes":"0.7.9-9ee80e0-202603261301.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.28.2-f6e4794-202604080823.0_1775636624716_0.8729372216826334","host":"s3://npm-registry-packages-npm-production"}},"2.28.2-f6e4794-202604080827.0":{"name":"@flowfuse/nr-launcher","version":"2.28.2-f6e4794-202604080827.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.28.2-f6e4794-202604080827.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"2704cdc68ef0c9a6b6f402f92888b6b7d979741b","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.28.2-f6e4794-202604080827.0.tgz","fileCount":44,"integrity":"sha512-cFAVl7/nZoxPxi4j5r5p7YTwu4wrH6YquQmDP5cHXothKol4BppB5Z72RB/w3WB81OaooHdqc3M7luzy3QTr9g==","signatures":[{"sig":"MEYCIQD+uIZFG83hBdfcS6rCvu0XYFG45f/qMf83UpYRZVJWxgIhALphReVDObAkrZxTNsCnJVSUnovSCH3mE9pL6A21mlHU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":627923},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"f6e4794d93e7b72bf5741074d303dd76d883b4c4","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-227f3d2-202604080826.0","@flowfuse/nr-file-nodes":"0.0.10-331b096-202603311348.0","@flowfuse/nr-mqtt-nodes":"0.3.1-28bf3a6-202603311324.0","@flowfuse/nr-tables-nodes":"0.2.3-606399d-202603261058.0","@flowfuse/nr-project-nodes":"0.7.9-9ee80e0-202603261301.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.28.2-f6e4794-202604080827.0_1775636851224_0.009603688332286087","host":"s3://npm-registry-packages-npm-production"}},"2.28.2-61d218b-202604080831.0":{"name":"@flowfuse/nr-launcher","version":"2.28.2-61d218b-202604080831.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.28.2-61d218b-202604080831.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"90d784e4eed339e801ea06effb1e4d3a389e3c0e","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.28.2-61d218b-202604080831.0.tgz","fileCount":44,"integrity":"sha512-5lcsII/pc7yXA/sSHrv3GBCNI/MVB6Hak1JoyWxiBKxP/0dGe2lyZNkXHiErFHgbuxf/zFO/z/QnFoidjnB6WA==","signatures":[{"sig":"MEUCIDCXfpCY8mApf0PZ9bot0K2OIcuzD1PZEp/nrLR3psT/AiEA+lDKAi5/weQKh7f22IjbIDL1B1AEuMi7kEHfebcucqw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":627923},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"61d218b349d9999fb24dc34e9ba0795e8d07779b","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-227f3d2-202604080826.0","@flowfuse/nr-file-nodes":"0.0.10-331b096-202603311348.0","@flowfuse/nr-mqtt-nodes":"0.3.1-28bf3a6-202603311324.0","@flowfuse/nr-tables-nodes":"0.2.3-606399d-202603261058.0","@flowfuse/nr-project-nodes":"0.7.9-9ee80e0-202603261301.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.28.2-61d218b-202604080831.0_1775637078659_0.9964971866606747","host":"s3://npm-registry-packages-npm-production"}},"2.28.2-6e3f41c-202604080833.0":{"name":"@flowfuse/nr-launcher","version":"2.28.2-6e3f41c-202604080833.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.28.2-6e3f41c-202604080833.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"b1851e2bdccec26fe706c30d459e2fad0a105c04","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.28.2-6e3f41c-202604080833.0.tgz","fileCount":44,"integrity":"sha512-gpMBDNxEI7MBlY52JWK7QAk0zWg35YS/gwzji3h245gnf+PpdiOEb3TEYvVEPasq/Td2eImKBDrFK7aRFVihwg==","signatures":[{"sig":"MEUCIFE+HOEqozlh00aQZZphcvEdkj6xHsAgFfQqqMkb+JbEAiEA1PI1HLYUZiLoB8lDWVxfxZjEKQaGvCiR0WR6T5AZSbM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":627923},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"6e3f41c524d1fa38e6c4e2a8cbfc9558d41c742b","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-227f3d2-202604080826.0","@flowfuse/nr-file-nodes":"0.0.10-331b096-202603311348.0","@flowfuse/nr-mqtt-nodes":"0.3.1-28bf3a6-202603311324.0","@flowfuse/nr-tables-nodes":"0.2.3-606399d-202603261058.0","@flowfuse/nr-project-nodes":"0.7.9-9ee80e0-202603261301.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.28.2-6e3f41c-202604080833.0_1775637225268_0.16228605412432784","host":"s3://npm-registry-packages-npm-production"}},"2.28.2-6bf7488-202604081023.0":{"name":"@flowfuse/nr-launcher","version":"2.28.2-6bf7488-202604081023.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.28.2-6bf7488-202604081023.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"21e300c35c9b9e99ec24f9c636ceb8d17f352bd3","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.28.2-6bf7488-202604081023.0.tgz","fileCount":44,"integrity":"sha512-xKoB4kDroHLK0YASrjsbsevVVWLm6e/tPxxDHrWmP4YLteuUgY1qvyLk9gpuGcMS8FgEl+8AV46qmglk3/bndw==","signatures":[{"sig":"MEUCIFhT9I3iYWFCuXC3HOVejYUYtSjlK6lvxyhvQgdLbuTpAiEAj0Z6enui3A2ZJ5hZaE6vgWLuHoJ8oSgAzZUABG3GDCA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":627923},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"6bf748866915fe66a86ba4f925a526ec4394a42a","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-227f3d2-202604080826.0","@flowfuse/nr-file-nodes":"0.0.10-331b096-202603311348.0","@flowfuse/nr-mqtt-nodes":"0.3.1-28bf3a6-202603311324.0","@flowfuse/nr-tables-nodes":"0.2.3-606399d-202603261058.0","@flowfuse/nr-project-nodes":"0.7.9-9ee80e0-202603261301.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.28.2-6bf7488-202604081023.0_1775643799386_0.6170304801512114","host":"s3://npm-registry-packages-npm-production"}},"2.28.2-6bf7488-202604081639.0":{"name":"@flowfuse/nr-launcher","version":"2.28.2-6bf7488-202604081639.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.28.2-6bf7488-202604081639.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"8cbda623f227a49b74755d812d89ce16e0fcd98d","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.28.2-6bf7488-202604081639.0.tgz","fileCount":44,"integrity":"sha512-Nm8SuNeYemWV2FsR2m6HshcZdWz00GyYi+T07FxuG4zsI0TPRgagtEozW07llvlgH67Je0H33FJGjSuf6EQmxA==","signatures":[{"sig":"MEUCIAxTywXMJClTNT8tVqvjjyQUl39gd2EdI5xovhCITkTNAiEAwZZJ6YpTDiS9hTsQPKMW8wzsDUXptu+E1R+iLV+PwrA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":627923},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"6bf748866915fe66a86ba4f925a526ec4394a42a","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-227f3d2-202604080826.0","@flowfuse/nr-file-nodes":"0.0.11-fc234b7-202604081639.0","@flowfuse/nr-mqtt-nodes":"0.3.1-28bf3a6-202603311324.0","@flowfuse/nr-tables-nodes":"0.2.3-606399d-202603261058.0","@flowfuse/nr-project-nodes":"0.7.9-9ee80e0-202603261301.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.28.2-6bf7488-202604081639.0_1775666408594_0.1348057989442366","host":"s3://npm-registry-packages-npm-production"}},"2.28.2-970a7b6-202604081652.0":{"name":"@flowfuse/nr-launcher","version":"2.28.2-970a7b6-202604081652.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.28.2-970a7b6-202604081652.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"f4d4c5ba7d2667291ba6733161203a09972078b5","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.28.2-970a7b6-202604081652.0.tgz","fileCount":44,"integrity":"sha512-EZ56CUwCEJnkMmK1155QZva8TYRj6lolM2lXv1WTJiDP2r7eJETYVJZf6vTH2SQL7OfNTLvw5+zqhGG+liwtMA==","signatures":[{"sig":"MEQCICGYvScLA+kgR5n5dU+mRHA/J0BDnjvGBeoIdXL8a4x8AiBcRea1GTNrYeJkpf+UR0rWShWJcAaninbCvYWahP85oQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":627923},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"970a7b6d6cdb0173e2a345e9f1e86cf52ba4f585","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.11.1-227f3d2-202604080826.0","@flowfuse/nr-file-nodes":"0.0.11-fc234b7-202604081639.0","@flowfuse/nr-mqtt-nodes":"0.3.1-28bf3a6-202603311324.0","@flowfuse/nr-tables-nodes":"0.2.3-606399d-202603261058.0","@flowfuse/nr-project-nodes":"0.7.9-9ee80e0-202603261301.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.28.2-970a7b6-202604081652.0_1775667162196_0.9642489129313465","host":"s3://npm-registry-packages-npm-production"}},"2.28.2-970a7b6-202604081736.0":{"name":"@flowfuse/nr-launcher","version":"2.28.2-970a7b6-202604081736.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.28.2-970a7b6-202604081736.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"57958671c756cc78a0a3bca441e63f23341618d8","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.28.2-970a7b6-202604081736.0.tgz","fileCount":44,"integrity":"sha512-U+I0P3+oOK0+1k0wUZJRMah4H+R+Pp5M5wxi19hkLkUkuKcgba9NqcNQuoDX6ylfFN7w769jygm9lDCaAYYsNw==","signatures":[{"sig":"MEQCIHr4cUi0s+EWZ7peH5yCRJj0QNNdKr9tykpLrTIXl3GBAiAa7lInljGYcC4L0+hCJrEAY0jMshs/RBzWPkkQdF85qw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":627923},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"970a7b6d6cdb0173e2a345e9f1e86cf52ba4f585","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.12.1-3610691-202604081736.0","@flowfuse/nr-file-nodes":"0.0.11-fc234b7-202604081639.0","@flowfuse/nr-mqtt-nodes":"0.3.1-28bf3a6-202603311324.0","@flowfuse/nr-tables-nodes":"0.2.3-606399d-202603261058.0","@flowfuse/nr-project-nodes":"0.7.9-9ee80e0-202603261301.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.28.2-970a7b6-202604081736.0_1775669821458_0.27480693851413407","host":"s3://npm-registry-packages-npm-production"}},"2.28.2-970a7b6-202604090718.0":{"name":"@flowfuse/nr-launcher","version":"2.28.2-970a7b6-202604090718.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.28.2-970a7b6-202604090718.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"48129a99a4eef5a52f6464a0fb904cc409043708","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.28.2-970a7b6-202604090718.0.tgz","fileCount":44,"integrity":"sha512-i3tnzcaOSS72C6p7ScPu9rOyz5XggF0BsZZNRsFDACsHgXMXuXw9gtagDcsQdnIiEw1RYmWMXlY8vV+m4o9DAA==","signatures":[{"sig":"MEUCIQDClva2XIw1rb8chks3rIK7I4Tq9OMhxdFhwQ65U0kedwIgSbkH/ZAFX06rzFErau9qnG0S3AefMh1CFzdMOFmYxOs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":627923},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"970a7b6d6cdb0173e2a345e9f1e86cf52ba4f585","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.12.1-568729a-202604090718.0","@flowfuse/nr-file-nodes":"0.0.11-fc234b7-202604081639.0","@flowfuse/nr-mqtt-nodes":"0.3.1-28bf3a6-202603311324.0","@flowfuse/nr-tables-nodes":"0.2.3-606399d-202603261058.0","@flowfuse/nr-project-nodes":"0.7.9-9ee80e0-202603261301.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.28.2-970a7b6-202604090718.0_1775719141395_0.01986591666092008","host":"s3://npm-registry-packages-npm-production"}},"2.29.1-e5815f6-202604090909.0":{"name":"@flowfuse/nr-launcher","version":"2.29.1-e5815f6-202604090909.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.29.1-e5815f6-202604090909.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"dfbaeae0ad68c8e412d10eb82682c00c74dd248c","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.29.1-e5815f6-202604090909.0.tgz","fileCount":44,"integrity":"sha512-bGd1UyrsIJet3zKShlTUoCw0HT82KwZRx7Tzm1rhGld1ewEMfr9VIlUCSqjVq+i/HmN+5yn4L0eCg9krOY858A==","signatures":[{"sig":"MEUCIE94D4BdM7tDy12wdrHuVAIK1TPjfZQpxB7XSvCPj3SMAiEA3LDISxNZJDQNmpE8hhkl1zC4wjOE670iY4UpbKY01EM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":628539},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"e5815f6fb8be556af67e2234cf7364a378c8ade3","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.12.1-568729a-202604090718.0","@flowfuse/nr-file-nodes":"0.0.11-fc234b7-202604081639.0","@flowfuse/nr-mqtt-nodes":"0.3.1-28bf3a6-202603311324.0","@flowfuse/nr-tables-nodes":"0.2.3-606399d-202603261058.0","@flowfuse/nr-project-nodes":"0.7.9-9ee80e0-202603261301.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.29.1-e5815f6-202604090909.0_1775725754904_0.2172114240682539","host":"s3://npm-registry-packages-npm-production"}},"2.29.0":{"name":"@flowfuse/nr-launcher","version":"2.29.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.29.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"73c448c77286e13e2956a69827792ca6dfc7ee7d","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.29.0.tgz","fileCount":44,"integrity":"sha512-Z8hCnjnL9xoxNvy8n0gXpcdM1Hqow5O2AwICO7DEp/VNRuRMjMpaSzra2mDUxLt9KDNeiREQyBKchVSLv1HgiA==","signatures":[{"sig":"MEYCIQDUmGWThECiA4qX6cFrDYjx0Tr/MU0d/AKBB4Fg2DBv+wIhAJ8Nv81FGS3wH+BMYwTGIHWtb0eqHBlQ+3r7u6duROKo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":628406},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"e5815f6fb8be556af67e2234cf7364a378c8ade3","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.11.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"^0.11.0","@flowfuse/nr-file-nodes":"^0.0.10","@flowfuse/nr-mqtt-nodes":"^0.3.0","@flowfuse/nr-tables-nodes":"^0.2.2","@flowfuse/nr-project-nodes":"^0.7.8","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.29.0_1775725787086_0.08812419457048137","host":"s3://npm-registry-packages-npm-production"}},"2.29.1-4e4ab60-202604091239.0":{"name":"@flowfuse/nr-launcher","version":"2.29.1-4e4ab60-202604091239.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.29.1-4e4ab60-202604091239.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"80ca9ca5ffcd5a56de53fb6ba636243fb82082b4","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.29.1-4e4ab60-202604091239.0.tgz","fileCount":44,"integrity":"sha512-mgdYBfQi8J8py/BvXopLSjg3spmXLqAOGSXNDPUdkPMOnCmG1m6U/aoiRWFB/pmx3yud/hbj2L8dEXmG5SF4Ig==","signatures":[{"sig":"MEUCIQCySlmHrJnyK+GFjCzU2k8COqXajx84FKc6HtMHvVFlgQIgdTBOfrmqBauZZvp69AyXHzlGb8nGMJn8SJiGFPc3b/w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":628539},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"4e4ab600acd4805c39efde20c3cfbf8c844e0ebb","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.12.1-568729a-202604090718.0","@flowfuse/nr-file-nodes":"0.0.11-fc234b7-202604081639.0","@flowfuse/nr-mqtt-nodes":"0.3.1-28bf3a6-202603311324.0","@flowfuse/nr-tables-nodes":"0.2.3-606399d-202603261058.0","@flowfuse/nr-project-nodes":"0.7.9-9ee80e0-202603261301.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.29.1-4e4ab60-202604091239.0_1775738356485_0.9534985147594117","host":"s3://npm-registry-packages-npm-production"}},"2.29.1":{"name":"@flowfuse/nr-launcher","version":"2.29.1","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.29.1","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"fa300e05d6af43c03df7726888a6f648c88f1961","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.29.1.tgz","fileCount":44,"integrity":"sha512-c6KmKSexdvhLwvnGGBXRTuJNOGaT7vpBzz1eOaw1enW7kcqUEko1yhVwqsLbd1GZS5XkoBjHXDyGSNgUVae38w==","signatures":[{"sig":"MEUCIQDl/10nF2O64u/0fa6J8CESLwhZ9/12qIBv3ihIowXaSwIgSAH/+ZSd8i+sonEf3VXaiqmpJ6QacnRI8jfwuA2noKs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":628479},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"25441fc3f7ba1a5c32ecb54f9893341fc385dc10","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.11.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"^0.12.0","@flowfuse/nr-file-nodes":"^0.0.10","@flowfuse/nr-mqtt-nodes":"^0.3.0","@flowfuse/nr-tables-nodes":"^0.2.2","@flowfuse/nr-project-nodes":"^0.7.8","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.29.1_1775742917460_0.40477448449428555","host":"s3://npm-registry-packages-npm-production"}},"2.29.2-25441fc-202604091355.0":{"name":"@flowfuse/nr-launcher","version":"2.29.2-25441fc-202604091355.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.29.2-25441fc-202604091355.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"ae2781f40af4e804984e633614e45d209f486de7","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.29.2-25441fc-202604091355.0.tgz","fileCount":44,"integrity":"sha512-gSA8CSk2UT5DpsHfVZ9hW1hSrsTkvfnbyyr5Pobf60G6DoISUFJHCJetPWSR3f/2rWmZiKpswDadoVdDxbRdFg==","signatures":[{"sig":"MEYCIQCqAAw3PTAWwe0p9HIxGCnY0SX7tSFXEK78DqL4b/C2xgIhALyj20J/fE8TLFemiCZoXbo4FB+KJtuC7N5/D3A176lV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":628612},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"25441fc3f7ba1a5c32ecb54f9893341fc385dc10","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.12.1-568729a-202604090718.0","@flowfuse/nr-file-nodes":"0.0.11-fc234b7-202604081639.0","@flowfuse/nr-mqtt-nodes":"0.3.1-28bf3a6-202603311324.0","@flowfuse/nr-tables-nodes":"0.2.3-606399d-202603261058.0","@flowfuse/nr-project-nodes":"0.7.9-9ee80e0-202603261301.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.29.2-25441fc-202604091355.0_1775742928729_0.877447019562664","host":"s3://npm-registry-packages-npm-production"}},"2.29.2-25441fc-202604141059.0":{"name":"@flowfuse/nr-launcher","version":"2.29.2-25441fc-202604141059.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.29.2-25441fc-202604141059.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"58fd12da883aff5181c2691c9a157e4805682af1","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.29.2-25441fc-202604141059.0.tgz","fileCount":44,"integrity":"sha512-GX2B/ODwAe9mTyd2X93OUW+CSs7iOgbklXzfgEu8KCuZTq0pI5tG9w+Fdgt6Z88BGQxYnDadus03r65PICi+GQ==","signatures":[{"sig":"MEUCIANKtugw21eKvoUgvhAclNLAfeYUGFQKUoo1kX0393OvAiEAg4Lgdy8TSdDx1NjICaMepwv77VgLia5mqxpVpAKoE3E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":628612},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"25441fc3f7ba1a5c32ecb54f9893341fc385dc10","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.12.1-1b854e3-202604141058.0","@flowfuse/nr-file-nodes":"0.0.11-fc234b7-202604081639.0","@flowfuse/nr-mqtt-nodes":"0.3.1-28bf3a6-202603311324.0","@flowfuse/nr-tables-nodes":"0.2.3-606399d-202603261058.0","@flowfuse/nr-project-nodes":"0.7.9-9ee80e0-202603261301.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.29.2-25441fc-202604141059.0_1776164360128_0.43174540823143115","host":"s3://npm-registry-packages-npm-production"}},"2.29.2-25441fc-202604141530.0":{"name":"@flowfuse/nr-launcher","version":"2.29.2-25441fc-202604141530.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.29.2-25441fc-202604141530.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"7867327428f8ff2360d0b167c83f2b9d0106ed71","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.29.2-25441fc-202604141530.0.tgz","fileCount":44,"integrity":"sha512-qXT66zg5Y9pcknMBzwuj9+zeMNaS7aNurnTJ5iKWpVfZ3ZCPmnu2oHiKP4MqmkrxEmTnpwPDhigGjYlteAHQUA==","signatures":[{"sig":"MEUCIGZHjSNn2N4ZDkth6+uxSAn7Cjvv+zWYxsi2/xayDJZDAiEA9Aw1P92uDhYHe6K5acCWVV3n9uCPUgNYQl53SeGBCwA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":628612},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"25441fc3f7ba1a5c32ecb54f9893341fc385dc10","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.12.1-7de61dd-202604141529.0","@flowfuse/nr-file-nodes":"0.0.11-fc234b7-202604081639.0","@flowfuse/nr-mqtt-nodes":"0.3.1-28bf3a6-202603311324.0","@flowfuse/nr-tables-nodes":"0.2.3-606399d-202603261058.0","@flowfuse/nr-project-nodes":"0.7.9-9ee80e0-202603261301.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.29.2-25441fc-202604141530.0_1776180624082_0.2758260649019184","host":"s3://npm-registry-packages-npm-production"}},"2.29.2-25441fc-202604150824.0":{"name":"@flowfuse/nr-launcher","version":"2.29.2-25441fc-202604150824.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.29.2-25441fc-202604150824.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"7481ae378f6f248c7535d67eea0eb58b977bacc6","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.29.2-25441fc-202604150824.0.tgz","fileCount":44,"integrity":"sha512-CdpiXaCUl2JN5p6OywTvRr1EQIfKsXPFGFhx5tHXVXB4IYRZHe/SeFzwQ+Vc2S9erDfdNA/tMJxcWT25qj3Y2A==","signatures":[{"sig":"MEYCIQDh63jmgivkICqlzLgSfljvbZi/BRViPObItq/1GPWZHQIhAItiGpXJ/Btmw5V3toIxO0faX0Ef9mjbhe/lqYU15LE2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":628612},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"25441fc3f7ba1a5c32ecb54f9893341fc385dc10","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.12.1-db0ca35-202604150824.0","@flowfuse/nr-file-nodes":"0.0.11-fc234b7-202604081639.0","@flowfuse/nr-mqtt-nodes":"0.3.1-28bf3a6-202603311324.0","@flowfuse/nr-tables-nodes":"0.2.3-606399d-202603261058.0","@flowfuse/nr-project-nodes":"0.7.9-9ee80e0-202603261301.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.29.2-25441fc-202604150824.0_1776241504534_0.5000829827628546","host":"s3://npm-registry-packages-npm-production"}},"2.29.2-25441fc-202604150859.0":{"name":"@flowfuse/nr-launcher","version":"2.29.2-25441fc-202604150859.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.29.2-25441fc-202604150859.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"93367741693a232886f4beb8426ba0cf52cbd3e0","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.29.2-25441fc-202604150859.0.tgz","fileCount":44,"integrity":"sha512-Kkl+QWxdKZy1hUBdm+KAyQ/gJovT+THTw9fKgX+0xWxlrOmC5McSqFCSOlY8FXna8/FAAEn2RfNnwLYzjjS7NQ==","signatures":[{"sig":"MEUCIQDQY8dpvzMv4rDTdV61Qd93K+C9CIP0l3YWurmQhUqBpQIgYTkhN0kGKCViy/5/eyVWPULHM5KDmXUevFH9maT4Nus=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":628612},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"25441fc3f7ba1a5c32ecb54f9893341fc385dc10","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.12.1-2f8cedb-202604150858.0","@flowfuse/nr-file-nodes":"0.0.11-fc234b7-202604081639.0","@flowfuse/nr-mqtt-nodes":"0.3.1-28bf3a6-202603311324.0","@flowfuse/nr-tables-nodes":"0.2.3-606399d-202603261058.0","@flowfuse/nr-project-nodes":"0.7.9-9ee80e0-202603261301.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.29.2-25441fc-202604150859.0_1776243592895_0.8905682829751618","host":"s3://npm-registry-packages-npm-production"}},"2.29.2-25441fc-202604150903.0":{"name":"@flowfuse/nr-launcher","version":"2.29.2-25441fc-202604150903.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.29.2-25441fc-202604150903.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"65e4c92b23803de7fde0c8537e99236cc26195e3","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.29.2-25441fc-202604150903.0.tgz","fileCount":44,"integrity":"sha512-rzZenBNXa0V0ykM2NI/Zk5YuqeseStHoD9b5wIWdG7dbxuFvkLhWGX+o9RuXA1yueNGSFultJZ8k+6GV56fuhQ==","signatures":[{"sig":"MEYCIQDf29d6/eQTNwHuRgTyeocGUDSth9C02qgCpzoSckv7dAIhAJzbdCsGdxOYsQk4JjvYREa3aXHGu4hS5XDWlJSBFPTM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":628612},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"25441fc3f7ba1a5c32ecb54f9893341fc385dc10","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.12.1-4ca0a2a-202604150903.0","@flowfuse/nr-file-nodes":"0.0.11-fc234b7-202604081639.0","@flowfuse/nr-mqtt-nodes":"0.3.1-28bf3a6-202603311324.0","@flowfuse/nr-tables-nodes":"0.2.3-606399d-202603261058.0","@flowfuse/nr-project-nodes":"0.7.9-9ee80e0-202603261301.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.29.2-25441fc-202604150903.0_1776243841739_0.25866044100816543","host":"s3://npm-registry-packages-npm-production"}},"2.29.2-25441fc-202604150939.0":{"name":"@flowfuse/nr-launcher","version":"2.29.2-25441fc-202604150939.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.29.2-25441fc-202604150939.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"da730ff1159b06ec978b975a64ee8e7c37fc139a","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.29.2-25441fc-202604150939.0.tgz","fileCount":44,"integrity":"sha512-If64ftk5C8Y32AjxMGcV0PaMwRPVL/3HOikyZMRKbdPWrZzed2PDysLejEysbabqPNIxBVSuOr9r3iuWZhrkSw==","signatures":[{"sig":"MEUCIQDN3NiRnpypQOsob/a8dpDpXZ3YR6lAoS87S8MrpZVrtAIgLEv/c8jgTrE7EOhEifi/LkPJgbkXTHcDrzZZ3KTvIcw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":628612},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"25441fc3f7ba1a5c32ecb54f9893341fc385dc10","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.12.1-02279c3-202604150938.0","@flowfuse/nr-file-nodes":"0.0.11-fc234b7-202604081639.0","@flowfuse/nr-mqtt-nodes":"0.3.1-28bf3a6-202603311324.0","@flowfuse/nr-tables-nodes":"0.2.3-606399d-202603261058.0","@flowfuse/nr-project-nodes":"0.7.9-9ee80e0-202603261301.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.29.2-25441fc-202604150939.0_1776245974262_0.007277087562600926","host":"s3://npm-registry-packages-npm-production"}},"2.29.2-25441fc-202604150941.0":{"name":"@flowfuse/nr-launcher","version":"2.29.2-25441fc-202604150941.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.29.2-25441fc-202604150941.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"8d9fcca3c6d58f29698f9ed346d47d926fb281c8","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.29.2-25441fc-202604150941.0.tgz","fileCount":44,"integrity":"sha512-SYAuseFkZIsWZ2M1VxIuMo/PLDLgQMAllEiO3TTNWqYaUuiiz4K9bQL5TermKrggy3b1NkUVLRGsKSO+nMBH8Q==","signatures":[{"sig":"MEUCIHahU6/3RlSdjbof1vI/IFRjK3DKafG+jiOLpGlRp+BOAiEAlcW9DXEgy8ebrkRSHFYwU6T+W/DEUmx2aeZL9E3eCRo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":628612},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"25441fc3f7ba1a5c32ecb54f9893341fc385dc10","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.12.1-bbb1a66-202604150941.0","@flowfuse/nr-file-nodes":"0.0.11-fc234b7-202604081639.0","@flowfuse/nr-mqtt-nodes":"0.3.1-28bf3a6-202603311324.0","@flowfuse/nr-tables-nodes":"0.2.3-606399d-202603261058.0","@flowfuse/nr-project-nodes":"0.7.9-9ee80e0-202603261301.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.29.2-25441fc-202604150941.0_1776246109586_0.4712272148338461","host":"s3://npm-registry-packages-npm-production"}},"2.29.2-25441fc-202604151046.0":{"name":"@flowfuse/nr-launcher","version":"2.29.2-25441fc-202604151046.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.29.2-25441fc-202604151046.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"26b98625225526b5c4d6ee2216ab62f5542cebf6","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.29.2-25441fc-202604151046.0.tgz","fileCount":44,"integrity":"sha512-1noaKNlDo+Z7IoEt1LcPJGumNQ9sMPOfXxFcbundTGyOBetMaxo92VuKOkh6QX+TXwoXEnMhSRj+xmRzNSjwFw==","signatures":[{"sig":"MEQCIHx1ijoOwu1utlBz9Eo7oeTA9JGP+7Ll7d/SCQ9d7mlbAiAawMVL9r5YBfOElhGiDtAtIBSO0QwFkWPO7T1zUcgPIQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":628612},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"25441fc3f7ba1a5c32ecb54f9893341fc385dc10","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.12.1-bbb1a66-202604150941.0","@flowfuse/nr-file-nodes":"0.0.11-32f03bc-202604151046.0","@flowfuse/nr-mqtt-nodes":"0.3.1-28bf3a6-202603311324.0","@flowfuse/nr-tables-nodes":"0.2.3-606399d-202603261058.0","@flowfuse/nr-project-nodes":"0.7.9-9ee80e0-202603261301.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.29.2-25441fc-202604151046.0_1776250020522_0.4309653042012518","host":"s3://npm-registry-packages-npm-production"}},"2.29.2-25441fc-202604151049.0":{"name":"@flowfuse/nr-launcher","version":"2.29.2-25441fc-202604151049.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.29.2-25441fc-202604151049.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"0956ba460b23f81d68b52fa822eee6a195f57fc7","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.29.2-25441fc-202604151049.0.tgz","fileCount":44,"integrity":"sha512-G0HsxgwkSVOB/9xgABTYYbbWYEybxUMiko+YOGUkX/TyqKNc2UyxrLVD9aEbGy+T31A/KyIqAnj/LuPWZTh15Q==","signatures":[{"sig":"MEUCIBw/dNkMH0hHsRHVduDJozE4RgnR9tW5juLth4JT+GywAiEAsrOFP/A/wnf4aTdnzs2s9Cr5rvFm4zmHqkIp84CIzRo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":628612},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"25441fc3f7ba1a5c32ecb54f9893341fc385dc10","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.12.1-bbb1a66-202604150941.0","@flowfuse/nr-file-nodes":"0.0.11-f196f5a-202604151048.0","@flowfuse/nr-mqtt-nodes":"0.3.1-28bf3a6-202603311324.0","@flowfuse/nr-tables-nodes":"0.2.3-606399d-202603261058.0","@flowfuse/nr-project-nodes":"0.7.9-9ee80e0-202603261301.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.29.2-25441fc-202604151049.0_1776250186604_0.5757769249201177","host":"s3://npm-registry-packages-npm-production"}},"2.29.2-25441fc-202604151422.0":{"name":"@flowfuse/nr-launcher","version":"2.29.2-25441fc-202604151422.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.29.2-25441fc-202604151422.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"b12bd94c6aa179e6a9625c01a465b233378142cc","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.29.2-25441fc-202604151422.0.tgz","fileCount":44,"integrity":"sha512-2eHbqA58ebxfED1vulPuu/80DZMALtKJv3wngQgm5QyZGV9Og2eZsF2k+yus8ZbDKmokU0DTyuShv3RAc3XkyA==","signatures":[{"sig":"MEQCIEt8ohXUgRRxe5pqoXlI3XSfnxyJK4PPUrsCEA7wWV6QAiB3pHXZtPKK7IuHH641zofY24MEiDUo9d2QhmS6Yyt5ng==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":628612},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"25441fc3f7ba1a5c32ecb54f9893341fc385dc10","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.12.1-d127aec-202604151421.0","@flowfuse/nr-file-nodes":"0.0.11-f196f5a-202604151048.0","@flowfuse/nr-mqtt-nodes":"0.3.1-28bf3a6-202603311324.0","@flowfuse/nr-tables-nodes":"0.2.3-606399d-202603261058.0","@flowfuse/nr-project-nodes":"0.7.9-9ee80e0-202603261301.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.29.2-25441fc-202604151422.0_1776262941630_0.43289440425081693","host":"s3://npm-registry-packages-npm-production"}},"2.29.2-25441fc-202604151440.0":{"name":"@flowfuse/nr-launcher","version":"2.29.2-25441fc-202604151440.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.29.2-25441fc-202604151440.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"d090fd10b53a5589c3a6ed69d4fc48822bce342d","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.29.2-25441fc-202604151440.0.tgz","fileCount":44,"integrity":"sha512-NYL/f+8xZs46S5qY/emJQJNSGGFC2M4a99bmEhBumfg/EI1pMDOFEVPc+mbjyijWNevywTbh1wCavSJZ26ql+Q==","signatures":[{"sig":"MEYCIQCOw/b8rVNHoCZqpDCZIRctf9cU7ayLUOYN3NhKKutceAIhALOD8kct3AMR4a/UtAZG+4B3I/XaOaDoI4OJObUuPFc3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":628612},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"25441fc3f7ba1a5c32ecb54f9893341fc385dc10","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.12.1-66907dd-202604151439.0","@flowfuse/nr-file-nodes":"0.0.11-f196f5a-202604151048.0","@flowfuse/nr-mqtt-nodes":"0.3.1-28bf3a6-202603311324.0","@flowfuse/nr-tables-nodes":"0.2.3-606399d-202603261058.0","@flowfuse/nr-project-nodes":"0.7.9-9ee80e0-202603261301.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.29.2-25441fc-202604151440.0_1776264045210_0.4324769924661125","host":"s3://npm-registry-packages-npm-production"}},"2.29.2-25441fc-202604151515.0":{"name":"@flowfuse/nr-launcher","version":"2.29.2-25441fc-202604151515.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.29.2-25441fc-202604151515.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"256c6f638aea2204c1a7f63704ff8ff4b7538df8","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.29.2-25441fc-202604151515.0.tgz","fileCount":44,"integrity":"sha512-NOL4Iy2IWtVu8X6SpIg5mTrWjMyN9QqAGm22t1RdD4R/zUIL2g+7YaS4zGTayeMj0dgoJ3mQHu8hpLDmld68wA==","signatures":[{"sig":"MEUCIBtG108dl8FScaWlp7N4SeuxOpKdDR+MQMq5HkDSAQXoAiEAsdQpCKVW8YnaSLjRBt7/QBoQ9g+cPfeBxoqooB+GZP0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":628612},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"25441fc3f7ba1a5c32ecb54f9893341fc385dc10","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.12.1-3f594d6-202604151514.0","@flowfuse/nr-file-nodes":"0.0.11-f196f5a-202604151048.0","@flowfuse/nr-mqtt-nodes":"0.3.1-28bf3a6-202603311324.0","@flowfuse/nr-tables-nodes":"0.2.3-606399d-202603261058.0","@flowfuse/nr-project-nodes":"0.7.9-9ee80e0-202603261301.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.29.2-25441fc-202604151515.0_1776266134672_0.985702394367048","host":"s3://npm-registry-packages-npm-production"}},"2.29.2-25441fc-202604151540.0":{"name":"@flowfuse/nr-launcher","version":"2.29.2-25441fc-202604151540.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.29.2-25441fc-202604151540.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"e2ab2ccf492a88256870337d5f5906dd983e6059","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.29.2-25441fc-202604151540.0.tgz","fileCount":44,"integrity":"sha512-RIkkfPupRkoBnj+3oE21MCVzolkcSLtOGDVjKS5wEiw+mjH02iZCTZOd2XyKL1Uc9pSDVoJdgmX3ddYmTxW6IQ==","signatures":[{"sig":"MEUCIGNAjkGDk0cYMm6D2/20nxR2VKKc1gHrb1TwuB6zCkDrAiEA7sjSG2lNatcmc89FspYivxBZ6N8MsGtH0iklw/BwUME=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":628612},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"25441fc3f7ba1a5c32ecb54f9893341fc385dc10","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.12.1-8df0dc2-202604151539.0","@flowfuse/nr-file-nodes":"0.0.11-f196f5a-202604151048.0","@flowfuse/nr-mqtt-nodes":"0.3.1-28bf3a6-202603311324.0","@flowfuse/nr-tables-nodes":"0.2.3-606399d-202603261058.0","@flowfuse/nr-project-nodes":"0.7.9-9ee80e0-202603261301.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.29.2-25441fc-202604151540.0_1776267660053_0.5053315878839306","host":"s3://npm-registry-packages-npm-production"}},"2.29.2-25441fc-202604160854.0":{"name":"@flowfuse/nr-launcher","version":"2.29.2-25441fc-202604160854.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.29.2-25441fc-202604160854.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"052e9309f38ad619914529d920e475009f8d6f06","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.29.2-25441fc-202604160854.0.tgz","fileCount":44,"integrity":"sha512-lWxa6e+ZS0QsZikNgcn0dBlYUn+r3XIuil+bFMnGmS/LncV9PeyYvwWaWBrmmZlBRsWDbpisgavW1jkhT7j9ew==","signatures":[{"sig":"MEQCIDIKjSJorWSv+FOh2mAdVa4S1+ePF5R3m4hNBcWCcKWVAiBA0No6oiyI9vlPqfI5FL0JwFbEebeaEPeKSms41b0zYw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":628612},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"25441fc3f7ba1a5c32ecb54f9893341fc385dc10","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.12.1-aafa0de-202604160853.0","@flowfuse/nr-file-nodes":"0.0.11-f196f5a-202604151048.0","@flowfuse/nr-mqtt-nodes":"0.3.1-28bf3a6-202603311324.0","@flowfuse/nr-tables-nodes":"0.2.3-606399d-202603261058.0","@flowfuse/nr-project-nodes":"0.7.9-9ee80e0-202603261301.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.29.2-25441fc-202604160854.0_1776329677775_0.8570816361101405","host":"s3://npm-registry-packages-npm-production"}},"2.29.2-25441fc-202604161026.0":{"name":"@flowfuse/nr-launcher","version":"2.29.2-25441fc-202604161026.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.29.2-25441fc-202604161026.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"0f53a74933c9edad9d3989b1ab398b134e1aa45e","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.29.2-25441fc-202604161026.0.tgz","fileCount":44,"integrity":"sha512-kEtshQueHV67yYrmLk7FUEm8vseWi6MeClQ7lDl4Sy0TXRJmCFfaCszEgeThaPfqatcX7YfYsThmd64A3pbyNg==","signatures":[{"sig":"MEQCIEWrhpQFA7j3UUrmgPFA8rC7bEAdHTGswgNTPZowtVmzAiA9zr5mmAuiv1Y5mX8oEzantbZw7MZBjaA5nJYvf/xxSQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":628612},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"25441fc3f7ba1a5c32ecb54f9893341fc385dc10","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.12.1-de0a81b-202604161025.0","@flowfuse/nr-file-nodes":"0.0.11-f196f5a-202604151048.0","@flowfuse/nr-mqtt-nodes":"0.3.1-28bf3a6-202603311324.0","@flowfuse/nr-tables-nodes":"0.2.3-606399d-202603261058.0","@flowfuse/nr-project-nodes":"0.7.9-9ee80e0-202603261301.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.29.2-25441fc-202604161026.0_1776335171155_0.8784540460590067","host":"s3://npm-registry-packages-npm-production"}},"2.29.2-25441fc-202604161100.0":{"name":"@flowfuse/nr-launcher","version":"2.29.2-25441fc-202604161100.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.29.2-25441fc-202604161100.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"29908baaa87e98924b80a40286608385fa5f8f45","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.29.2-25441fc-202604161100.0.tgz","fileCount":44,"integrity":"sha512-NLKvVhk/K5X2ZsyykBDo8rIQKrJSAR2GwJLgxhAfyo/3EMO9r2ISc0k1mEHvlNi3kPfGt758faxSnv85sS3oDA==","signatures":[{"sig":"MEUCIGzqCIiLjF8EZTEjSUr8IHtpocP/o1I4C94/68Di2DwaAiEA029c3c0km5hZybdCMPF+s51w3SW8/I5sqm5wL6puc+w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":628612},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"25441fc3f7ba1a5c32ecb54f9893341fc385dc10","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.12.1-b7adb38-202604161059.0","@flowfuse/nr-file-nodes":"0.0.11-f196f5a-202604151048.0","@flowfuse/nr-mqtt-nodes":"0.3.1-28bf3a6-202603311324.0","@flowfuse/nr-tables-nodes":"0.2.3-606399d-202603261058.0","@flowfuse/nr-project-nodes":"0.7.9-9ee80e0-202603261301.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.29.2-25441fc-202604161100.0_1776337207479_0.4574273958475765","host":"s3://npm-registry-packages-npm-production"}},"2.29.2-25441fc-202604161425.0":{"name":"@flowfuse/nr-launcher","version":"2.29.2-25441fc-202604161425.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.29.2-25441fc-202604161425.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"b3697dfeac481c35cf6b85c896721e235da44931","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.29.2-25441fc-202604161425.0.tgz","fileCount":44,"integrity":"sha512-veaLcZaJ4zzfGHcjLGkkf59SfYnuAzFvg6aswYmjY7b4rGUeAJz1ZsKkxadipoxMEdp32VnvX/bZ1aHSiX4flA==","signatures":[{"sig":"MEYCIQD2ce3rI3NrSqG+35Gih3WtLwR1r/dzFjglrQ/QN2wIxwIhANHLInUhGORJkOIER3xnxEaNnr5v6RQJ17I4djym7ife","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":628612},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"25441fc3f7ba1a5c32ecb54f9893341fc385dc10","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.12.1-eab8dae-202604161424.0","@flowfuse/nr-file-nodes":"0.0.11-f196f5a-202604151048.0","@flowfuse/nr-mqtt-nodes":"0.3.1-28bf3a6-202603311324.0","@flowfuse/nr-tables-nodes":"0.2.3-606399d-202603261058.0","@flowfuse/nr-project-nodes":"0.7.9-9ee80e0-202603261301.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.29.2-25441fc-202604161425.0_1776349535863_0.6381338214496568","host":"s3://npm-registry-packages-npm-production"}},"2.29.2-25441fc-202604161431.0":{"name":"@flowfuse/nr-launcher","version":"2.29.2-25441fc-202604161431.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.29.2-25441fc-202604161431.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"2b9dc0e8c452105ad42734a46a88f57098586086","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.29.2-25441fc-202604161431.0.tgz","fileCount":44,"integrity":"sha512-rIpPVcRXPIR73G0GtNWymi9N8JyEz6333wtL/1H7UMeba4IEToca8C1T9LganOHzcmtBOI08f6K6jQU2g51SYQ==","signatures":[{"sig":"MEUCIFG9X7G3RlvHBYvS6GOGgfG0iMJPgLeTHRyVACkOFtoRAiEAru9rp42+E5FwZiWbNaGFTVti5+D+duxNi/xXvr+OUR0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":628612},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"25441fc3f7ba1a5c32ecb54f9893341fc385dc10","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.12.1-02e7156-202604161430.0","@flowfuse/nr-file-nodes":"0.0.11-f196f5a-202604151048.0","@flowfuse/nr-mqtt-nodes":"0.3.1-28bf3a6-202603311324.0","@flowfuse/nr-tables-nodes":"0.2.3-606399d-202603261058.0","@flowfuse/nr-project-nodes":"0.7.9-9ee80e0-202603261301.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.29.2-25441fc-202604161431.0_1776349872843_0.20688034102891395","host":"s3://npm-registry-packages-npm-production"}},"2.29.2-0b855f2-202604170831.0":{"name":"@flowfuse/nr-launcher","version":"2.29.2-0b855f2-202604170831.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.29.2-0b855f2-202604170831.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"7fb6aa01742faa0b7f33d91e04b382e0aaaac2fa","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.29.2-0b855f2-202604170831.0.tgz","fileCount":44,"integrity":"sha512-+LZHuaPx+3jiWvKXUBP6SEWS1vH/R/CuY7epBUbey4WRszZZOzVKVj1oJxeNu03ncSGoxYCsImz/4yXJkLr+Pw==","signatures":[{"sig":"MEUCIQDKZFn9Y5B4xIXpv5pNLKoUpDFerte6vVmq1sgYx6oF6wIgYu6hzwlWxR38LUzAPOXs2H6y5prknlPPhyFWVP2lG60=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":628612},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"0b855f2824d68859696894f113ca5a999ff4ce7e","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.12.1-02e7156-202604161430.0","@flowfuse/nr-file-nodes":"0.0.11-f196f5a-202604151048.0","@flowfuse/nr-mqtt-nodes":"0.3.1-28bf3a6-202603311324.0","@flowfuse/nr-tables-nodes":"0.2.3-606399d-202603261058.0","@flowfuse/nr-project-nodes":"0.7.9-9ee80e0-202603261301.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.29.2-0b855f2-202604170831.0_1776414677770_0.9989394034209775","host":"s3://npm-registry-packages-npm-production"}},"2.29.2-2689aed-202604170833.0":{"name":"@flowfuse/nr-launcher","version":"2.29.2-2689aed-202604170833.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.29.2-2689aed-202604170833.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"768ea348f7c3f39cd5340a3b1dbc182d9ed025d9","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.29.2-2689aed-202604170833.0.tgz","fileCount":44,"integrity":"sha512-uyACKdWgCzRK/aOY0BH0nSnXchqYiRzN/tG63CknXTFYYxE5NadYRcG4tZXUsuZUNPSqOBP7JTg2kFxekt0Q1A==","signatures":[{"sig":"MEQCICDf4Nwob5c7yvqF4BkSJwz2gx8/SjsABAQwIZuZDNPVAiBBCZNJoJ3VBWqVhW0ZdbCdmWn2c0AW7vjZ4qvXw7TrVQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":628612},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"2689aed684e3ef69cf225e4c256739c04204170f","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.12.1-02e7156-202604161430.0","@flowfuse/nr-file-nodes":"0.0.11-f196f5a-202604151048.0","@flowfuse/nr-mqtt-nodes":"0.3.1-28bf3a6-202603311324.0","@flowfuse/nr-tables-nodes":"0.2.3-606399d-202603261058.0","@flowfuse/nr-project-nodes":"0.7.9-9ee80e0-202603261301.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.29.2-2689aed-202604170833.0_1776414819603_0.7311932083582042","host":"s3://npm-registry-packages-npm-production"}},"2.29.2-93d425a-202604170836.0":{"name":"@flowfuse/nr-launcher","version":"2.29.2-93d425a-202604170836.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.29.2-93d425a-202604170836.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"4050dfd2ba5d8ebbe972f71fcd4c89abfa2cbec8","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.29.2-93d425a-202604170836.0.tgz","fileCount":44,"integrity":"sha512-AuI/nCEJwpeb+6JVaoVo4t2JUvKFYj91yElKxkQv4eZl12mRVRSo0TOPMIHIhFj26dJk4Xzvx3px05PmKZkyzg==","signatures":[{"sig":"MEMCIE5+hoOmKb9SFhnyWyYx7CT2J6kYecnIu4JmfUV+PiR7Ah9k4NGv8Ir7Lsa1866sodJrr+O8CcyQ2mj85YiVo40B","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":628612},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"93d425a32145e3426ae7592ba9dd5d64fe56484d","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.12.1-02e7156-202604161430.0","@flowfuse/nr-file-nodes":"0.0.11-f196f5a-202604151048.0","@flowfuse/nr-mqtt-nodes":"0.3.1-28bf3a6-202603311324.0","@flowfuse/nr-tables-nodes":"0.2.3-606399d-202603261058.0","@flowfuse/nr-project-nodes":"0.7.9-9ee80e0-202603261301.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.29.2-93d425a-202604170836.0_1776415018344_0.4888387699559942","host":"s3://npm-registry-packages-npm-production"}},"2.29.2-93d425a-202604170905.0":{"name":"@flowfuse/nr-launcher","version":"2.29.2-93d425a-202604170905.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.29.2-93d425a-202604170905.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"bf8b26c28bc09ce31a873c3c47064eac4aa086e7","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.29.2-93d425a-202604170905.0.tgz","fileCount":44,"integrity":"sha512-9Msl31KpkS0Wa1mghRzs0PD2T5f7nTIxIPfD6KzIJr0wPTNkXzte030tQXYChYb5RKHYv9zEPLJWJ9pFmOgzaQ==","signatures":[{"sig":"MEQCIG6uSbglpzQbJ3XOTCQLi1GplbcoCrNiYihqMfnBCumXAiAGV6GpB2UE/iJb9SAIklS1j4ZFjUCdOPi1NMFTT0siwA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":628612},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"93d425a32145e3426ae7592ba9dd5d64fe56484d","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.12.1-02e7156-202604161430.0","@flowfuse/nr-file-nodes":"0.0.11-f196f5a-202604151048.0","@flowfuse/nr-mqtt-nodes":"0.3.1-28bf3a6-202603311324.0","@flowfuse/nr-tables-nodes":"0.2.3-606399d-202603261058.0","@flowfuse/nr-project-nodes":"0.7.9-5a0bb29-202604170904.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.29.2-93d425a-202604170905.0_1776416745585_0.4627605404806727","host":"s3://npm-registry-packages-npm-production"}},"2.29.2-93d425a-202604170908.0":{"name":"@flowfuse/nr-launcher","version":"2.29.2-93d425a-202604170908.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.29.2-93d425a-202604170908.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"4b9f0902b8b73b2241e20e31cb63c238b3977d0c","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.29.2-93d425a-202604170908.0.tgz","fileCount":44,"integrity":"sha512-fnUv5MSLylu+EmGO/GK0O/W1xXfO0M+tsrT7zpAsK7bpwL8OmWmp1/R40wg5BNpVGsubcV/KItbTowiRbR18Fg==","signatures":[{"sig":"MEQCIAD2zKn3z+/7MkzqkxaIRWC1baB7n3Qox+Si9yYrtbysAiAA0YrPW8rmM6UtM0A9mcjYQeg8GaVHUI/cbKSK4Voq7A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":628612},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"93d425a32145e3426ae7592ba9dd5d64fe56484d","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.12.1-02e7156-202604161430.0","@flowfuse/nr-file-nodes":"0.0.11-f196f5a-202604151048.0","@flowfuse/nr-mqtt-nodes":"0.3.1-28bf3a6-202603311324.0","@flowfuse/nr-tables-nodes":"0.2.3-606399d-202603261058.0","@flowfuse/nr-project-nodes":"0.7.9-2c2d26b-202604170907.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.29.2-93d425a-202604170908.0_1776416923028_0.9706709419288542","host":"s3://npm-registry-packages-npm-production"}},"2.29.2-93d425a-202604170914.0":{"name":"@flowfuse/nr-launcher","version":"2.29.2-93d425a-202604170914.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.29.2-93d425a-202604170914.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"d9fe88ef3445800d5ce97354fa915ef570bbbb89","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.29.2-93d425a-202604170914.0.tgz","fileCount":44,"integrity":"sha512-PjQlQQvxp3G5DJfs5NuVv5a0E78VvbJx7UMslWN+ih6mKoDN3UgyWJ+EzbeDlS8ZIZJbnQnsXq21VqxkdYRYZQ==","signatures":[{"sig":"MEUCIQCwnhjLu0MtJ79v/7RNc4TDOnBXWgPNrzNRf8oJfYiBmgIgeHi7y0jWJkRMfon42BSxHNHk2hwclO3jOtKWBPnwyUA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":628612},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"93d425a32145e3426ae7592ba9dd5d64fe56484d","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.12.1-02e7156-202604161430.0","@flowfuse/nr-file-nodes":"0.0.11-f196f5a-202604151048.0","@flowfuse/nr-mqtt-nodes":"0.3.1-28bf3a6-202603311324.0","@flowfuse/nr-tables-nodes":"0.2.3-606399d-202603261058.0","@flowfuse/nr-project-nodes":"0.7.9-56136a2-202604170913.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.29.2-93d425a-202604170914.0_1776417258637_0.4859086562764059","host":"s3://npm-registry-packages-npm-production"}},"2.29.2-93d425a-202604170916.0":{"name":"@flowfuse/nr-launcher","version":"2.29.2-93d425a-202604170916.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.29.2-93d425a-202604170916.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"7d448ad5383d95cf5016d3cd976b00b39c276bd0","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.29.2-93d425a-202604170916.0.tgz","fileCount":44,"integrity":"sha512-KGgqLrIlhyekZpElKrskss+PY66W8nHSMeAxwDJNRhZsOKEtWm8yDaCoacDt1Ir5pe+hEwuHMO2tljomlPIllQ==","signatures":[{"sig":"MEUCIC3UwgzxaSFj+7QkfUjbIReyGfYonxp/Txz+53dzn6/xAiEA3Hqt9a+nIpMrgaA4XVa43PelwstdfSYNXynVNprl4b0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":628612},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"93d425a32145e3426ae7592ba9dd5d64fe56484d","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.12.1-02e7156-202604161430.0","@flowfuse/nr-file-nodes":"0.0.11-f196f5a-202604151048.0","@flowfuse/nr-mqtt-nodes":"0.3.1-28bf3a6-202603311324.0","@flowfuse/nr-tables-nodes":"0.2.3-606399d-202603261058.0","@flowfuse/nr-project-nodes":"0.7.9-686e754-202604170916.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.29.2-93d425a-202604170916.0_1776417420448_0.05536852692725591","host":"s3://npm-registry-packages-npm-production"}},"2.29.2-93d425a-202604170920.0":{"name":"@flowfuse/nr-launcher","version":"2.29.2-93d425a-202604170920.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.29.2-93d425a-202604170920.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"eb92601c3bbc38cc115c21b094b3ed6efcc7d83c","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.29.2-93d425a-202604170920.0.tgz","fileCount":44,"integrity":"sha512-bMelCWpxb9b8JUuZZrb/BZ12U1BfFxDuoe4r1qZPclnlpc1P6ygJUYam36Pf8C6mNOF2vOPEOyDPTKCCsvt2sA==","signatures":[{"sig":"MEYCIQDYDww2naxWj2RFH7eshls9t25fJGeWp3QZaYLjm1h+ggIhAOOiQVNjz1+Qph2PtuamSaXOn618uRIej3FRZ7VbvlvM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":628612},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"93d425a32145e3426ae7592ba9dd5d64fe56484d","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.12.1-02e7156-202604161430.0","@flowfuse/nr-file-nodes":"0.0.11-38c509d-202604170919.0","@flowfuse/nr-mqtt-nodes":"0.3.1-28bf3a6-202603311324.0","@flowfuse/nr-tables-nodes":"0.2.3-606399d-202603261058.0","@flowfuse/nr-project-nodes":"0.7.9-686e754-202604170916.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.29.2-93d425a-202604170920.0_1776417649853_0.9343740905612625","host":"s3://npm-registry-packages-npm-production"}},"2.29.2-93d425a-202604170923.0":{"name":"@flowfuse/nr-launcher","version":"2.29.2-93d425a-202604170923.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.29.2-93d425a-202604170923.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"82a363b4f5fe945fe912b833372b3d40a56a35c7","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.29.2-93d425a-202604170923.0.tgz","fileCount":44,"integrity":"sha512-if4A6qBHMGm6FMmaDhehC6RH6ymQOWc6U1zYpuvFj7O8fxxEitHG+Ip/dASgSNQV0XD7zWudKzq/Ukey+wxkrQ==","signatures":[{"sig":"MEUCIQDG2+QeFEkpLmr8XRzCmNKLyRB4RBJ4O5sWAIzCB8rdjQIgKepObAbuBc0hZ4QCmx4Jt6rBOM38YqiLl92+2o5e85A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":628612},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"93d425a32145e3426ae7592ba9dd5d64fe56484d","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.12.1-02e7156-202604161430.0","@flowfuse/nr-file-nodes":"0.0.11-07eb37f-202604170922.0","@flowfuse/nr-mqtt-nodes":"0.3.1-28bf3a6-202603311324.0","@flowfuse/nr-tables-nodes":"0.2.3-606399d-202603261058.0","@flowfuse/nr-project-nodes":"0.7.9-686e754-202604170916.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.29.2-93d425a-202604170923.0_1776417821425_0.35492452334967406","host":"s3://npm-registry-packages-npm-production"}},"2.29.2-93d425a-202604201131.0":{"name":"@flowfuse/nr-launcher","version":"2.29.2-93d425a-202604201131.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.29.2-93d425a-202604201131.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"9c048a5adecbe59019a4a1b92a36e4f023aab4da","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.29.2-93d425a-202604201131.0.tgz","fileCount":44,"integrity":"sha512-+Ws2y4w3yq0jUp88C/AKpkPiAboht/C/eKbL4PTpGl0jV64lkCrUJAX/vlcd5b2t8owhywaIXKxVIAaeSG9u0g==","signatures":[{"sig":"MEUCIQCM/8Q0rXc9JOWzwjigdDoamWhVUL8ETdxV1Npl5fX++QIgFV1bbO4iAmXyUja3JvBLwP2Mu+Amm/t/OecnyQeDGbQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":628612},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"93d425a32145e3426ae7592ba9dd5d64fe56484d","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.12.1-02e7156-202604161430.0","@flowfuse/nr-file-nodes":"0.0.11-07eb37f-202604170922.0","@flowfuse/nr-mqtt-nodes":"0.3.1-28bf3a6-202603311324.0","@flowfuse/nr-tables-nodes":"0.2.3-606399d-202603261058.0","@flowfuse/nr-project-nodes":"0.7.9-44c281d-202604201131.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.29.2-93d425a-202604201131.0_1776684724188_0.10991839659754321","host":"s3://npm-registry-packages-npm-production"}},"2.29.2-a9781d1-202604201133.0":{"name":"@flowfuse/nr-launcher","version":"2.29.2-a9781d1-202604201133.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.29.2-a9781d1-202604201133.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"35bfc136363e90cbc83092e9f5534abec1b5597c","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.29.2-a9781d1-202604201133.0.tgz","fileCount":44,"integrity":"sha512-qjsWr3ApgXem+1G0p5Zu9WR/4AnNzjOEkO9WNJO6QHKHZz5HBeOgB4U809FE5G3bFmFi/zmKHqfZXBbSoLi8xw==","signatures":[{"sig":"MEUCIQCExUrTJEnjDJSwWNml8KMQ3BIlMiUzgE552l37Zacl0gIgeLmRa/c8nNkeMhC0q24+H4BCV+Y8m+YCbehMzZQQAbw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":628612},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"a9781d13d79afc2d1bf987c93eb4599c27d22950","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.12.1-02e7156-202604161430.0","@flowfuse/nr-file-nodes":"0.0.11-685853e-202604201133.0","@flowfuse/nr-mqtt-nodes":"0.3.1-d0bf48f-202604201132.0","@flowfuse/nr-tables-nodes":"0.2.3-606399d-202603261058.0","@flowfuse/nr-project-nodes":"0.7.9-44c281d-202604201131.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.29.2-a9781d1-202604201133.0_1776684826696_0.9934204781799993","host":"s3://npm-registry-packages-npm-production"}},"2.29.2-a9781d1-202604201134.0":{"name":"@flowfuse/nr-launcher","version":"2.29.2-a9781d1-202604201134.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.29.2-a9781d1-202604201134.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"5d15c79371f1d390b4e0a31377ef96c27631a158","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.29.2-a9781d1-202604201134.0.tgz","fileCount":44,"integrity":"sha512-a2GAwpcuTSnIvwsSHiszr7ZJTR4ed1iDAx/0f9eS8YEo4bmduak4ku79bw6tBrWCprYJaCLuZAjwg1SXGieOOg==","signatures":[{"sig":"MEQCIBj2C4O3pNVv5EioWPBoZ32VVQtndueMrb6Y7ASuxnDjAiBiubb+jDa7K3Yh0Eqkr37KtxgeLiM04RvLLE8fEwH6Lg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":628612},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"a9781d13d79afc2d1bf987c93eb4599c27d22950","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.12.1-5ac820d-202604201133.0","@flowfuse/nr-file-nodes":"0.0.11-685853e-202604201133.0","@flowfuse/nr-mqtt-nodes":"0.3.1-d0bf48f-202604201132.0","@flowfuse/nr-tables-nodes":"0.2.3-606399d-202603261058.0","@flowfuse/nr-project-nodes":"0.7.9-44c281d-202604201131.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.29.2-a9781d1-202604201134.0_1776684871851_0.6768926551604253","host":"s3://npm-registry-packages-npm-production"}},"2.29.2-a9781d1-202604201245.0":{"name":"@flowfuse/nr-launcher","version":"2.29.2-a9781d1-202604201245.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.29.2-a9781d1-202604201245.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"7ac2d99208a4e2d49e115fb36c7d1fc9ed42ad63","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.29.2-a9781d1-202604201245.0.tgz","fileCount":44,"integrity":"sha512-+QwPrLa5o4l4dK5jnRN7KbVDMjhcDDgyGF/QrmLVrAMOFxBGoNCqGWtumr9Q2zKLrGv9Jb0HGrX2fumCrGXf5Q==","signatures":[{"sig":"MEQCIBLrlkwGLv/mX8qX+QPgs8l8VG8aj1SVNJd3sk6mK1kQAiAHteCkN57Ys5PEUlzRj8a4TLrXoiJXW33Sx/eRubrO8A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":628612},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"a9781d13d79afc2d1bf987c93eb4599c27d22950","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.12.1-6134f8a-202604201244.0","@flowfuse/nr-file-nodes":"0.0.11-685853e-202604201133.0","@flowfuse/nr-mqtt-nodes":"0.3.1-d0bf48f-202604201132.0","@flowfuse/nr-tables-nodes":"0.2.3-606399d-202603261058.0","@flowfuse/nr-project-nodes":"0.7.9-44c281d-202604201131.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.29.2-a9781d1-202604201245.0_1776689150588_0.42132287748263386","host":"s3://npm-registry-packages-npm-production"}},"2.29.2-a9781d1-202604201332.0":{"name":"@flowfuse/nr-launcher","version":"2.29.2-a9781d1-202604201332.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.29.2-a9781d1-202604201332.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"b2e80e3b4d75b5e6eaa9321bc5c568a90beb8e44","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.29.2-a9781d1-202604201332.0.tgz","fileCount":44,"integrity":"sha512-Qs5/8z9zsO5xtHoxZ/9wH802p5epWvEIcRpD8YJPqlKdpz+IFMCPCt4GV5Cv9EVZfoBfIvuADTZv+0F/QAIb5g==","signatures":[{"sig":"MEUCIQCxkAyIHBiJZmuKfDiHYFyOYKbrsKw/TtTOLZ/QLrrqlAIgTGIUwxjShet2qKw29+B+pmpaOjpMF0QW6D+rpniQobs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":628612},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"a9781d13d79afc2d1bf987c93eb4599c27d22950","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.12.1-40d7d33-202604201331.0","@flowfuse/nr-file-nodes":"0.0.11-685853e-202604201133.0","@flowfuse/nr-mqtt-nodes":"0.3.1-d0bf48f-202604201132.0","@flowfuse/nr-tables-nodes":"0.2.3-606399d-202603261058.0","@flowfuse/nr-project-nodes":"0.7.9-44c281d-202604201131.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.29.2-a9781d1-202604201332.0_1776691979232_0.9420671814272448","host":"s3://npm-registry-packages-npm-production"}},"2.29.2-a9781d1-202604201620.0":{"name":"@flowfuse/nr-launcher","version":"2.29.2-a9781d1-202604201620.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.29.2-a9781d1-202604201620.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"fad246500eb774e570c603093d1d240b2a61b913","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.29.2-a9781d1-202604201620.0.tgz","fileCount":44,"integrity":"sha512-tSf5DDYeJ+1eEhLA0aKTP7KsYSmDcoQ7XzO/X7J6bO+zjidQmG4zhwiLoEuzWgV3yjAj01A+N633W0TtzTveHQ==","signatures":[{"sig":"MEQCIEfktES8NAsnWldMRZKyRQJUJeUqPqyiHJVKd/bb6RHqAiAd0PkdEAXSmFpmFYdK1vLOfA4dvxyZ7U74Hex+7SeM/A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":628612},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"a9781d13d79afc2d1bf987c93eb4599c27d22950","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"10.8.2","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"20.20.2","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.12.1-40d7d33-202604201331.0","@flowfuse/nr-file-nodes":"0.0.11-685853e-202604201133.0","@flowfuse/nr-mqtt-nodes":"0.3.1-d0bf48f-202604201132.0","@flowfuse/nr-tables-nodes":"0.2.3-606399d-202603261058.0","@flowfuse/nr-project-nodes":"0.7.9-19954d8-202604201619.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.29.2-a9781d1-202604201620.0_1776702035490_0.918513938134325","host":"s3://npm-registry-packages-npm-production"}},"2.29.2-f3d9a53-202604201623.0":{"name":"@flowfuse/nr-launcher","version":"2.29.2-f3d9a53-202604201623.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.29.2-f3d9a53-202604201623.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"274ba4f906052aedf093ce6e444a8cf1edd1f4eb","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.29.2-f3d9a53-202604201623.0.tgz","fileCount":44,"integrity":"sha512-vechVpHhgKIZZ7hgdFKXbxRrt0VdIfHxWj070MHg9IvGFLvpj2HIgPB3/4gN7psFvZdeGLXIgBRct4vK9zaFuQ==","signatures":[{"sig":"MEUCIGmS2Gbv2ZZHPXgzOqzTqT8rnUC/R5yUaIaNkEi/CZEoAiEA4xhYwUSzSWuKJziR3aImexIFoWRTb4U3vMhxBwOmlTY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":628612},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"f3d9a53a81d25583916e9a6ddf27bace37b08379","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.11.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.12.1-40d7d33-202604201331.0","@flowfuse/nr-file-nodes":"0.0.11-685853e-202604201133.0","@flowfuse/nr-mqtt-nodes":"0.3.1-d0bf48f-202604201132.0","@flowfuse/nr-tables-nodes":"0.2.3-606399d-202603261058.0","@flowfuse/nr-project-nodes":"0.7.9-19954d8-202604201619.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.29.2-f3d9a53-202604201623.0_1776702205962_0.934851845920746","host":"s3://npm-registry-packages-npm-production"}},"2.29.2-f3d9a53-202604201635.0":{"name":"@flowfuse/nr-launcher","version":"2.29.2-f3d9a53-202604201635.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.29.2-f3d9a53-202604201635.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"1451cab3207733b10de77be03102b081c654815e","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.29.2-f3d9a53-202604201635.0.tgz","fileCount":44,"integrity":"sha512-OHFWv8fYcbknPwjirXY+s4phGK+QD+p2g/sfqTVFCRCFUSSbjKe8V1eduaW5NK47fksPQx9bcVFV/yTZ7kRi+Q==","signatures":[{"sig":"MEYCIQCcCfyJmZ+BMV1LvOYysG0HOAhJXl5P3hOHcHlCnA0xnwIhAKYkzVlucpWh7HOJmLu7kqbo7PlJuyTjSLrlRS4XCiVA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":628612},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"f3d9a53a81d25583916e9a6ddf27bace37b08379","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.11.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.12.1-40d7d33-202604201331.0","@flowfuse/nr-file-nodes":"0.0.11-5f24e0a-202604201635.0","@flowfuse/nr-mqtt-nodes":"0.3.1-d0bf48f-202604201132.0","@flowfuse/nr-tables-nodes":"0.2.3-606399d-202603261058.0","@flowfuse/nr-project-nodes":"0.7.9-19954d8-202604201619.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.29.2-f3d9a53-202604201635.0_1776702960358_0.39591460899700137","host":"s3://npm-registry-packages-npm-production"}},"2.29.2-f3d9a53-202604201946.0":{"name":"@flowfuse/nr-launcher","version":"2.29.2-f3d9a53-202604201946.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.29.2-f3d9a53-202604201946.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"546e5e001eb2ffb7f3d1ce361286e55f47caa974","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.29.2-f3d9a53-202604201946.0.tgz","fileCount":44,"integrity":"sha512-HPGtsTpi4voaF6sb/BeZD3QwQkNLtdC9cRpcYsk3XX2hLJ50/eCe2uxQhUMAIXl//TdTh4sUGBdlhPFwRwy8cg==","signatures":[{"sig":"MEUCIBRsCB7GdzJsOGR/ZeDwUA9lx2pOtjOY+XDCmWDZcsCrAiEA8jRPZj5vXNTmM/fEK+3GnW/pRcBBmrIEVJLxBcVzloQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":628612},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"f3d9a53a81d25583916e9a6ddf27bace37b08379","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.11.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.12.1-ef4cfab-202604201945.0","@flowfuse/nr-file-nodes":"0.0.11-5f24e0a-202604201635.0","@flowfuse/nr-mqtt-nodes":"0.3.1-d0bf48f-202604201132.0","@flowfuse/nr-tables-nodes":"0.2.3-606399d-202603261058.0","@flowfuse/nr-project-nodes":"0.7.9-19954d8-202604201619.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.29.2-f3d9a53-202604201946.0_1776714368380_0.8041013781753072","host":"s3://npm-registry-packages-npm-production"}},"2.29.2-f3d9a53-202604210528.0":{"name":"@flowfuse/nr-launcher","version":"2.29.2-f3d9a53-202604210528.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.29.2-f3d9a53-202604210528.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"27b214434d79447daeb47b39552fd117961a2e60","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.29.2-f3d9a53-202604210528.0.tgz","fileCount":44,"integrity":"sha512-rnSM0n/OLFQISbWIq+ONNaxHmR+Wz0QwAXj0VEVkGfz/Z3e+dr+UGXHQe18NaFNp4TpqJK/nGdboyx8VBBiYDQ==","signatures":[{"sig":"MEYCIQDuqQ1Va5ajJ5cUlaJ7+NjU0OkV7NMmcbzP2nLW5+D2cgIhAIyZ+WTkBNVolVqMGAoCQeSJ9NUHdL4tDZJ4oX386xuk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":628612},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"f3d9a53a81d25583916e9a6ddf27bace37b08379","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.11.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.12.1-58ae979-202604210527.0","@flowfuse/nr-file-nodes":"0.0.11-5f24e0a-202604201635.0","@flowfuse/nr-mqtt-nodes":"0.3.1-d0bf48f-202604201132.0","@flowfuse/nr-tables-nodes":"0.2.3-606399d-202603261058.0","@flowfuse/nr-project-nodes":"0.7.9-19954d8-202604201619.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.29.2-f3d9a53-202604210528.0_1776749319398_0.4457213856432529","host":"s3://npm-registry-packages-npm-production"}},"2.29.2-f3d9a53-202604210531.0":{"name":"@flowfuse/nr-launcher","version":"2.29.2-f3d9a53-202604210531.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.29.2-f3d9a53-202604210531.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"a922476ec2c636a4360adc266ccee02a9f036e34","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.29.2-f3d9a53-202604210531.0.tgz","fileCount":44,"integrity":"sha512-5qT6SJmxb8NZ9f4uYa3S3+vVrCrAB2qT+Og0xy66U1wB3MN2GG8a9lIYyaBaICtdgcm66OBGtBtZawXIc/55Mg==","signatures":[{"sig":"MEUCIGFZ8GNJ/hjXj76q0ZDXo35Af2g4NoqQz1tKeJvHOVIZAiEAoi1ySLtOiwR/qosUXP6l2AdH9HuMbnP1CTP+xITL598=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":628612},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"f3d9a53a81d25583916e9a6ddf27bace37b08379","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.11.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.12.1-f03d235-202604210530.0","@flowfuse/nr-file-nodes":"0.0.11-5f24e0a-202604201635.0","@flowfuse/nr-mqtt-nodes":"0.3.1-d0bf48f-202604201132.0","@flowfuse/nr-tables-nodes":"0.2.3-606399d-202603261058.0","@flowfuse/nr-project-nodes":"0.7.9-19954d8-202604201619.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.29.2-f3d9a53-202604210531.0_1776749487577_0.9560717611216301","host":"s3://npm-registry-packages-npm-production"}},"2.29.2-f3d9a53-202604211103.0":{"name":"@flowfuse/nr-launcher","version":"2.29.2-f3d9a53-202604211103.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.29.2-f3d9a53-202604211103.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"d5f9f603666adaacda2193e72b4dcabe555545e4","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.29.2-f3d9a53-202604211103.0.tgz","fileCount":44,"integrity":"sha512-F/JKjyA6mRWypkkkFm0Ogvy6z2B5egt42cU1Zg1S0xNFK/oJLV1f71iXvMI1OqaCa0rFXr8tYbRX/8WVN6Ps2A==","signatures":[{"sig":"MEYCIQDOxeZNl7kwAzO/yYopXCNmUwCN3bL6lUnqeH6LpZfpMgIhAMffqdPR4YlvvbU96X+c9uTWFlu778YNf11msslJwZx9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":628612},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"f3d9a53a81d25583916e9a6ddf27bace37b08379","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.11.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.12.1-f03d235-202604210530.0","@flowfuse/nr-file-nodes":"0.0.11-5f24e0a-202604201635.0","@flowfuse/nr-mqtt-nodes":"0.3.1-e669f50-202604211102.0","@flowfuse/nr-tables-nodes":"0.2.3-606399d-202603261058.0","@flowfuse/nr-project-nodes":"0.7.9-19954d8-202604201619.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.29.2-f3d9a53-202604211103.0_1776769436046_0.10663594594851222","host":"s3://npm-registry-packages-npm-production"}},"2.29.2-f3d9a53-202604221636.0":{"name":"@flowfuse/nr-launcher","version":"2.29.2-f3d9a53-202604221636.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.29.2-f3d9a53-202604221636.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"f4c35cc4881bd1de0d48fff25b3860bddaf600e0","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.29.2-f3d9a53-202604221636.0.tgz","fileCount":44,"integrity":"sha512-/9G4685heR3EquuZSYdZIoCZiRB8y/i4XUOHtk/QZEkBW29zhmFVxR0xKCIAK+v+tJWp9npQ/RxdGUlg/4k1PQ==","signatures":[{"sig":"MEUCIHK7iqHJPcN/wU/9fJghz532H8XfXyiEAPF9qFoGUwZpAiEAp+kiGTIMG3LsEZ6ln/Srd+3zIA6+LDeMzWc1GCz/52Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":628612},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"f3d9a53a81d25583916e9a6ddf27bace37b08379","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.11.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.12.1-750945b-202604221635.0","@flowfuse/nr-file-nodes":"0.0.11-5f24e0a-202604201635.0","@flowfuse/nr-mqtt-nodes":"0.3.1-e669f50-202604211102.0","@flowfuse/nr-tables-nodes":"0.2.3-606399d-202603261058.0","@flowfuse/nr-project-nodes":"0.7.9-19954d8-202604201619.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.29.2-f3d9a53-202604221636.0_1776875780582_0.024308841704174577","host":"s3://npm-registry-packages-npm-production"}},"2.29.2-f3d9a53-202604230516.0":{"name":"@flowfuse/nr-launcher","version":"2.29.2-f3d9a53-202604230516.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.29.2-f3d9a53-202604230516.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"f7224bdb1aba5148c9dd19d6275cdfb5f7aebb88","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.29.2-f3d9a53-202604230516.0.tgz","fileCount":44,"integrity":"sha512-PD0LGi8w+dAbMpNbo58EYsnl9fsmdjNFCuJRZwP7OeN3s6Zm81WqrU1EQR0v2V+MJSAZf1s6AQJdmIY4Ik8MjA==","signatures":[{"sig":"MEYCIQDDOPyntz78U4/SQrBgG/AMPozxq8jaXLtshxFZeXRpUgIhAOyK/PmT1NwjDCUCKoaavCtupi5XUyBbJE8aqzt31uCD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":628612},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"f3d9a53a81d25583916e9a6ddf27bace37b08379","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.12.1","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.12.1-1c934bc-202604230515.0","@flowfuse/nr-file-nodes":"0.0.11-5f24e0a-202604201635.0","@flowfuse/nr-mqtt-nodes":"0.3.1-e669f50-202604211102.0","@flowfuse/nr-tables-nodes":"0.2.3-606399d-202603261058.0","@flowfuse/nr-project-nodes":"0.7.9-19954d8-202604201619.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.29.2-f3d9a53-202604230516.0_1776921412542_0.300569465723975","host":"s3://npm-registry-packages-npm-production"}},"2.29.2-f3d9a53-202604291732.0":{"name":"@flowfuse/nr-launcher","version":"2.29.2-f3d9a53-202604291732.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.29.2-f3d9a53-202604291732.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"802655e33b484bdc75d93c96be16de02c9dd41ba","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.29.2-f3d9a53-202604291732.0.tgz","fileCount":44,"integrity":"sha512-SXveEXEAXJk9JoIO/4GoNZlJyhco3L03amcJOCMXS95Mi8+3gK73wPc4Mg+Aa4sg59lOD/S8ie9AFcriZ+rW0g==","signatures":[{"sig":"MEQCIB/6t3SI9fD4MFj7wCasYWZuPCmpgTQbjfN/0eov5QyiAiB7e3E7j51vVDEyUvMxRmWfFJ92rNNB9Ie9vaYFvaGSfg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":628612},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"f3d9a53a81d25583916e9a6ddf27bace37b08379","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.11.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.12.1-b0cb104-202604291731.0","@flowfuse/nr-file-nodes":"0.0.11-5f24e0a-202604201635.0","@flowfuse/nr-mqtt-nodes":"0.3.1-e669f50-202604211102.0","@flowfuse/nr-tables-nodes":"0.2.3-606399d-202603261058.0","@flowfuse/nr-project-nodes":"0.7.9-19954d8-202604201619.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.29.2-f3d9a53-202604291732.0_1777483959776_0.28010007553308136","host":"s3://npm-registry-packages-npm-production"}},"2.29.2-f3d9a53-202604291802.0":{"name":"@flowfuse/nr-launcher","version":"2.29.2-f3d9a53-202604291802.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.29.2-f3d9a53-202604291802.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"19991a6412d8bcb05d2e59d2f3b9bb447ebb491d","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.29.2-f3d9a53-202604291802.0.tgz","fileCount":44,"integrity":"sha512-XPW7jlPVTpPdFC0w+6qoR7u8nM2DPSmhi2rJP+krVYnKsWdGS24+L+6fyw+uOS5lbArIQUVXGojkMC+eGQrZOw==","signatures":[{"sig":"MEUCIGLjfyf9zKhZ+wdli3Rewd5kgCbmmXXhtVOhh8BcCgMWAiEAyky41eAb4M4SOEiPoCtWpu+BcoLjNzxLUVwd6SCKx20=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":628612},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"f3d9a53a81d25583916e9a6ddf27bace37b08379","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.11.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.12.1-99150ee-202604291801.0","@flowfuse/nr-file-nodes":"0.0.11-5f24e0a-202604201635.0","@flowfuse/nr-mqtt-nodes":"0.3.1-e669f50-202604211102.0","@flowfuse/nr-tables-nodes":"0.2.3-606399d-202603261058.0","@flowfuse/nr-project-nodes":"0.7.9-19954d8-202604201619.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.29.2-f3d9a53-202604291802.0_1777485760427_0.6323928048584333","host":"s3://npm-registry-packages-npm-production"}},"2.29.2-e06b1be-202604291804.0":{"name":"@flowfuse/nr-launcher","version":"2.29.2-e06b1be-202604291804.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.29.2-e06b1be-202604291804.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"d099bcfeba5cb4084af5b76952f6937230468672","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.29.2-e06b1be-202604291804.0.tgz","fileCount":44,"integrity":"sha512-MH3ojJzlrMqC6EpkViz0tbqd+A0D6aqHSxSDJHVjpg1zEHRfJfxdnPatqBPoo5VRFsvRV/rwsbf/sWMKNBVHDw==","signatures":[{"sig":"MEQCIHWVPjGmMCaY7Tfg4ay0vh3Vw+caaOcl6j5FGsl/J7bbAiB+VBAp22iqwQZUn0BpURAYWDYlmtGbJsziV1rBW8R8Kg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":628612},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"e06b1bec10791d6f0f6c44351b1b20a04274c04e","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.11.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.12.1-99150ee-202604291801.0","@flowfuse/nr-file-nodes":"0.0.11-52bfb66-202604291803.0","@flowfuse/nr-mqtt-nodes":"0.3.1-a91e4f6-202604291803.0","@flowfuse/nr-tables-nodes":"0.2.3-606399d-202603261058.0","@flowfuse/nr-project-nodes":"0.7.9-19954d8-202604201619.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.29.2-e06b1be-202604291804.0_1777485860780_0.09688097345274249","host":"s3://npm-registry-packages-npm-production"}},"2.29.2-e06b1be-202604291805.0":{"name":"@flowfuse/nr-launcher","version":"2.29.2-e06b1be-202604291805.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.29.2-e06b1be-202604291805.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"4e6a290e124e90ae8b0c2d0fb3fbadd5f3f3a753","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.29.2-e06b1be-202604291805.0.tgz","fileCount":44,"integrity":"sha512-yOq0SRJjnwuLZwgrv35YS6pz+kxH8+rfk2WIAS3L5PpRVQqc39hn0NXkjOcmu61k8x0PN4dRniol1jtF5fKOmA==","signatures":[{"sig":"MEUCIEYb9pLCWRUl/RPP2KFRCNQLAQgb2tl4p9UreFg1BD8sAiEA1tYOdH8G2KoXVqAPgHzuJQBdxKR7OeEuwqDA4NUHl2E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":628612},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"e06b1bec10791d6f0f6c44351b1b20a04274c04e","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.11.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.12.1-99150ee-202604291801.0","@flowfuse/nr-file-nodes":"0.0.11-52bfb66-202604291803.0","@flowfuse/nr-mqtt-nodes":"0.3.1-a91e4f6-202604291803.0","@flowfuse/nr-tables-nodes":"0.2.3-606399d-202603261058.0","@flowfuse/nr-project-nodes":"0.7.9-5eb796b-202604291804.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.29.2-e06b1be-202604291805.0_1777485917466_0.06631856228207678","host":"s3://npm-registry-packages-npm-production"}},"2.29.2-e06b1be-202604300824.0":{"name":"@flowfuse/nr-launcher","version":"2.29.2-e06b1be-202604300824.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.29.2-e06b1be-202604300824.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"992eed05c219c9f42bff91d68038f0298ffc2667","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.29.2-e06b1be-202604300824.0.tgz","fileCount":44,"integrity":"sha512-rvzqhgFT05Pm5PcyNadv6SrJ/XctmeKQ2j2xBbCkMe0v7hwzZXFlHaU0+mgNuDfXLExA2W00pBGTHIiOWZZgUw==","signatures":[{"sig":"MEUCIQCe67UU9b90u+MQXI8SfLklt/Ow+E4HerUAwjQAlYcHkgIgTnEaEFBvWce928rQSuQtiFHi/eUagwEBoryajgAzt4s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":628612},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"e06b1bec10791d6f0f6c44351b1b20a04274c04e","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.11.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.12.1-fc1de97-202604300823.0","@flowfuse/nr-file-nodes":"0.0.11-52bfb66-202604291803.0","@flowfuse/nr-mqtt-nodes":"0.3.1-a91e4f6-202604291803.0","@flowfuse/nr-tables-nodes":"0.2.3-606399d-202603261058.0","@flowfuse/nr-project-nodes":"0.7.9-5eb796b-202604291804.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.29.2-e06b1be-202604300824.0_1777537507476_0.1772919261581718","host":"s3://npm-registry-packages-npm-production"}},"2.29.2-e06b1be-202604300847.0":{"name":"@flowfuse/nr-launcher","version":"2.29.2-e06b1be-202604300847.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.29.2-e06b1be-202604300847.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"08160a434b4c03c6c3ddedd5a2bcb0e47aef125c","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.29.2-e06b1be-202604300847.0.tgz","fileCount":44,"integrity":"sha512-q0uGqpap01h3VcrakAcLq3LqcTIP1IeF0DAEIBcXZRcRlV0kHwucgOwvsPiGQ3YX1y083Xln+BT9/HKZ/1QwTA==","signatures":[{"sig":"MEYCIQCOGjpUVVB+2v4TXXxetoHe2/eodxQ6j6zh3JW6zy0CigIhAJtInIdkAuIpqsm+tjsuSgx/xkDyjcT1v5cRP+3H7lmM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":628612},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"e06b1bec10791d6f0f6c44351b1b20a04274c04e","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.11.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.12.1-5010176-202604300846.0","@flowfuse/nr-file-nodes":"0.0.11-52bfb66-202604291803.0","@flowfuse/nr-mqtt-nodes":"0.3.1-a91e4f6-202604291803.0","@flowfuse/nr-tables-nodes":"0.2.3-606399d-202603261058.0","@flowfuse/nr-project-nodes":"0.7.9-5eb796b-202604291804.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.29.2-e06b1be-202604300847.0_1777538839340_0.7289492534204114","host":"s3://npm-registry-packages-npm-production"}},"2.29.2-aea7c7e-202604300858.0":{"name":"@flowfuse/nr-launcher","version":"2.29.2-aea7c7e-202604300858.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.29.2-aea7c7e-202604300858.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"327735ac046cbcef416764818d937773083ce15e","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.29.2-aea7c7e-202604300858.0.tgz","fileCount":44,"integrity":"sha512-juLBqEZROvfyKffqe7hAXtfOcpd4hfITRVM6SyktMywByRFsnGvTuF+e5+TmPh+5Sl6ngB5DbJ2AcqN1vn2Z6w==","signatures":[{"sig":"MEUCIDMnnbwkQUWZtSnMR83FVil6jAodJ+IZDGblN3EGe1OEAiEAtvqTUvcvSismNc70V0OgTVJDjiaFv3ygtt8B//n376I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":628612},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"aea7c7e5460afe1e5ed24d9f0a959b6d128edd95","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.11.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.12.1-5010176-202604300846.0","@flowfuse/nr-file-nodes":"0.0.11-52bfb66-202604291803.0","@flowfuse/nr-mqtt-nodes":"0.3.1-a91e4f6-202604291803.0","@flowfuse/nr-tables-nodes":"0.2.3-606399d-202603261058.0","@flowfuse/nr-project-nodes":"0.7.9-5eb796b-202604291804.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.29.2-aea7c7e-202604300858.0_1777539516895_0.9792028461317586","host":"s3://npm-registry-packages-npm-production"}},"2.29.2-aea7c7e-202604300859.0":{"name":"@flowfuse/nr-launcher","version":"2.29.2-aea7c7e-202604300859.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.29.2-aea7c7e-202604300859.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"2b4cfd7269d3c3a6442d77176c389ca6daeb914c","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.29.2-aea7c7e-202604300859.0.tgz","fileCount":44,"integrity":"sha512-wIZq2horsI2lmowKXtOvdOM3lC9MKG62228JHjVgSmQP4pTCsWX/vjE5oEURP27byfDiPlb7mBOQyd36KacrIw==","signatures":[{"sig":"MEUCIQCvGuUXyRV5wz6mKgpvq+asWHz1FhpYwoVH2RQsTDpr1AIgBmrCN/bQpn2YUHKpL7h/TnXf91uv8uL0c0VCNSZCoXY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":628612},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"aea7c7e5460afe1e5ed24d9f0a959b6d128edd95","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.11.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.12.1-5010176-202604300846.0","@flowfuse/nr-file-nodes":"0.0.11-bec017e-202604300858.0","@flowfuse/nr-mqtt-nodes":"0.3.1-a91e4f6-202604291803.0","@flowfuse/nr-tables-nodes":"0.2.3-606399d-202603261058.0","@flowfuse/nr-project-nodes":"0.7.9-5eb796b-202604291804.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.29.2-aea7c7e-202604300859.0_1777539581288_0.012727921748617366","host":"s3://npm-registry-packages-npm-production"}},"2.29.2-aea7c7e-202604301557.0":{"name":"@flowfuse/nr-launcher","version":"2.29.2-aea7c7e-202604301557.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.29.2-aea7c7e-202604301557.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"75288a85f4995404d2d1a32983cbcb51b9dcbdef","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.29.2-aea7c7e-202604301557.0.tgz","fileCount":44,"integrity":"sha512-1Q8M+UyKKOhBUOTcMq4tt0NQaKm3dH4AeeNg1PGUR/1WAw7WKeTJt7VhgPdS69jaYYFqa7MUKvh6ztATl5AGfw==","signatures":[{"sig":"MEYCIQDGrHqK0jCEpVA7cF8MqZMVjuykxqVNhbGvdt8x3EviUwIhAJwphRCV0gJhcVtDp5Rd24sxH5mgC4fQRh0ITWE4euZQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":628612},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"aea7c7e5460afe1e5ed24d9f0a959b6d128edd95","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.11.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.12.1-b449561-202604301556.0","@flowfuse/nr-file-nodes":"0.0.11-bec017e-202604300858.0","@flowfuse/nr-mqtt-nodes":"0.3.1-a91e4f6-202604291803.0","@flowfuse/nr-tables-nodes":"0.2.3-606399d-202603261058.0","@flowfuse/nr-project-nodes":"0.7.9-5eb796b-202604291804.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.29.2-aea7c7e-202604301557.0_1777564665644_0.39414407883621316","host":"s3://npm-registry-packages-npm-production"}},"2.29.2-7f1c187-202604302042.0":{"name":"@flowfuse/nr-launcher","version":"2.29.2-7f1c187-202604302042.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.29.2-7f1c187-202604302042.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"3837dfefa4642c782cb82eb2dcf91c0da9557ee1","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.29.2-7f1c187-202604302042.0.tgz","fileCount":44,"integrity":"sha512-cdLm2U1lOGXQgGJbWim9FCJi1AbTZbhwoevM58XWtQdlX5Y/TYv3brmWbm+Uf/zS0HHWgcmreEnNTygxQUwrEg==","signatures":[{"sig":"MEQCIHlXSzsqibnKgc8Ed6FF7q100q9hj7ChXBoyOuDq6jaXAiAcepzCWorhbSya0yvnaINIlzODxi6xB4+PQBtv0158mg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":628612},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"7f1c187895cfea108863a5d8233f5da4679e7b3d","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.11.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.12.1-b449561-202604301556.0","@flowfuse/nr-file-nodes":"0.0.11-903ce6e-202604302041.0","@flowfuse/nr-mqtt-nodes":"0.3.1-6aa4070-202604302040.0","@flowfuse/nr-tables-nodes":"0.2.3-85c94cc-202604302040.0","@flowfuse/nr-project-nodes":"0.7.9-27d4ff8-202604302040.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.29.2-7f1c187-202604302042.0_1777581762157_0.6936228228248882","host":"s3://npm-registry-packages-npm-production"}},"2.29.2-7f1c187-202605051243.0":{"name":"@flowfuse/nr-launcher","version":"2.29.2-7f1c187-202605051243.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.29.2-7f1c187-202605051243.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"ba4dae07d11a860a202b2e2bfe0c2f9f1a0d7cc2","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.29.2-7f1c187-202605051243.0.tgz","fileCount":44,"integrity":"sha512-aUEV5XXFZPiYXqmVAmcUD4aW9/+qc79x7yMxBmMaK0fggX5vIYEW+PSrTBdebGrFAVDhYVYEsZz40Hct5fY3/A==","signatures":[{"sig":"MEQCICJclyZwNspwUErJv+tYs6cH2P94l/GlKj6Gc9C5wczpAiBsr3nBjgLpZUcyVqRd6QzQTYQUwGQro+21lAGv4TvxoA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":628612},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"7f1c187895cfea108863a5d8233f5da4679e7b3d","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.11.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.12.1-9de0cf9-202605051242.0","@flowfuse/nr-file-nodes":"0.0.11-903ce6e-202604302041.0","@flowfuse/nr-mqtt-nodes":"0.3.1-6aa4070-202604302040.0","@flowfuse/nr-tables-nodes":"0.2.3-85c94cc-202604302040.0","@flowfuse/nr-project-nodes":"0.7.9-27d4ff8-202604302040.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.29.2-7f1c187-202605051243.0_1777984994272_0.6038801123752677","host":"s3://npm-registry-packages-npm-production"}},"2.29.2-7f1c187-202605051251.0":{"name":"@flowfuse/nr-launcher","version":"2.29.2-7f1c187-202605051251.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.29.2-7f1c187-202605051251.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"5672627940222f0ce6f326adb5f417140370c590","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.29.2-7f1c187-202605051251.0.tgz","fileCount":44,"integrity":"sha512-cRvlUV8b+o+az54vDQ1YI1+mzMRFugnbON6FZ683b+Bxrm0ENtdD/mZGV9KwcCToe9F7BD5FEcrbqg2YBFYuqg==","signatures":[{"sig":"MEUCIQCqD0d9Ncce48UcsjqviBjdT0F0fCjTyR6pUHrRSvnQMgIgMpMUEVCywg5XKOGzCRowGd5KosrqC9LqRiND1tuecAE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":628612},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"7f1c187895cfea108863a5d8233f5da4679e7b3d","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.11.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.12.1-aafc81a-202605051250.0","@flowfuse/nr-file-nodes":"0.0.11-903ce6e-202604302041.0","@flowfuse/nr-mqtt-nodes":"0.3.1-6aa4070-202604302040.0","@flowfuse/nr-tables-nodes":"0.2.3-85c94cc-202604302040.0","@flowfuse/nr-project-nodes":"0.7.9-27d4ff8-202604302040.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.29.2-7f1c187-202605051251.0_1777985480119_0.643804744475549","host":"s3://npm-registry-packages-npm-production"}},"2.29.2-7f1c187-202605051302.0":{"name":"@flowfuse/nr-launcher","version":"2.29.2-7f1c187-202605051302.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.29.2-7f1c187-202605051302.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"fb702866b43e036947a41cea610440fb45b47453","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.29.2-7f1c187-202605051302.0.tgz","fileCount":44,"integrity":"sha512-LPx4Z91bMAQhnDnSpF1f0tGqT0P+Tjw1IiQqRL+NaAOq18jmWii0gznJpDB7UDSuw4ykGcxMkX4Py5qO1XawnQ==","signatures":[{"sig":"MEQCIBWLAcarVsGluDaIepc8fpEPQ7JzJxk+HxWOBODxTbVNAiBWT7pWfak19T+YmF01L7YxCnStrLXZzqOsWObKS8b2Hg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":628612},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"7f1c187895cfea108863a5d8233f5da4679e7b3d","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.11.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.12.1-5e62b6c-202605051301.0","@flowfuse/nr-file-nodes":"0.0.11-903ce6e-202604302041.0","@flowfuse/nr-mqtt-nodes":"0.3.1-6aa4070-202604302040.0","@flowfuse/nr-tables-nodes":"0.2.3-85c94cc-202604302040.0","@flowfuse/nr-project-nodes":"0.7.9-27d4ff8-202604302040.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.29.2-7f1c187-202605051302.0_1777986169459_0.9252360327441242","host":"s3://npm-registry-packages-npm-production"}},"2.29.2-7f1c187-202605051412.0":{"name":"@flowfuse/nr-launcher","version":"2.29.2-7f1c187-202605051412.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.29.2-7f1c187-202605051412.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"7c0c8f239f9f2178e4a57809303948113296a6dc","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.29.2-7f1c187-202605051412.0.tgz","fileCount":44,"integrity":"sha512-AeJZe+tSXwM3kaRn8iD9ZoeiQcGfWCy/COoM8PmuURGveniUdnBGe6cqXGnCLItrSiWkKMzhubn5dZIw2bgpHg==","signatures":[{"sig":"MEUCIGQeQt56lfhqZrb+qBhosmikbwuPbUpJsnkNHPuVEfQLAiEA3ae0G3aZGZDqESr2DkK5Wb8tuHBRrYaJuiL23daVkjQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":628612},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"7f1c187895cfea108863a5d8233f5da4679e7b3d","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.11.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.12.1-bbec5ec-202605051411.0","@flowfuse/nr-file-nodes":"0.0.11-903ce6e-202604302041.0","@flowfuse/nr-mqtt-nodes":"0.3.1-6aa4070-202604302040.0","@flowfuse/nr-tables-nodes":"0.2.3-85c94cc-202604302040.0","@flowfuse/nr-project-nodes":"0.7.9-27d4ff8-202604302040.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.29.2-7f1c187-202605051412.0_1777990364515_0.48475919726979333","host":"s3://npm-registry-packages-npm-production"}},"2.29.2-7f1c187-202605051437.0":{"name":"@flowfuse/nr-launcher","version":"2.29.2-7f1c187-202605051437.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.29.2-7f1c187-202605051437.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"c1699e1e1841b2e6317bf5654949093a273a2d13","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.29.2-7f1c187-202605051437.0.tgz","fileCount":44,"integrity":"sha512-AL7ad1anh5kW9N9Krxndt59TT3ADu2wmCT7BL0gH1MxpcLnlnBVAd8zUsIqzPtm/4bPRnisecd+yIjbSlPtCig==","signatures":[{"sig":"MEUCIQCOT8v5rOcv33NcQ81M6pfUqhSKekq1FH+mOpafBDwy0AIgBEuBJny+cDI1M5J4SVIFn59ygwvcVt9sP+kJ8xUAzNo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":628612},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"7f1c187895cfea108863a5d8233f5da4679e7b3d","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.11.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.12.1-e0a8c45-202605051436.0","@flowfuse/nr-file-nodes":"0.0.11-903ce6e-202604302041.0","@flowfuse/nr-mqtt-nodes":"0.3.1-6aa4070-202604302040.0","@flowfuse/nr-tables-nodes":"0.2.3-85c94cc-202604302040.0","@flowfuse/nr-project-nodes":"0.7.9-27d4ff8-202604302040.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.29.2-7f1c187-202605051437.0_1777991879505_0.48661073221614304","host":"s3://npm-registry-packages-npm-production"}},"2.29.2-7f1c187-202605051451.0":{"name":"@flowfuse/nr-launcher","version":"2.29.2-7f1c187-202605051451.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.29.2-7f1c187-202605051451.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"a12dafc442d4a3fc237cd294cce4a8c92a8ec498","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.29.2-7f1c187-202605051451.0.tgz","fileCount":44,"integrity":"sha512-lnLhBu1O+YAemMvl+xRyolAfePdiUIdlYzfqfgwABZ57hzLPMcR+GiVqNZRe/2qKSKAhzQiK2JG3smOAYtX8bA==","signatures":[{"sig":"MEQCIGUDcN1gBTFuHhRgen1wjChYOzy7VMDklkKRudh2lamoAiAzMn2mvWxockFlQtxBWv8qKkoZJ4Qf0Vrhu8qET0Q/UQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":628612},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"7f1c187895cfea108863a5d8233f5da4679e7b3d","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.11.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.12.1-d7d6b8c-202605051450.0","@flowfuse/nr-file-nodes":"0.0.11-903ce6e-202604302041.0","@flowfuse/nr-mqtt-nodes":"0.3.1-6aa4070-202604302040.0","@flowfuse/nr-tables-nodes":"0.2.3-85c94cc-202604302040.0","@flowfuse/nr-project-nodes":"0.7.9-27d4ff8-202604302040.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.29.2-7f1c187-202605051451.0_1777992686011_0.03241101552273218","host":"s3://npm-registry-packages-npm-production"}},"2.29.2-7f1c187-202605051831.0":{"name":"@flowfuse/nr-launcher","version":"2.29.2-7f1c187-202605051831.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.29.2-7f1c187-202605051831.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"d94a246a6b380723eee301042a2e152d27161b26","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.29.2-7f1c187-202605051831.0.tgz","fileCount":44,"integrity":"sha512-/QtD9i9dYXAEHkgRnDRWF+HNT3AyMFHh0rQS8D2biYzXyv7JusHwRkP8rp06ZtCr4zaUm/TlCzweY+Jej+xqlA==","signatures":[{"sig":"MEYCIQDAiMEdg0rWsJlQyKbyhlYO2l8Eufw4SqIT8wNsJurMBgIhAJ6vLJli8qvyh78xv+Lvun4CKfctEbvTVm7gjIw1bb1n","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":628611},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"7f1c187895cfea108863a5d8233f5da4679e7b3d","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.11.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.13.1-5bd5b13-202605051831.0","@flowfuse/nr-file-nodes":"0.0.11-903ce6e-202604302041.0","@flowfuse/nr-mqtt-nodes":"0.3.1-6aa4070-202604302040.0","@flowfuse/nr-tables-nodes":"0.2.3-85c94cc-202604302040.0","@flowfuse/nr-project-nodes":"0.7.9-27d4ff8-202604302040.0","@flowfuse/nr-subflow-export":"1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.29.2-7f1c187-202605051831.0_1778005914813_0.3560273274033119","host":"s3://npm-registry-packages-npm-production"}},"2.29.2-7f1c187-202605061343.0":{"name":"@flowfuse/nr-launcher","version":"2.29.2-7f1c187-202605061343.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.29.2-7f1c187-202605061343.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"5428c7592aad8b2922a0d17cff19db9806fbc627","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.29.2-7f1c187-202605061343.0.tgz","fileCount":44,"integrity":"sha512-5bieC1KYrDrNVCXMyV0s4grb3d1ghI65ESWCaOdfY3Z3IF7H13SjnpvBieizB61drKyuoXqIFvINYR5NbzYTiQ==","signatures":[{"sig":"MEYCIQDn0yxV4ODEbkbynVzV5ZePr4sXqS5JpMfJaH6eGkqUyAIhAJfd/v66b0y5Iw9Z+IVwnE4uhWItQlt9ep/x9YmEgCfR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":628612},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"7f1c187895cfea108863a5d8233f5da4679e7b3d","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.11.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.12.1-3db25b2-202605061342.0","@flowfuse/nr-file-nodes":"0.0.11-903ce6e-202604302041.0","@flowfuse/nr-mqtt-nodes":"0.3.1-6aa4070-202604302040.0","@flowfuse/nr-tables-nodes":"0.2.3-85c94cc-202604302040.0","@flowfuse/nr-project-nodes":"0.7.9-27d4ff8-202604302040.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.29.2-7f1c187-202605061343.0_1778075003543_0.6674129983742005","host":"s3://npm-registry-packages-npm-production"}},"2.29.2-7f1c187-202605061404.0":{"name":"@flowfuse/nr-launcher","version":"2.29.2-7f1c187-202605061404.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.29.2-7f1c187-202605061404.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"d3dccd1860094ec411422ac90058336b08f8bbd8","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.29.2-7f1c187-202605061404.0.tgz","fileCount":44,"integrity":"sha512-UrC0VNY9oERpaKm1c5AEovjrOsVW/kxeLOHslh+ZuSIiHvZKY84YMqfnlN8Daej/T9IBQmUab2iuLfdvd3uG3A==","signatures":[{"sig":"MEYCIQCwt09GrUIdm3wlDSinqUaoKWRx1w2U8bKilznfMb1HKAIhAN5M4tItdWXLAAaWnIGfmComWs3vuzX3Cz8euvNDDtTU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":628612},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"7f1c187895cfea108863a5d8233f5da4679e7b3d","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.11.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.13.1-15da0cf-202605061403.0","@flowfuse/nr-file-nodes":"0.0.11-903ce6e-202604302041.0","@flowfuse/nr-mqtt-nodes":"0.3.1-6aa4070-202604302040.0","@flowfuse/nr-tables-nodes":"0.2.3-85c94cc-202604302040.0","@flowfuse/nr-project-nodes":"0.7.9-27d4ff8-202604302040.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.29.2-7f1c187-202605061404.0_1778076274577_0.41840218214599334","host":"s3://npm-registry-packages-npm-production"}},"2.29.2-936f44d-202605061617.0":{"name":"@flowfuse/nr-launcher","version":"2.29.2-936f44d-202605061617.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.29.2-936f44d-202605061617.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"519133e290db74126b26fccab99a1bc2bfbfa625","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.29.2-936f44d-202605061617.0.tgz","fileCount":47,"integrity":"sha512-2dMty2d7XV3MiBNoGd8S0dLeJFTfPRYbFolf+6GC2jkVFSeycyUv2ia2eP7DFBSszJBvERC5lU8PWDmgohL1xw==","signatures":[{"sig":"MEUCIHGYZ3C102wDxo+Ocytfra11UrGMIKSBp6deCiXGXND0AiEA9NLNsV4637609jH0+41OPn63PJHmxTc3Ld6MaWLKr5I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":641186},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"936f44dbb496ef594ed592ccd7ec48c6208cd0aa","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.11.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.13.1-15da0cf-202605061403.0","@flowfuse/nr-file-nodes":"0.0.11-903ce6e-202604302041.0","@flowfuse/nr-mqtt-nodes":"0.3.1-6aa4070-202604302040.0","@flowfuse/nr-tables-nodes":"0.2.3-85c94cc-202604302040.0","@flowfuse/nr-project-nodes":"0.7.9-27d4ff8-202604302040.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.29.2-936f44d-202605061617.0_1778084278600_0.5626022502437502","host":"s3://npm-registry-packages-npm-production"}},"2.29.2-936f44d-202605070539.0":{"name":"@flowfuse/nr-launcher","version":"2.29.2-936f44d-202605070539.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.29.2-936f44d-202605070539.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"27dff37c9b50faf6150c8a6ba07fbd44381ca6b8","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.29.2-936f44d-202605070539.0.tgz","fileCount":47,"integrity":"sha512-azApqtxpW5U/6ENQfl5sT1dA1r+8D2mAGwnljlh9jJb0SRbKLUgb/1sF5EculPVxi6waeuBKqvQVhaLXxlOZ0g==","signatures":[{"sig":"MEUCIAoWtnuzrgcg3ozlnv/LHBhNUiDtwrriutWCNnT4meOjAiEAohFFfs3HTzI4ICJ8s+lFdbj0KtNBmv5c3qzR5eBEEko=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":641186},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"936f44dbb496ef594ed592ccd7ec48c6208cd0aa","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.11.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.13.1-4104934-202605070538.0","@flowfuse/nr-file-nodes":"0.0.11-903ce6e-202604302041.0","@flowfuse/nr-mqtt-nodes":"0.3.1-6aa4070-202604302040.0","@flowfuse/nr-tables-nodes":"0.2.3-85c94cc-202604302040.0","@flowfuse/nr-project-nodes":"0.7.9-27d4ff8-202604302040.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.29.2-936f44d-202605070539.0_1778132367197_0.4162366110197704","host":"s3://npm-registry-packages-npm-production"}},"2.29.2-936f44d-202605070845.0":{"name":"@flowfuse/nr-launcher","version":"2.29.2-936f44d-202605070845.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.29.2-936f44d-202605070845.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"85c6657c39515144cdab3afdbb9bb48d2e6921fb","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.29.2-936f44d-202605070845.0.tgz","fileCount":47,"integrity":"sha512-7FGmvZciKOM7YrPf9VlPpuTk/lEKPsxPauX1YecytK4eZC3hkVtdedxyxYZ8gHDaqn/6ovM7Ffky0mjoQqlw5Q==","signatures":[{"sig":"MEYCIQCjSQCJgEFMA+0e16dIWrHzg59VusK7Dv+n9CF/YpBZrgIhAO4AfNxKcfDu5Xyq7f31TejRUHVzWVuhAy9P5c4/G+2i","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":641186},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"936f44dbb496ef594ed592ccd7ec48c6208cd0aa","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.11.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.13.1-710a215-202605070844.0","@flowfuse/nr-file-nodes":"0.0.11-903ce6e-202604302041.0","@flowfuse/nr-mqtt-nodes":"0.3.1-6aa4070-202604302040.0","@flowfuse/nr-tables-nodes":"0.2.3-85c94cc-202604302040.0","@flowfuse/nr-project-nodes":"0.7.9-27d4ff8-202604302040.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.29.2-936f44d-202605070845.0_1778143551909_0.22808048420894478","host":"s3://npm-registry-packages-npm-production"}},"2.29.2-936f44d-202605070849.0":{"name":"@flowfuse/nr-launcher","version":"2.29.2-936f44d-202605070849.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.29.2-936f44d-202605070849.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"bfea7dcb668378513327c213f33f89cd779c294f","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.29.2-936f44d-202605070849.0.tgz","fileCount":47,"integrity":"sha512-4neRBCkkZD49d1W5xCxI1NlEREWgsGO2t73g1eq5hBU4xHua3wNDaphv3GwSBGYP+3fOZCcTmqnJMVGDxmzyfQ==","signatures":[{"sig":"MEQCIGGwJdcef/VRQ9dWF0T/MujBWIxzlif8mms5Urbp6nVZAiAfbPFP3pK/1nwZ8ByNoVjrPx1idXMFp6yiWH+biSQEZw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":641186},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"936f44dbb496ef594ed592ccd7ec48c6208cd0aa","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.11.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.13.1-f4df430-202605070848.0","@flowfuse/nr-file-nodes":"0.0.11-903ce6e-202604302041.0","@flowfuse/nr-mqtt-nodes":"0.3.1-6aa4070-202604302040.0","@flowfuse/nr-tables-nodes":"0.2.3-85c94cc-202604302040.0","@flowfuse/nr-project-nodes":"0.7.9-27d4ff8-202604302040.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.29.2-936f44d-202605070849.0_1778143768508_0.7939850498217527","host":"s3://npm-registry-packages-npm-production"}},"2.29.2-936f44d-202605070853.0":{"name":"@flowfuse/nr-launcher","version":"2.29.2-936f44d-202605070853.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.29.2-936f44d-202605070853.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"8c66c8707852b0ff2c584f6738b5ff31f86d7f0c","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.29.2-936f44d-202605070853.0.tgz","fileCount":47,"integrity":"sha512-6yPqk0SaBffk1enfRp1usJ5S/KiWRF9HxLt2fYeGyRb/Qd48lX4NhduMmRo1vSJ8YTacK78HIJSg4WVecNIo3w==","signatures":[{"sig":"MEQCIBSPde/B0JD42loo5r3zXWpbAMWHM1QFMWngfbreSVKsAiAgxg+Wv9yIrD1Qgc7XR1Cb6/fZE2rVBOBzfN3NEaahmw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":641186},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"936f44dbb496ef594ed592ccd7ec48c6208cd0aa","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.11.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.13.1-e61df55-202605070852.0","@flowfuse/nr-file-nodes":"0.0.11-903ce6e-202604302041.0","@flowfuse/nr-mqtt-nodes":"0.3.1-6aa4070-202604302040.0","@flowfuse/nr-tables-nodes":"0.2.3-85c94cc-202604302040.0","@flowfuse/nr-project-nodes":"0.7.9-27d4ff8-202604302040.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.29.2-936f44d-202605070853.0_1778144034336_0.07093956395758005","host":"s3://npm-registry-packages-npm-production"}},"2.29.2-936f44d-202605070856.0":{"name":"@flowfuse/nr-launcher","version":"2.29.2-936f44d-202605070856.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.29.2-936f44d-202605070856.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"31dc33636dfa6ea354e3fb5c11ab61241a64a945","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.29.2-936f44d-202605070856.0.tgz","fileCount":47,"integrity":"sha512-uR1LoA557uqMyo2okjis/z5wCtTU7RDpVSbTRpcFsr5V0pkNup0GlFDZ36RUtraSoRZiLgXc8RGzsbMB9gaONw==","signatures":[{"sig":"MEYCIQCEawT6R6DyLME91Xdw0jgzoI47/TOZhfeGdv5eQFXyJQIhAK1d7SJ41tgt3EvKafUF2JTMeqjcUbr1ovXiZa/abBVR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":641186},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"936f44dbb496ef594ed592ccd7ec48c6208cd0aa","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.11.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.13.1-e61df55-202605070852.0","@flowfuse/nr-file-nodes":"0.0.11-903ce6e-202604302041.0","@flowfuse/nr-mqtt-nodes":"0.3.1-6aa4070-202604302040.0","@flowfuse/nr-tables-nodes":"0.2.3-85c94cc-202604302040.0","@flowfuse/nr-project-nodes":"0.7.9-7fc20ce-202605070855.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.29.2-936f44d-202605070856.0_1778144200003_0.2226167079535366","host":"s3://npm-registry-packages-npm-production"}},"2.29.2-a419693-202605070857.0":{"name":"@flowfuse/nr-launcher","version":"2.29.2-a419693-202605070857.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.29.2-a419693-202605070857.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"2ed9fb790aeadcc22a50d6ec064932cf2ab50e64","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.29.2-a419693-202605070857.0.tgz","fileCount":47,"integrity":"sha512-eVqrbKc2kBFH+CFetvl1dnBS738qhKJfkZNa650R/MC8GGXPGYq6JCncemerS3g8FXy+6z1t1bDlmLn1g2BlrQ==","signatures":[{"sig":"MEUCIHR9HwBgaRCMj01MVorGb+2NY76P1reI8rSOemAdcZGqAiEAy19GZjWGKFyn1o1FT2+BVJ22Pr7AASR+s5Y4Oe4OiN4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":641186},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"a419693a6b8b4118ce2ae9c8d0da1a17cbb49ea1","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.11.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.13.1-e61df55-202605070852.0","@flowfuse/nr-file-nodes":"0.0.11-903ce6e-202604302041.0","@flowfuse/nr-mqtt-nodes":"0.3.1-6aa4070-202604302040.0","@flowfuse/nr-tables-nodes":"0.2.3-85c94cc-202604302040.0","@flowfuse/nr-project-nodes":"0.7.9-7fc20ce-202605070855.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.29.2-a419693-202605070857.0_1778144249233_0.7338337572181011","host":"s3://npm-registry-packages-npm-production"}},"2.29.2-a419693-202605070859.0":{"name":"@flowfuse/nr-launcher","version":"2.29.2-a419693-202605070859.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.29.2-a419693-202605070859.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"81b0e7e3eb78bb4821ba3c4ce206fbdfdf3b3ac0","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.29.2-a419693-202605070859.0.tgz","fileCount":47,"integrity":"sha512-HZql+m8u8nd+EvEqJ3OWGId6J7PEl7ls3ljHRT5mPUR63KUkXqX/efIiQyi+ONd+hiAuFikmByRjUlNR3Le/FQ==","signatures":[{"sig":"MEUCIC7VM0WxQN/VYJbwHy7qLxIh5qgvNm4KMjv08kaFIvwVAiEA2Yjrjqr5kpUr0hRolQSf897AXyB01LCXJO4mmhKV4f0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":641186},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"a419693a6b8b4118ce2ae9c8d0da1a17cbb49ea1","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.11.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.13.1-e61df55-202605070852.0","@flowfuse/nr-file-nodes":"0.0.11-903ce6e-202604302041.0","@flowfuse/nr-mqtt-nodes":"0.3.1-6aa4070-202604302040.0","@flowfuse/nr-tables-nodes":"0.2.3-85c94cc-202604302040.0","@flowfuse/nr-project-nodes":"0.7.9-011c4ca-202605070858.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.29.2-a419693-202605070859.0_1778144395901_0.5600230448893866","host":"s3://npm-registry-packages-npm-production"}},"2.29.2-f8c6ca9-202605070900.0":{"name":"@flowfuse/nr-launcher","version":"2.29.2-f8c6ca9-202605070900.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.29.2-f8c6ca9-202605070900.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"0736f8525718f010c489a1cce89186763e49b2a4","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.29.2-f8c6ca9-202605070900.0.tgz","fileCount":47,"integrity":"sha512-3e69m3IDJeE+RrHQDYeQoEtXS8V2h9xRPbT7/s/oqw/6RLppuDUc+CQu3GSqOlWlDLgiV/vntqfjW2oXH345vQ==","signatures":[{"sig":"MEQCIDXW0fr/TP5iXsBPQ7DcacptjRQ7uFQ5L/nYqnqfEO+EAiBxEGQQGKhuJQpoUEHQFwq+AqCw8rqDywFRCT8T+d3xaw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":641186},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"f8c6ca9466cadff4b3e574ecca57bcd16ff2a997","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.11.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.13.1-e61df55-202605070852.0","@flowfuse/nr-file-nodes":"0.0.11-903ce6e-202604302041.0","@flowfuse/nr-mqtt-nodes":"0.3.1-6aa4070-202604302040.0","@flowfuse/nr-tables-nodes":"0.2.3-85c94cc-202604302040.0","@flowfuse/nr-project-nodes":"0.7.9-011c4ca-202605070858.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.29.2-f8c6ca9-202605070900.0_1778144465149_0.5531104984862147","host":"s3://npm-registry-packages-npm-production"}},"2.29.2-f8c6ca9-202605070902.0":{"name":"@flowfuse/nr-launcher","version":"2.29.2-f8c6ca9-202605070902.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.29.2-f8c6ca9-202605070902.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"0dd93f25f83fcca33c0eab54414761e0ecb6ba89","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.29.2-f8c6ca9-202605070902.0.tgz","fileCount":47,"integrity":"sha512-kyZWI1XK3fRUs4LNqDA+Ci+dVnP8YBO4m3keNo7qUA6VhUlU9qCXXu0ZusCtQEP+rtSw4YFBlVC68/eh1Zpsqw==","signatures":[{"sig":"MEUCIDkbrCrgyBoUqW2vtteKavMYJUKxcglI5BGr5z8fwK06AiEA4NXUi2p2STRwkD1jhJcDsnGGvTVJE5hb+gtwuHe9tmQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":641186},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"f8c6ca9466cadff4b3e574ecca57bcd16ff2a997","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.11.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.13.1-e61df55-202605070852.0","@flowfuse/nr-file-nodes":"0.0.11-598a328-202605070901.0","@flowfuse/nr-mqtt-nodes":"0.3.1-6aa4070-202604302040.0","@flowfuse/nr-tables-nodes":"0.2.3-85c94cc-202604302040.0","@flowfuse/nr-project-nodes":"0.7.9-011c4ca-202605070858.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.29.2-f8c6ca9-202605070902.0_1778144566598_0.8032299720799072","host":"s3://npm-registry-packages-npm-production"}},"2.29.2-f8c6ca9-202605070905.0":{"name":"@flowfuse/nr-launcher","version":"2.29.2-f8c6ca9-202605070905.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.29.2-f8c6ca9-202605070905.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"7f52b8fb099d94b32ac08b460218a3770022f276","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.29.2-f8c6ca9-202605070905.0.tgz","fileCount":47,"integrity":"sha512-7wZ88nG/MWVSLbf1exCcqVe+qUMeRDRmx7KlfK/m+qCPbD3xhyuy0dtc5nHPYs1wKK5jlI9iWu3IUZc2n+WrWQ==","signatures":[{"sig":"MEUCIQDk+u6nr+5R5OFG29aqIQDX9+nuoZLGdRxLzJybLFKdJwIgRpi1BZBRnCtDcr4Wur25QUdaxoynG8gquNG3Ribb9Og=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":641186},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"f8c6ca9466cadff4b3e574ecca57bcd16ff2a997","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.11.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.13.1-e61df55-202605070852.0","@flowfuse/nr-file-nodes":"0.0.11-8c0bc66-202605070904.0","@flowfuse/nr-mqtt-nodes":"0.3.1-6aa4070-202604302040.0","@flowfuse/nr-tables-nodes":"0.2.3-85c94cc-202604302040.0","@flowfuse/nr-project-nodes":"0.7.9-011c4ca-202605070858.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.29.2-f8c6ca9-202605070905.0_1778144714074_0.08909413611843275","host":"s3://npm-registry-packages-npm-production"}},"2.29.2-f8c6ca9-202605071048.0":{"name":"@flowfuse/nr-launcher","version":"2.29.2-f8c6ca9-202605071048.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.29.2-f8c6ca9-202605071048.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"100bfb7337c35451173148a18857098eb339e5b9","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.29.2-f8c6ca9-202605071048.0.tgz","fileCount":47,"integrity":"sha512-IMy0j5B7WoQF6K+7e0xicVGA8gBA6yyCzzcmVqF27BtL7ORUrWtZ9aGYtV5uaawySDWBO3zu11jlcJ2YAZg6/A==","signatures":[{"sig":"MEQCIHlWwPveyVv1ogLF5inKFQXZARcP31y28AzBS5c1q9ZqAiBjLJK9cgGzu9/S4qhULOUKxf8nY8TvYqZ+MfKp0Aafyg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":641186},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"f8c6ca9466cadff4b3e574ecca57bcd16ff2a997","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.11.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.13.1-eabba18-202605071047.0","@flowfuse/nr-file-nodes":"0.0.11-8c0bc66-202605070904.0","@flowfuse/nr-mqtt-nodes":"0.3.1-6aa4070-202604302040.0","@flowfuse/nr-tables-nodes":"0.2.3-85c94cc-202604302040.0","@flowfuse/nr-project-nodes":"0.7.9-011c4ca-202605070858.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.29.2-f8c6ca9-202605071048.0_1778150932048_0.4504553455396343","host":"s3://npm-registry-packages-npm-production"}},"2.29.2-f8c6ca9-202605071054.0":{"name":"@flowfuse/nr-launcher","version":"2.29.2-f8c6ca9-202605071054.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.29.2-f8c6ca9-202605071054.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"be1afa26408f153cf85d78aa0cf4509b85a82fd5","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.29.2-f8c6ca9-202605071054.0.tgz","fileCount":47,"integrity":"sha512-8dWgwuqT8RqXpUj/R1FGERmAYzCKgOgdzq6rjLyXEudiVv1O7Cpz6au/hJAWJ1TdNlUtNG5FAxtjRRuSRzZS3w==","signatures":[{"sig":"MEUCIQDcv2nF2kVOu02/ynCFE5wUx8N5MsVYmQyLddYxYp2B+wIgXK7ez9a8zODm1ltrh14vXQsUXb5yrgwxkvwNGXWjK4c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":641186},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"f8c6ca9466cadff4b3e574ecca57bcd16ff2a997","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.11.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.13.2-e0205dd-202605071053.0","@flowfuse/nr-file-nodes":"0.0.11-8c0bc66-202605070904.0","@flowfuse/nr-mqtt-nodes":"0.3.1-6aa4070-202604302040.0","@flowfuse/nr-tables-nodes":"0.2.3-85c94cc-202604302040.0","@flowfuse/nr-project-nodes":"0.7.9-011c4ca-202605070858.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.29.2-f8c6ca9-202605071054.0_1778151291662_0.8070068768010774","host":"s3://npm-registry-packages-npm-production"}},"2.29.2-f8c6ca9-202605071230.0":{"name":"@flowfuse/nr-launcher","version":"2.29.2-f8c6ca9-202605071230.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.29.2-f8c6ca9-202605071230.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"7428efd6a4e8fbf1b60d80a10dd597fbac431da8","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.29.2-f8c6ca9-202605071230.0.tgz","fileCount":47,"integrity":"sha512-fYztUnB4HgxsYrAcDocnHhs6w7+u76FqVBgCHbM7//zeVehgdDNWe/SVGApGL8MtIzN8DtN4HW1cqoOIJ/jHoA==","signatures":[{"sig":"MEUCIQD+lJjEiUTBtEJufG2ktiiBldeUhC+ilcd1RsaCeO7iuAIgQMevfyy8kbWUuFvFO4I28VkQ6rSx8rjLqZnicXw6ACk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":641186},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"f8c6ca9466cadff4b3e574ecca57bcd16ff2a997","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.11.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.13.2-1b56ab0-202605071229.0","@flowfuse/nr-file-nodes":"0.0.11-8c0bc66-202605070904.0","@flowfuse/nr-mqtt-nodes":"0.3.1-6aa4070-202604302040.0","@flowfuse/nr-tables-nodes":"0.2.3-85c94cc-202604302040.0","@flowfuse/nr-project-nodes":"0.7.9-011c4ca-202605070858.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.29.2-f8c6ca9-202605071230.0_1778157015155_0.33613540264556274","host":"s3://npm-registry-packages-npm-production"}},"2.29.2-f8c6ca9-202605071234.0":{"name":"@flowfuse/nr-launcher","version":"2.29.2-f8c6ca9-202605071234.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.29.2-f8c6ca9-202605071234.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"86eccc9fd0f299da93ba9cbd098ced5a729dabe0","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.29.2-f8c6ca9-202605071234.0.tgz","fileCount":47,"integrity":"sha512-H9w9ZvyMGI2M0zAkQGoJYz/hJN9zBVt1VHBp8FrSEfT04uyWuUBVMz543Yp0GJEJy3y+6i0Onuyqk2GvvmCWAQ==","signatures":[{"sig":"MEUCIHpUmMViynP6t16UkFw1cNtO/kwbJWNJYSn0S1IerpeFAiEA+X0qMszOxNWBZNJKwZlBw1MYzIinovL/5E7rwrARO2g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":641186},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"f8c6ca9466cadff4b3e574ecca57bcd16ff2a997","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.11.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.14.1-d932023-202605071233.0","@flowfuse/nr-file-nodes":"0.0.11-8c0bc66-202605070904.0","@flowfuse/nr-mqtt-nodes":"0.3.1-6aa4070-202604302040.0","@flowfuse/nr-tables-nodes":"0.2.3-85c94cc-202604302040.0","@flowfuse/nr-project-nodes":"0.7.9-011c4ca-202605070858.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.29.2-f8c6ca9-202605071234.0_1778157290366_0.11344566049762106","host":"s3://npm-registry-packages-npm-production"}},"2.29.2-ba0fab4-202605071320.0":{"name":"@flowfuse/nr-launcher","version":"2.29.2-ba0fab4-202605071320.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.29.2-ba0fab4-202605071320.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"4f6b08f0f5d211a5acdc6cbadd1092974bc1b0a3","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.29.2-ba0fab4-202605071320.0.tgz","fileCount":47,"integrity":"sha512-wKoe4skn+wGSDO8KUAUZNaqAPem+7xk6lRl0R7InDY2JcLLLaO6H7hX6l7yLJfGITBML9O6OIt/ss5100ar9Tw==","signatures":[{"sig":"MEUCIQDszJ/T3kufUDX703/BGbRF7W7EDfTdse/yoWVif998kwIgE3lCXaYzKlzXQufK2vhq4YO+W9NZJ5ZEdlIdj7M97Ko=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":641186},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"ba0fab4394808de064ee9e0f0f71f64c4096aae0","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.11.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.14.1-d932023-202605071233.0","@flowfuse/nr-file-nodes":"0.0.11-8c0bc66-202605070904.0","@flowfuse/nr-mqtt-nodes":"0.3.1-6aa4070-202604302040.0","@flowfuse/nr-tables-nodes":"0.2.3-85c94cc-202604302040.0","@flowfuse/nr-project-nodes":"0.7.9-011c4ca-202605070858.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.29.2-ba0fab4-202605071320.0_1778160050097_0.17241642991953143","host":"s3://npm-registry-packages-npm-production"}},"2.30.0":{"name":"@flowfuse/nr-launcher","version":"2.30.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.30.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"dabdae2bf2ba168e7d76a6c9c79320e3732c8af1","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.30.0.tgz","fileCount":47,"integrity":"sha512-ysIi0lZJKl+6+UGPhMMuLbc3loFku95cM+CFMln+hgF24Ya77llSC2bxgWjsNuCYwaSo8H9R72FgdFIKXimVhA==","signatures":[{"sig":"MEUCIQC2T4TTnh43lRratOwT4zMWIVEHF5/wk7VUhemHpohX9QIgMjCymdrIIsKusDzega1h9gkorAF8OP6A4Trf3dMYD3Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":642034},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"0c5d1962d78e7da82b124e5912bc1247a7c39a27","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.11.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"^0.14.0","@flowfuse/nr-file-nodes":"^0.0.10","@flowfuse/nr-mqtt-nodes":"^0.3.0","@flowfuse/nr-tables-nodes":"^0.2.2","@flowfuse/nr-project-nodes":"^0.7.8","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.30.0_1778160433444_0.6440147743646072","host":"s3://npm-registry-packages-npm-production"}},"2.30.1-0c5d196-202605071327.0":{"name":"@flowfuse/nr-launcher","version":"2.30.1-0c5d196-202605071327.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.30.1-0c5d196-202605071327.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"bdd9a03e25a5d4aff0375856acd7e41206328500","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.30.1-0c5d196-202605071327.0.tgz","fileCount":47,"integrity":"sha512-9KgCUwvaz0YOAjN2nG0wYz1iIlYDPSbFAOmAVmRiHgfgcFUqNuYbsJ9YnpvdqkY3wC1p2Q+fL1aZIZt+xeD0eA==","signatures":[{"sig":"MEQCIHfWgxtXk2RhWAEXbEIUnGtp+Qv2gZ1p81yBv5LehyNSAiAGnmDiWoFlQ8KRn+i8e9Db8l3h3XGEUPDJbPJeCkUnGQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":642167},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"0c5d1962d78e7da82b124e5912bc1247a7c39a27","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.11.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.14.1-d932023-202605071233.0","@flowfuse/nr-file-nodes":"0.0.11-8c0bc66-202605070904.0","@flowfuse/nr-mqtt-nodes":"0.3.1-6aa4070-202604302040.0","@flowfuse/nr-tables-nodes":"0.2.3-85c94cc-202604302040.0","@flowfuse/nr-project-nodes":"0.7.9-011c4ca-202605070858.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.30.1-0c5d196-202605071327.0_1778160441222_0.8572404983057729","host":"s3://npm-registry-packages-npm-production"}},"2.30.2-41e98a0-202605081423.0":{"name":"@flowfuse/nr-launcher","version":"2.30.2-41e98a0-202605081423.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.30.2-41e98a0-202605081423.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"865146f0637662fcbbc9f55f183fad6af446aa1f","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.30.2-41e98a0-202605081423.0.tgz","fileCount":47,"integrity":"sha512-X66PIebEDzJFtYDTgqhlFvlY1JjOAOdmdrVRY3dZS0uVAq3s7fKnPI6/vpbj1Lt+kyxHnptnDj1SJrxRrGsCWA==","signatures":[{"sig":"MEUCIQDqBT/24woOuuQ60S93WdfIJslihXXLdBvoEsEGJ35RSQIgJ+N9mYqlGenZs30GTdn4KhlrC/JotBxsnm1wf7r5cxQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":642190},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"41e98a0c771b48535b6a4a57cce83d001b5fb0a2","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.11.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.14.1-d932023-202605071233.0","@flowfuse/nr-file-nodes":"0.0.11-8c0bc66-202605070904.0","@flowfuse/nr-mqtt-nodes":"0.3.1-6aa4070-202604302040.0","@flowfuse/nr-tables-nodes":"0.2.3-85c94cc-202604302040.0","@flowfuse/nr-project-nodes":"0.7.9-011c4ca-202605070858.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.30.2-41e98a0-202605081423.0_1778250193705_0.7804271152697799","host":"s3://npm-registry-packages-npm-production"}},"2.30.1":{"name":"@flowfuse/nr-launcher","version":"2.30.1","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.30.1","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"2529802aa8f44b00209419fe3ed045764aef21e4","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.30.1.tgz","fileCount":47,"integrity":"sha512-IwRcO40ivGfaHeeHfMpbDtO6nIThdjGwYeNEHFT/uzlyMl27/F3ILRiZ9H7H0/Li0rTsIGtKLo6zaqHEdBfycg==","signatures":[{"sig":"MEUCIB4sqWzojcHHJxUXpcvO5u1MRy5WwFVIa98Pue+nwmHBAiEAyJozRmZlfsqsdBl6LgsUG4Szoi3oLTXNhMxyMQCG9VQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":642057},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"41e98a0c771b48535b6a4a57cce83d001b5fb0a2","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.11.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"^0.14.0","@flowfuse/nr-file-nodes":"^0.0.10","@flowfuse/nr-mqtt-nodes":"^0.3.0","@flowfuse/nr-tables-nodes":"^0.2.2","@flowfuse/nr-project-nodes":"^0.7.8","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.30.1_1778250205580_0.5155185873922856","host":"s3://npm-registry-packages-npm-production"}},"2.30.2-41e98a0-202605111556.0":{"name":"@flowfuse/nr-launcher","version":"2.30.2-41e98a0-202605111556.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.30.2-41e98a0-202605111556.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"b4059fb188ea82373a6c8ba528e2fed849dfbd8a","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.30.2-41e98a0-202605111556.0.tgz","fileCount":47,"integrity":"sha512-HN4md+lU76yufPMn47RzLlVyyiinQIGyC1FeuFzAUHRq4UUSDOMRhri9S92Vn+PIQU+vYt3acfxmQwU6Cnf9hQ==","signatures":[{"sig":"MEYCIQCdc1ZDP7P9wZqkjnNqVwcRdT6p+Z1ss+oRXv3bgZH4zwIhAL+SIecMxiWjnQDUcZw2oGtT1v+/0ChVuuf9B0/WZdLo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":642190},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"41e98a0c771b48535b6a4a57cce83d001b5fb0a2","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.11.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.14.1-3766f80-202605111555.0","@flowfuse/nr-file-nodes":"0.0.11-8c0bc66-202605070904.0","@flowfuse/nr-mqtt-nodes":"0.3.1-6aa4070-202604302040.0","@flowfuse/nr-tables-nodes":"0.2.3-85c94cc-202604302040.0","@flowfuse/nr-project-nodes":"0.7.9-011c4ca-202605070858.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.30.2-41e98a0-202605111556.0_1778514983069_0.5885528122883217","host":"s3://npm-registry-packages-npm-production"}},"2.30.2-5fa1ad2-202605111601.0":{"name":"@flowfuse/nr-launcher","version":"2.30.2-5fa1ad2-202605111601.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.30.2-5fa1ad2-202605111601.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"254692f030ab8f5fe6da26139dd0b180487d2255","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.30.2-5fa1ad2-202605111601.0.tgz","fileCount":47,"integrity":"sha512-/tNO7p7Rf/Kj0VSuLiO58YyTvSSOo44Vf9kVaLJgPwP+Ibm8Lg/fmmVASbcBJPC2tqIL9Vpc3DZW8soQ9Wx+2Q==","signatures":[{"sig":"MEUCIAG6MI2MGEACWOl04NZ++QNX9KILTDdh5aOIDolic0D+AiEAlABu9iTpxpXk5ueiibqzAKSkxev6M1CW+AubQH4t5l0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":642190},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"5fa1ad2b6f3cd4a595392e76ee2c67897885cae2","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.11.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.14.1-3766f80-202605111555.0","@flowfuse/nr-file-nodes":"0.0.11-2b78c0f-202605111600.0","@flowfuse/nr-mqtt-nodes":"0.3.1-6aa4070-202604302040.0","@flowfuse/nr-tables-nodes":"0.2.3-85c94cc-202604302040.0","@flowfuse/nr-project-nodes":"0.7.9-011c4ca-202605070858.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.30.2-5fa1ad2-202605111601.0_1778515292845_0.5453048958949349","host":"s3://npm-registry-packages-npm-production"}},"2.30.2-5fa1ad2-202605111602.0":{"name":"@flowfuse/nr-launcher","version":"2.30.2-5fa1ad2-202605111602.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.30.2-5fa1ad2-202605111602.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"440660a1ee749d047f1c9fc099f726c917d770ba","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.30.2-5fa1ad2-202605111602.0.tgz","fileCount":47,"integrity":"sha512-HtnoDYVfVADGsQ+9s66r5jl1kcE+Ecq7pUXYRjuAliukYOxtfxIxYv2ury9uAGbNlCcskuQGWbM/euJsK1gWBw==","signatures":[{"sig":"MEUCIQCZb5JSGxCF91RPRPyIiAdrEb06+JEpv1q9D2xSLtCnGwIgYTyQJt/33roTyPr0q6Ja1w0/G02CVRye7ccD1KakR2k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":642190},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"5fa1ad2b6f3cd4a595392e76ee2c67897885cae2","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.11.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.14.1-3766f80-202605111555.0","@flowfuse/nr-file-nodes":"0.0.11-2b78c0f-202605111600.0","@flowfuse/nr-mqtt-nodes":"0.3.1-6aa4070-202604302040.0","@flowfuse/nr-tables-nodes":"0.2.3-85c94cc-202604302040.0","@flowfuse/nr-project-nodes":"0.7.9-011c4ca-202605070858.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.30.2-5fa1ad2-202605111602.0_1778515332475_0.027966740304391502","host":"s3://npm-registry-packages-npm-production"}},"2.30.2-5fa1ad2-202605111604.0":{"name":"@flowfuse/nr-launcher","version":"2.30.2-5fa1ad2-202605111604.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.30.2-5fa1ad2-202605111604.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"4b91d56a5573a45ff0a0449c383cf48d69e88b28","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.30.2-5fa1ad2-202605111604.0.tgz","fileCount":47,"integrity":"sha512-xFJHMs8mpM3JXOL11XUI/QfLqQDve/8THvJYbnRlFNIKIA5Owet2Z7BzsmRQxZb05EKkJ9Z9b6DoY6139bWXzg==","signatures":[{"sig":"MEUCIEEf+y+s9LEvXCes03BxElT6XezwAIc3QaCs7iiIvNdMAiEA3byqHCuQFKrwXLOo2KGFdSzCSK8XhfuJTL0DKyHBQvI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":642190},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"5fa1ad2b6f3cd4a595392e76ee2c67897885cae2","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.11.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.14.1-3766f80-202605111555.0","@flowfuse/nr-file-nodes":"0.0.11-2b78c0f-202605111600.0","@flowfuse/nr-mqtt-nodes":"0.3.1-6aa4070-202604302040.0","@flowfuse/nr-tables-nodes":"0.2.3-85c94cc-202604302040.0","@flowfuse/nr-project-nodes":"0.7.9-2db6f35-202605111603.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.30.2-5fa1ad2-202605111604.0_1778515461252_0.408874102170776","host":"s3://npm-registry-packages-npm-production"}},"2.30.2-51b7c73-202605111605.0":{"name":"@flowfuse/nr-launcher","version":"2.30.2-51b7c73-202605111605.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.30.2-51b7c73-202605111605.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"ca380745f1c7f3a7ce69ef20746f0c2630dd1da2","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.30.2-51b7c73-202605111605.0.tgz","fileCount":47,"integrity":"sha512-ww0EZXYcnBEqJcq6Ifau2RRZfJJSJvVG4WMUoLXBFcDWQ4pFU3EAbEbOufOtfX2n17zJ5WcFer7EI81KMcgYew==","signatures":[{"sig":"MEUCIBFQER4O2M6K3ViTagNLf4hi/d122ExXqcUoXPnhcLhPAiEAkAJBSsKFSnUsAvO1oWVA/IizpmsRmujip3PmR/AbRC8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":642190},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"51b7c73010b1c1391d7d2a571fd028f40841ca3e","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.11.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.14.1-3766f80-202605111555.0","@flowfuse/nr-file-nodes":"0.0.11-4abc6a0-202605111604.0","@flowfuse/nr-mqtt-nodes":"0.3.1-6aa4070-202604302040.0","@flowfuse/nr-tables-nodes":"0.2.3-85c94cc-202604302040.0","@flowfuse/nr-project-nodes":"0.7.9-2db6f35-202605111603.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.30.2-51b7c73-202605111605.0_1778515547625_0.5313041070059941","host":"s3://npm-registry-packages-npm-production"}},"2.30.2-51b7c73-202605111609.0":{"name":"@flowfuse/nr-launcher","version":"2.30.2-51b7c73-202605111609.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.30.2-51b7c73-202605111609.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"9978c7db111b9072a7ed0884e2bffe33f445d65e","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.30.2-51b7c73-202605111609.0.tgz","fileCount":47,"integrity":"sha512-gZeueM9dvvoXyf82ko9p/LZh9g7nhLHvWULaIa8sihx03SOdVqR9mzbzhnkpLy723JBiUzoMBUcgmo8GwpmwGg==","signatures":[{"sig":"MEUCIQDNvz1D9krc/ScKCWS5uU/2wMIKuKprUxAcborfPVwyaQIgd62Tmy9oTCfxmzWJPCMzDmYwlPzXuO6Q9CbYk4laG/8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":642190},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"51b7c73010b1c1391d7d2a571fd028f40841ca3e","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.11.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.14.1-901f6e2-202605111608.0","@flowfuse/nr-file-nodes":"0.0.11-4abc6a0-202605111604.0","@flowfuse/nr-mqtt-nodes":"0.3.1-6aa4070-202604302040.0","@flowfuse/nr-tables-nodes":"0.2.3-85c94cc-202604302040.0","@flowfuse/nr-project-nodes":"0.7.9-2db6f35-202605111603.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.30.2-51b7c73-202605111609.0_1778515792230_0.48792216841584013","host":"s3://npm-registry-packages-npm-production"}},"2.30.2-51b7c73-202605120837.0":{"name":"@flowfuse/nr-launcher","version":"2.30.2-51b7c73-202605120837.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.30.2-51b7c73-202605120837.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"763a1a1cf09b64e014c11fb074ccd2b630edab1f","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.30.2-51b7c73-202605120837.0.tgz","fileCount":47,"integrity":"sha512-ScR/ojdi6weZtxkY1GNYoDrxeCc+oxH/J1YPM41UE4ZW+3UfJwuD9rnIg6MhQ6QsieG+hqOitcpsKgxHBpckzg==","signatures":[{"sig":"MEUCIQCAhFyvjRPRs0OFi4X7txR6TXhsBLaTeNtqgH+OGOzrZgIgCC9kAAPripr8XEsWfkScdHjEpAYrqEypGrEqrSQRsgk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":642190},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"51b7c73010b1c1391d7d2a571fd028f40841ca3e","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.11.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.14.1-846d999-202605120836.0","@flowfuse/nr-file-nodes":"0.0.11-4abc6a0-202605111604.0","@flowfuse/nr-mqtt-nodes":"0.3.1-6aa4070-202604302040.0","@flowfuse/nr-tables-nodes":"0.2.3-85c94cc-202604302040.0","@flowfuse/nr-project-nodes":"0.7.9-2db6f35-202605111603.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.30.2-51b7c73-202605120837.0_1778575044160_0.17522624111487528","host":"s3://npm-registry-packages-npm-production"}},"2.30.2-51b7c73-202605121019.0":{"name":"@flowfuse/nr-launcher","version":"2.30.2-51b7c73-202605121019.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.30.2-51b7c73-202605121019.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"8e05dc1f5bcb0f8bf24f414a4f093e87c716e5cb","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.30.2-51b7c73-202605121019.0.tgz","fileCount":47,"integrity":"sha512-HXiiKtcwxmWeYJIK+Voq4vGnRt9hCX7qtRoV9zDUtkCbtc9YxrQwacfbQN5OESaeweaBCNjU93QQJMWUmhoiXg==","signatures":[{"sig":"MEQCIASjW5svls7M/DNrxG0VD0OGkZpyvjjMIes9odyceMG5AiAjOwKf6DcRY4IXhFlq3HFXC3svwcFDrNAG7RXZb4gZLw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":642190},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"51b7c73010b1c1391d7d2a571fd028f40841ca3e","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.11.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.14.1-5d7a461-202605121018.0","@flowfuse/nr-file-nodes":"0.0.11-4abc6a0-202605111604.0","@flowfuse/nr-mqtt-nodes":"0.3.1-6aa4070-202604302040.0","@flowfuse/nr-tables-nodes":"0.2.3-85c94cc-202604302040.0","@flowfuse/nr-project-nodes":"0.7.9-2db6f35-202605111603.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.30.2-51b7c73-202605121019.0_1778581158219_0.21526012869122502","host":"s3://npm-registry-packages-npm-production"}},"2.30.2-51b7c73-202605121048.0":{"name":"@flowfuse/nr-launcher","version":"2.30.2-51b7c73-202605121048.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.30.2-51b7c73-202605121048.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"5f8558f6a84455b783f9216e4260450f35b3d812","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.30.2-51b7c73-202605121048.0.tgz","fileCount":47,"integrity":"sha512-Gja1Hp9rpbH80/gxKUtkwbJ2YORLO1qJj85XkpbS33LoLHqLBMZnSokfJCqWSgI3CmVDdyDaofB/V9/W5Bs2XQ==","signatures":[{"sig":"MEUCIQCxHMiZR1ydx7DBLLE5ymEv6AM8O8VI+IjTVu90wgjrEAIgR48grTvQt1nJMubKohHR7K3e2FvZdJXPMIZ7OSpKIa0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":642190},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"51b7c73010b1c1391d7d2a571fd028f40841ca3e","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.11.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.14.1-11df41b-202605121045.0","@flowfuse/nr-file-nodes":"0.0.11-4abc6a0-202605111604.0","@flowfuse/nr-mqtt-nodes":"0.3.1-6aa4070-202604302040.0","@flowfuse/nr-tables-nodes":"0.2.3-85c94cc-202604302040.0","@flowfuse/nr-project-nodes":"0.7.9-2db6f35-202605111603.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.30.2-51b7c73-202605121048.0_1778582888237_0.5103924440718339","host":"s3://npm-registry-packages-npm-production"}},"2.30.2-51b7c73-202605121119.0":{"name":"@flowfuse/nr-launcher","version":"2.30.2-51b7c73-202605121119.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.30.2-51b7c73-202605121119.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"2e4e73d9e592f880156855b013159698419fe7a4","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.30.2-51b7c73-202605121119.0.tgz","fileCount":47,"integrity":"sha512-OECLu5X7ELfQ/tMLuUF9XmoPAxua2+HHNdS9L3U5kIIMA7dJf8eGYzX7OMt9VDCnle8NUiLj4Xvn9lM6QyN0IQ==","signatures":[{"sig":"MEYCIQD5lVHGv6HKzaWrbkQHapOkGZVKF73KgjbJrYG/bM7JmgIhANNGmdpwvho/E8nEEDB8DzZANQvELJkpITNsK1jmkvUG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":642190},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"51b7c73010b1c1391d7d2a571fd028f40841ca3e","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.11.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.14.1-a95ee5e-202605121118.0","@flowfuse/nr-file-nodes":"0.0.11-4abc6a0-202605111604.0","@flowfuse/nr-mqtt-nodes":"0.3.1-6aa4070-202604302040.0","@flowfuse/nr-tables-nodes":"0.2.3-85c94cc-202604302040.0","@flowfuse/nr-project-nodes":"0.7.9-2db6f35-202605111603.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.30.2-51b7c73-202605121119.0_1778584787845_0.6642109277112642","host":"s3://npm-registry-packages-npm-production"}},"2.30.2-51b7c73-202605121414.0":{"name":"@flowfuse/nr-launcher","version":"2.30.2-51b7c73-202605121414.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.30.2-51b7c73-202605121414.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"c393a502e391e0d53d1e7094255e189930017214","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.30.2-51b7c73-202605121414.0.tgz","fileCount":47,"integrity":"sha512-AJbKQxZuYFCgzUCwNKyR+1U75+qVgaiVUIOe/TbQV7V4lQ5fBiIyTC4KfLqOGPVTtuv3TlY0gTO/CwnARSuu0Q==","signatures":[{"sig":"MEUCIETvp+iB6a9122v42SWunYtyashLkGaZk2uIbTg3XKgtAiEAwBbeZIw4M1d6PQyMxtIim9jPV3f/z0HXv5ikSD0HV9A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":642190},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"51b7c73010b1c1391d7d2a571fd028f40841ca3e","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.11.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.14.1-b73b0e2-202605121413.0","@flowfuse/nr-file-nodes":"0.0.11-4abc6a0-202605111604.0","@flowfuse/nr-mqtt-nodes":"0.3.1-6aa4070-202604302040.0","@flowfuse/nr-tables-nodes":"0.2.3-85c94cc-202604302040.0","@flowfuse/nr-project-nodes":"0.7.9-2db6f35-202605111603.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.30.2-51b7c73-202605121414.0_1778595251111_0.4441429565927808","host":"s3://npm-registry-packages-npm-production"}},"2.30.2-51b7c73-202605121521.0":{"name":"@flowfuse/nr-launcher","version":"2.30.2-51b7c73-202605121521.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.30.2-51b7c73-202605121521.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"f03864e829562a0cf6d3e5d77e8073f63f60ec39","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.30.2-51b7c73-202605121521.0.tgz","fileCount":47,"integrity":"sha512-/YtQr5JMrc2kczooixpeW4XF9CSikHIqAJnrS9A7S5oNUxsqBkO7R68Cb/ohb0OVvWCbaLsgHsHpvS3Vklyseg==","signatures":[{"sig":"MEUCIDdU6jr3W6lUEhY+/tR9P9hkTnfK5A6vGt+GEC/JogocAiEA/t7I6aGJPNd43jr76AU+jKVvSxyiGxqu1y1fpVfDCdE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":642190},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"51b7c73010b1c1391d7d2a571fd028f40841ca3e","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.11.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.15.1-11dd958-202605121520.0","@flowfuse/nr-file-nodes":"0.0.11-4abc6a0-202605111604.0","@flowfuse/nr-mqtt-nodes":"0.3.1-6aa4070-202604302040.0","@flowfuse/nr-tables-nodes":"0.2.3-85c94cc-202604302040.0","@flowfuse/nr-project-nodes":"0.7.9-2db6f35-202605111603.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.30.2-51b7c73-202605121521.0_1778599298992_0.40427536333191294","host":"s3://npm-registry-packages-npm-production"}},"2.30.2-51b7c73-202605121609.0":{"name":"@flowfuse/nr-launcher","version":"2.30.2-51b7c73-202605121609.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.30.2-51b7c73-202605121609.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"4b3b8b35def58d5144668040c11893453526b2db","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.30.2-51b7c73-202605121609.0.tgz","fileCount":47,"integrity":"sha512-moA2JP5IxxpMOTFH4uvgXif5ZBewgChCiiKlVmVkDOJV01qraYt7q/tQ1S4eExjcetX753W/oFFtgu5tyk0M0w==","signatures":[{"sig":"MEYCIQCAEewvKnHo3b1/cMIR1sxu4k7GQGq1f1i0m4VQ7BHmfQIhAL5pX0WM/rWpJoD0LsWzYDWtIgRdbKi67QeNGubRD7eN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":642190},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"51b7c73010b1c1391d7d2a571fd028f40841ca3e","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.11.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.15.1-11dd958-202605121520.0","@flowfuse/nr-file-nodes":"0.0.11-1488372-202605121608.0","@flowfuse/nr-mqtt-nodes":"0.3.1-6aa4070-202604302040.0","@flowfuse/nr-tables-nodes":"0.2.3-85c94cc-202604302040.0","@flowfuse/nr-project-nodes":"0.7.9-2db6f35-202605111603.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.30.2-51b7c73-202605121609.0_1778602186095_0.7394416165592581","host":"s3://npm-registry-packages-npm-production"}},"2.30.2-51b7c73-202605121610.0":{"name":"@flowfuse/nr-launcher","version":"2.30.2-51b7c73-202605121610.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.30.2-51b7c73-202605121610.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"cfe0a3cceccc298426881ef552b2a623d3103a8d","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.30.2-51b7c73-202605121610.0.tgz","fileCount":47,"integrity":"sha512-769Xzur1qU8tViWbcZQRVTTJ/4nEmcLFQNwCiFckr/IM14kUDRULNRRAwLs+yjD5EaGCa+BmeCFLhsrsrJjTzQ==","signatures":[{"sig":"MEQCIEPEFMi4pfU1dIYiuWKOdZdqhOfVNDAZpH39GkZLGnYYAiBMqDNsV2urRYXOZ0dquzKHTI5ttbug2h7OYJtYxYtmnQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":642190},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"51b7c73010b1c1391d7d2a571fd028f40841ca3e","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.11.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.15.1-781fc6b-202605121609.0","@flowfuse/nr-file-nodes":"0.0.11-1488372-202605121608.0","@flowfuse/nr-mqtt-nodes":"0.3.1-6aa4070-202604302040.0","@flowfuse/nr-tables-nodes":"0.2.3-85c94cc-202604302040.0","@flowfuse/nr-project-nodes":"0.7.9-2db6f35-202605111603.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.30.2-51b7c73-202605121610.0_1778602248248_0.12932637900182486","host":"s3://npm-registry-packages-npm-production"}},"2.30.2-51b7c73-202605131103.0":{"name":"@flowfuse/nr-launcher","version":"2.30.2-51b7c73-202605131103.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.30.2-51b7c73-202605131103.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"47eca597c6673d748ae4fa3c3f428d13e5f57efe","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.30.2-51b7c73-202605131103.0.tgz","fileCount":47,"integrity":"sha512-0brY88NA9XhyvpSG5aGfphaj96MrgI0/mi65tQc2XuBe13VmBhBaMrNeqtKp/4tIR/pHy11Lycwpe9XkcIYYlQ==","signatures":[{"sig":"MEYCIQDFT6uHTX1vneX2vZGTcRfHK5+amoEQBENhPpPFFdT+EgIhAI8JhBUYwbjOWmNlP4wMCMgeidL9419aeOWU61ivN7PE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":642190},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"51b7c73010b1c1391d7d2a571fd028f40841ca3e","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.11.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.15.1-781fc6b-202605121609.0","@flowfuse/nr-file-nodes":"0.0.11-1488372-202605121608.0","@flowfuse/nr-mqtt-nodes":"0.3.1-6aa4070-202604302040.0","@flowfuse/nr-tables-nodes":"0.2.3-63d5c89-202605131102.0","@flowfuse/nr-project-nodes":"0.7.9-8a3afd6-202605131103.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.30.2-51b7c73-202605131103.0_1778670227006_0.46343077597432636","host":"s3://npm-registry-packages-npm-production"}},"2.30.2-e7f24e9-202605131105.0":{"name":"@flowfuse/nr-launcher","version":"2.30.2-e7f24e9-202605131105.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.30.2-e7f24e9-202605131105.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"ce3d27004463d7aab4fca2da9089924a7806949e","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.30.2-e7f24e9-202605131105.0.tgz","fileCount":47,"integrity":"sha512-FvVSPjdIQ6jC/YJZAqfCgApO7/c0rtOjnMzmAEqbfRoviVogqZjH50a4qvpyiTgBHlrrl+6gJihzsMURnz9+JA==","signatures":[{"sig":"MEUCIQCHCjvCtTOz0dL40dI8ZIsJhShex8ignyqiV0BE+BYh5QIgEwd4avQeHQFz/F2+lfCE6ivGssOGC1wTs/iOIFU2KsE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":642190},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"e7f24e94741fa6e0185e7ff9e1710ec15952ea94","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.11.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.15.1-781fc6b-202605121609.0","@flowfuse/nr-file-nodes":"0.0.11-1488372-202605121608.0","@flowfuse/nr-mqtt-nodes":"0.3.1-0eac7a3-202605131103.0","@flowfuse/nr-tables-nodes":"0.2.3-63d5c89-202605131102.0","@flowfuse/nr-project-nodes":"0.7.9-8a3afd6-202605131103.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.30.2-e7f24e9-202605131105.0_1778670316983_0.08222552605945999","host":"s3://npm-registry-packages-npm-production"}},"2.30.2-257fe91-202605131145.0":{"name":"@flowfuse/nr-launcher","version":"2.30.2-257fe91-202605131145.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.30.2-257fe91-202605131145.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"727953fa13df8e9f9c6240d1d0e1b16241848bae","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.30.2-257fe91-202605131145.0.tgz","fileCount":47,"integrity":"sha512-psFYKIOfp0XVinXMQFVWTNf+ZM0zRv/RMd/Dxu8LfeowGKP/ATkhNL1cEdWTbpB5vVefSSwQyL32KdgI9wYNHw==","signatures":[{"sig":"MEUCIQC9kKyuhhJuHkphoUam50mj3E7XjHg6Bd5+dVxEMuiHMQIgZFnZuH+BZTV2ZwKKoO/RPxKr0ki9ngsyCoJJDBSkajE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":642190},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"257fe91f495eaec75f2478a7f0b731910100392a","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.11.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.15.1-781fc6b-202605121609.0","@flowfuse/nr-file-nodes":"0.0.11-1488372-202605121608.0","@flowfuse/nr-mqtt-nodes":"0.3.1-0eac7a3-202605131103.0","@flowfuse/nr-tables-nodes":"0.2.3-63d5c89-202605131102.0","@flowfuse/nr-project-nodes":"0.7.9-8a3afd6-202605131103.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.30.2-257fe91-202605131145.0_1778672721041_0.8663097492197078","host":"s3://npm-registry-packages-npm-production"}},"2.30.2-fc85404-202605131146.0":{"name":"@flowfuse/nr-launcher","version":"2.30.2-fc85404-202605131146.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.30.2-fc85404-202605131146.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"fe1e23e6756292fbc490f82d2cb9b1420c57c8be","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.30.2-fc85404-202605131146.0.tgz","fileCount":47,"integrity":"sha512-BJEqcXewCk216BustB6WmWY+RhAOzERjC6TbDb3eR56ekuWqyPHR452NuARieahMfFJzzZj+/i7v9sfNPYVoow==","signatures":[{"sig":"MEQCIFlMMVKzCA6AcCbYdmvNwD7QP+OQPQysu1lMltJoYBqMAiB5Yu3OdKeMnIGJA9jgQzw758ik+9284N07gUKzJ7TSkg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":642190},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"fc85404a3303c0c43d74929c75c2c6528e660cdd","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.11.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.15.1-781fc6b-202605121609.0","@flowfuse/nr-file-nodes":"0.0.11-1488372-202605121608.0","@flowfuse/nr-mqtt-nodes":"0.3.1-0eac7a3-202605131103.0","@flowfuse/nr-tables-nodes":"0.2.3-63d5c89-202605131102.0","@flowfuse/nr-project-nodes":"0.7.9-8a3afd6-202605131103.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.30.2-fc85404-202605131146.0_1778672829546_0.9889286082640751","host":"s3://npm-registry-packages-npm-production"}},"2.30.2-fc85404-202605180718.0":{"name":"@flowfuse/nr-launcher","version":"2.30.2-fc85404-202605180718.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.30.2-fc85404-202605180718.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"6fbc9b5684b9307e676fba1d50fc152b034e9634","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.30.2-fc85404-202605180718.0.tgz","fileCount":47,"integrity":"sha512-J25W2CXq71Astf2oyyUv/l8hDoKErxcyWkYvla43YHyLrWr+rKF8uq7C0666Wenxa6D22GJjG4dVVLgstfa0lw==","signatures":[{"sig":"MEUCIQD6Q6psFdq/ZbmWHwQ6pIW6wOkwXViVuJQiI4MiJ/dnwAIgYMC4sgrD0XWybAV2tRYaYwIWrrQukOKea3+TYoPNGpw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":642190},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"fc85404a3303c0c43d74929c75c2c6528e660cdd","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.12.1","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.15.1-db91a3d-202605180717.0","@flowfuse/nr-file-nodes":"0.0.11-1488372-202605121608.0","@flowfuse/nr-mqtt-nodes":"0.3.1-0eac7a3-202605131103.0","@flowfuse/nr-tables-nodes":"0.2.3-63d5c89-202605131102.0","@flowfuse/nr-project-nodes":"0.7.9-8a3afd6-202605131103.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.30.2-fc85404-202605180718.0_1779088708710_0.8136219345909419","host":"s3://npm-registry-packages-npm-production"}},"2.30.2-fc85404-202605181136.0":{"name":"@flowfuse/nr-launcher","version":"2.30.2-fc85404-202605181136.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.30.2-fc85404-202605181136.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"dd3f7f93038a3ffc203e9e9539903f1a03d344b0","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.30.2-fc85404-202605181136.0.tgz","fileCount":47,"integrity":"sha512-i4w5iQpe9hjdqheZBd9/RgULjKppTIzejjHmvO9UHZ7aUlwozajiiS2FTUWFdN0KbB4w8Y4kjinOn8PjpoXPMA==","signatures":[{"sig":"MEUCIQCv4xpuzavhkSw0PlhGkWEbrW33q+ZzS8LatP17eZRmfAIgXgHHwDCtUPRzcGdH7Y0fCbYP6Hgv0axav+GcvLxnq78=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":642190},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"fc85404a3303c0c43d74929c75c2c6528e660cdd","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.12.1","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.15.1-db91a3d-202605180717.0","@flowfuse/nr-file-nodes":"0.0.11-1488372-202605121608.0","@flowfuse/nr-mqtt-nodes":"0.3.1-0eac7a3-202605131103.0","@flowfuse/nr-tables-nodes":"0.2.3-cc39c20-202605181135.0","@flowfuse/nr-project-nodes":"0.7.9-8a3afd6-202605131103.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.30.2-fc85404-202605181136.0_1779104178222_0.424924148994682","host":"s3://npm-registry-packages-npm-production"}},"2.30.2-fc85404-202605181217.0":{"name":"@flowfuse/nr-launcher","version":"2.30.2-fc85404-202605181217.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.30.2-fc85404-202605181217.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"abfe9d0fb6e6b64492c96b0ad952ae7ee589dd56","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.30.2-fc85404-202605181217.0.tgz","fileCount":47,"integrity":"sha512-gScytrZ9Xp4MqppuVprGxrKQzeOiNm6PkH18gR9B3SG9JGO8JdOPVfvPKvey3bNXLHwoO4hR2mO52KqNdksipw==","signatures":[{"sig":"MEUCIQCZQyt210c3Z/4RbY5IpeRbX3ZEF114sYq8W4+jXy0a/QIgXQRBxDgS+ET3AX81q+9n5jahiRhlxNWst7luPnmFUGk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":642190},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"fc85404a3303c0c43d74929c75c2c6528e660cdd","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.12.1","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.15.1-db91a3d-202605180717.0","@flowfuse/nr-file-nodes":"0.0.11-1488372-202605121608.0","@flowfuse/nr-mqtt-nodes":"0.3.1-0eac7a3-202605131103.0","@flowfuse/nr-tables-nodes":"0.2.3-1644a4a-202605181216.0","@flowfuse/nr-project-nodes":"0.7.9-8a3afd6-202605131103.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.30.2-fc85404-202605181217.0_1779106634378_0.6254581714563843","host":"s3://npm-registry-packages-npm-production"}},"2.30.2-fc85404-202605181252.0":{"name":"@flowfuse/nr-launcher","version":"2.30.2-fc85404-202605181252.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.30.2-fc85404-202605181252.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"ffa0f5a6533144c65b7c4cfed298a13627fb8f1c","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.30.2-fc85404-202605181252.0.tgz","fileCount":47,"integrity":"sha512-yPoLWjn6ZRgO6AReEGv0eAALuCDGjj0cT+Fc0vs/SzSGwRUqpzLQrP+RxJ1r16TIAGJTrutKNoISf2CSAtIULg==","signatures":[{"sig":"MEQCIELoyNwR+5ou7R0lAgHokN1LNr10TJ70e3gNyPAS1lxqAiBFliZHiFJ/PnPeWRmd+8p0VXWkkg+Zz3cGSgCa3jVcng==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":642190},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"fc85404a3303c0c43d74929c75c2c6528e660cdd","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.12.1","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.15.1-db91a3d-202605180717.0","@flowfuse/nr-file-nodes":"0.0.11-4ba2d4d-202605181251.0","@flowfuse/nr-mqtt-nodes":"0.3.1-0eac7a3-202605131103.0","@flowfuse/nr-tables-nodes":"0.2.3-1644a4a-202605181216.0","@flowfuse/nr-project-nodes":"0.7.9-8a3afd6-202605131103.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.30.2-fc85404-202605181252.0_1779108758491_0.4064305544225597","host":"s3://npm-registry-packages-npm-production"}},"2.30.2-fc85404-202605181300.0":{"name":"@flowfuse/nr-launcher","version":"2.30.2-fc85404-202605181300.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.30.2-fc85404-202605181300.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"495d1b30786256f6a9e363dac6b53a4fba7f38ff","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.30.2-fc85404-202605181300.0.tgz","fileCount":47,"integrity":"sha512-n+qiDJ9iC7vzGmG6IEz3KPcNey2EFwaZQuq5uWFW4jfpxhs68vRKN1Iy2hX4WiZ0XAD9EynKRcJ4RpA5sKnIWg==","signatures":[{"sig":"MEYCIQCoR6Ks16rva3FxHm5s2RWzkrWtZdeejATlKesTgK0ItwIhAJNNlgoR5KhWN/wU9+3VD3FksGd8VccPZ2V5rU2jtpui","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":642190},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"fc85404a3303c0c43d74929c75c2c6528e660cdd","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.12.1","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.15.1-db91a3d-202605180717.0","@flowfuse/nr-file-nodes":"0.0.11-4ba2d4d-202605181251.0","@flowfuse/nr-mqtt-nodes":"0.3.1-4e5fccf-202605181259.0","@flowfuse/nr-tables-nodes":"0.2.3-1644a4a-202605181216.0","@flowfuse/nr-project-nodes":"0.7.9-8a3afd6-202605131103.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.30.2-fc85404-202605181300.0_1779109253877_0.3756638249512876","host":"s3://npm-registry-packages-npm-production"}},"2.30.2-fc85404-202605181302.0":{"name":"@flowfuse/nr-launcher","version":"2.30.2-fc85404-202605181302.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.30.2-fc85404-202605181302.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"861dc8479ee48f268133c5667c9903d9ec6a7c31","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.30.2-fc85404-202605181302.0.tgz","fileCount":47,"integrity":"sha512-cXtJT209Och3ILh49mglNZv0QydALT328e1Mq96oON8H77PlkyVZvCvmGrUmyal6fnyf1nyDIW+2tgeaTq/LBg==","signatures":[{"sig":"MEYCIQDeZ40MSOdZtycT/hVthWCCBpTAiVLA6gZKXJTo8E5QYwIhAMg+PUxa8V0shmUfHD2FWCeuP59NdbIvzLxsbhzS+vpx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":642190},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"fc85404a3303c0c43d74929c75c2c6528e660cdd","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.12.1","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.15.1-db91a3d-202605180717.0","@flowfuse/nr-file-nodes":"0.0.11-4ba2d4d-202605181251.0","@flowfuse/nr-mqtt-nodes":"0.3.1-8cbf91f-202605181301.0","@flowfuse/nr-tables-nodes":"0.2.3-1644a4a-202605181216.0","@flowfuse/nr-project-nodes":"0.7.9-8a3afd6-202605131103.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.30.2-fc85404-202605181302.0_1779109341490_0.6984756719848364","host":"s3://npm-registry-packages-npm-production"}},"2.30.2-fc85404-202605181304.0":{"name":"@flowfuse/nr-launcher","version":"2.30.2-fc85404-202605181304.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.30.2-fc85404-202605181304.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"05f42269e32a79aa18bd66be03dfc924cbb98491","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.30.2-fc85404-202605181304.0.tgz","fileCount":47,"integrity":"sha512-7hqNdGUrlTX0a6IvvP9qgQn2k01x4MvxEMNLFM+e7mmEcTHBpnA1xk8uydmHwbYixnCKCYR9QX0i++6+eGNJdA==","signatures":[{"sig":"MEYCIQDvBuzXZ69UDjVUTrCM9J6bZdEjaSe0aWa/+3UMx20WgQIhAKCbYmqp6qSqLfh1Cc2EV02AtmRcaekLESnW7nyurmsZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":642190},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"fc85404a3303c0c43d74929c75c2c6528e660cdd","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.12.1","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.15.1-db91a3d-202605180717.0","@flowfuse/nr-file-nodes":"0.0.11-4ba2d4d-202605181251.0","@flowfuse/nr-mqtt-nodes":"0.3.1-bd3e025-202605181303.0","@flowfuse/nr-tables-nodes":"0.2.3-1644a4a-202605181216.0","@flowfuse/nr-project-nodes":"0.7.9-8a3afd6-202605131103.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.30.2-fc85404-202605181304.0_1779109494853_0.9443545777430218","host":"s3://npm-registry-packages-npm-production"}},"2.30.2-fc85404-202605181315.0":{"name":"@flowfuse/nr-launcher","version":"2.30.2-fc85404-202605181315.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.30.2-fc85404-202605181315.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"0d26191eaa008125a5120982f5d2ebcf0f711e8a","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.30.2-fc85404-202605181315.0.tgz","fileCount":47,"integrity":"sha512-9cA2sq6ZySOreugGv0ahSEAYMvwuCamYhQBtDC4ziA6mISCHx2ir8jQ+6mOJ/I1JN7yGSSrwdQvWGv10gOVEJw==","signatures":[{"sig":"MEUCIF7Ni54cHsb9Hd7BH3Tkcojlep1wI15hEqK6f0FjJoowAiEAqutTldXDR8yEG+lUEz1L1mftElm+kauh1rc4ClEUl50=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":642190},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"fc85404a3303c0c43d74929c75c2c6528e660cdd","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.12.1","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.15.1-db91a3d-202605180717.0","@flowfuse/nr-file-nodes":"0.0.11-4ba2d4d-202605181251.0","@flowfuse/nr-mqtt-nodes":"0.3.1-f99c8d3-202605181314.0","@flowfuse/nr-tables-nodes":"0.2.3-1644a4a-202605181216.0","@flowfuse/nr-project-nodes":"0.7.9-8a3afd6-202605131103.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.30.2-fc85404-202605181315.0_1779110152586_0.8193698353102943","host":"s3://npm-registry-packages-npm-production"}},"2.30.2-fc85404-202605181322.0":{"name":"@flowfuse/nr-launcher","version":"2.30.2-fc85404-202605181322.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.30.2-fc85404-202605181322.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"5b35b1deaffb0c5ec93c9c9329f06d0fa093a0e0","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.30.2-fc85404-202605181322.0.tgz","fileCount":47,"integrity":"sha512-LXWZDW/4V0lG1og/XELl/tVX8oS21qosip1upXyT0vQ4DzjkeTYB8fpQvHKSn2XKSZLLYLskfWNslJdrMW9oYA==","signatures":[{"sig":"MEUCIQD8JtRGOtJW4n5ARAwCS7dTXs71iaTnRvxzqtd/U0YJMgIgdcVRaMK4CisFYtDJ5OrQewj7DlIJIw79I4Rgl9fHJyQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":642190},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"fc85404a3303c0c43d74929c75c2c6528e660cdd","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.12.1","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.15.1-db91a3d-202605180717.0","@flowfuse/nr-file-nodes":"0.0.11-4ba2d4d-202605181251.0","@flowfuse/nr-mqtt-nodes":"0.3.1-ccaa583-202605181321.0","@flowfuse/nr-tables-nodes":"0.2.3-1644a4a-202605181216.0","@flowfuse/nr-project-nodes":"0.7.9-8a3afd6-202605131103.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.30.2-fc85404-202605181322.0_1779110579613_0.22180246572195572","host":"s3://npm-registry-packages-npm-production"}},"2.30.2-fc85404-202605181327.0":{"name":"@flowfuse/nr-launcher","version":"2.30.2-fc85404-202605181327.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.30.2-fc85404-202605181327.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"f1cb95414aa8772febafbd1be98d96c7fbd06d25","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.30.2-fc85404-202605181327.0.tgz","fileCount":47,"integrity":"sha512-2NaU8nECHt3XPnDJ2A+LbgtK8CC3WEQO4c3uWnTrgf9YMJjeLVlRzk3t8uQJgrhUhAJkQGoN+XIVu3rLI9MkzQ==","signatures":[{"sig":"MEUCIFTBgVokaYGf7ToxdW6bDl0NmObZN+egOJqeho0k+xvEAiEA/IzbE2JVrIUWmL8A5EI1rEp86xeEEdpcgAo5BgIGaLA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":642190},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"fc85404a3303c0c43d74929c75c2c6528e660cdd","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.12.1","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.15.1-d0bf691-202605181326.0","@flowfuse/nr-file-nodes":"0.0.11-4ba2d4d-202605181251.0","@flowfuse/nr-mqtt-nodes":"0.3.1-ccaa583-202605181321.0","@flowfuse/nr-tables-nodes":"0.2.3-1644a4a-202605181216.0","@flowfuse/nr-project-nodes":"0.7.9-8a3afd6-202605131103.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.30.2-fc85404-202605181327.0_1779110876218_0.24589661464472123","host":"s3://npm-registry-packages-npm-production"}},"2.30.2-fc85404-202605181423.0":{"name":"@flowfuse/nr-launcher","version":"2.30.2-fc85404-202605181423.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.30.2-fc85404-202605181423.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"3813fccfaa19d5057af5dddd55a3d47b1c09918e","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.30.2-fc85404-202605181423.0.tgz","fileCount":47,"integrity":"sha512-f7k8zBH52OhQAa0eVK4jtaLlTVdVXwjUXzVS3vlAnYvbfS+jR+Ifp4dRvhstC1/0VoYXj6o+MdUp9s4KLdDnGg==","signatures":[{"sig":"MEQCIDXyPnRFqr8we9tFrdKDnYS9deMPQLUKn7pDHedXYCF6AiAXGD82B2DOYALatSzCE0Z4M38a4ztjmlxr9YzZXmOOwQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":642190},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"fc85404a3303c0c43d74929c75c2c6528e660cdd","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.12.1","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.15.1-70c79d2-202605181423.0","@flowfuse/nr-file-nodes":"0.0.11-4ba2d4d-202605181251.0","@flowfuse/nr-mqtt-nodes":"0.3.1-ccaa583-202605181321.0","@flowfuse/nr-tables-nodes":"0.2.3-1644a4a-202605181216.0","@flowfuse/nr-project-nodes":"0.7.9-8a3afd6-202605131103.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.30.2-fc85404-202605181423.0_1779114247086_0.8073448964943277","host":"s3://npm-registry-packages-npm-production"}},"2.30.2-fc85404-202605181427.0":{"name":"@flowfuse/nr-launcher","version":"2.30.2-fc85404-202605181427.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.30.2-fc85404-202605181427.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"012468141a332b490fb1c2d765be64b1a8fc71f1","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.30.2-fc85404-202605181427.0.tgz","fileCount":47,"integrity":"sha512-4SWvFAReqJ3NsNS7sPtD5F0UHgwDVI+nIcUNjDKmm1UojPvjyc4VoX/B7BiUyTulFYiNV+ROEhrI685KLNn4kA==","signatures":[{"sig":"MEYCIQCwpiyoCEHf6X/qg1+SstDbl3Q4Dxq9ahSFyKPs4p5ngQIhAMVasEGydWcdoMt/nu7DPLlqnud909HloA0orsUqutct","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":642190},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"fc85404a3303c0c43d74929c75c2c6528e660cdd","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.12.1","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.15.1-e32762c-202605181426.0","@flowfuse/nr-file-nodes":"0.0.11-4ba2d4d-202605181251.0","@flowfuse/nr-mqtt-nodes":"0.3.1-ccaa583-202605181321.0","@flowfuse/nr-tables-nodes":"0.2.3-1644a4a-202605181216.0","@flowfuse/nr-project-nodes":"0.7.9-8a3afd6-202605131103.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.30.2-fc85404-202605181427.0_1779114485851_0.4162297155457355","host":"s3://npm-registry-packages-npm-production"}},"2.30.2-fc85404-202605181429.0":{"name":"@flowfuse/nr-launcher","version":"2.30.2-fc85404-202605181429.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.30.2-fc85404-202605181429.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"5ab4d0dd53c0620e21075f6fbc4d8cbecfa334f9","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.30.2-fc85404-202605181429.0.tgz","fileCount":47,"integrity":"sha512-Jyv0E49COqXRKuk59NUzEGJqlwYPQxaCVX/wc4sdeJaatGw6lOjisDfRIHEaVs5783VfhiidIVDZOcrpasKSfA==","signatures":[{"sig":"MEQCIDkLbldi/j0/1vi/atr1epMjHisbnVzNxnRUtlbcwpBIAiB+yobgZlaI0K2zWeE2mYNP+jx25db6yillF2I8wZCI0w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":642190},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"fc85404a3303c0c43d74929c75c2c6528e660cdd","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.12.1","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.15.1-5dc0126-202605181428.0","@flowfuse/nr-file-nodes":"0.0.11-4ba2d4d-202605181251.0","@flowfuse/nr-mqtt-nodes":"0.3.1-ccaa583-202605181321.0","@flowfuse/nr-tables-nodes":"0.2.3-1644a4a-202605181216.0","@flowfuse/nr-project-nodes":"0.7.9-8a3afd6-202605131103.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.30.2-fc85404-202605181429.0_1779114565085_0.31789793494217977","host":"s3://npm-registry-packages-npm-production"}},"2.30.2-fc85404-202605181457.0":{"name":"@flowfuse/nr-launcher","version":"2.30.2-fc85404-202605181457.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.30.2-fc85404-202605181457.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"e6d8d7e7997ada994c2f9722b4fd29271237c2b1","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.30.2-fc85404-202605181457.0.tgz","fileCount":47,"integrity":"sha512-GwtFOjgizz09oXpKAA2rfEfbKPteoNhb08KGVkEY+mN7536wPRtPcx+9DZyZ3EI2XBvxT7EYp82EOwNHtGWkjQ==","signatures":[{"sig":"MEYCIQCVvTZfSwc9hAua20D9Xpoo78YmLIPXYAZSr7+CNkLx1AIhAKkRlBA+sLHsAjY20KRI2YOJupmzpBPgQS9jQiiI7XLi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":642190},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"fc85404a3303c0c43d74929c75c2c6528e660cdd","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.12.1","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.15.1-5dc0126-202605181428.0","@flowfuse/nr-file-nodes":"0.0.11-4ba2d4d-202605181251.0","@flowfuse/nr-mqtt-nodes":"0.3.1-ccaa583-202605181321.0","@flowfuse/nr-tables-nodes":"0.2.3-d969897-202605181455.0","@flowfuse/nr-project-nodes":"0.7.9-8a3afd6-202605131103.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.30.2-fc85404-202605181457.0_1779116238667_0.5760478630000296","host":"s3://npm-registry-packages-npm-production"}},"2.30.2-fc85404-202605191054.0":{"name":"@flowfuse/nr-launcher","version":"2.30.2-fc85404-202605191054.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.30.2-fc85404-202605191054.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"6e166e4646dc5c2a820e606f8e429665d638a633","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.30.2-fc85404-202605191054.0.tgz","fileCount":47,"integrity":"sha512-+mXRlMF8zqkMnEapQnTDGX3nTlMVgZD4O5OJD2rGVWACUAUlfNTlLk6ILzFToiI3WGkW+rvHp1lReWYKtOSU5g==","signatures":[{"sig":"MEYCIQCvOoiV07WnOLSLKkDIkqgtMDGp7qW56xy6SMrjv5VtHAIhAL4fO7o3QBI1BXvsrtvgbwYkQ3wL/74zql5vQv7tOg3C","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":642190},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"fc85404a3303c0c43d74929c75c2c6528e660cdd","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.12.1","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.15.1-5dc0126-202605181428.0","@flowfuse/nr-file-nodes":"0.0.11-4ba2d4d-202605181251.0","@flowfuse/nr-mqtt-nodes":"0.3.1-ccaa583-202605181321.0","@flowfuse/nr-tables-nodes":"0.2.3-d969897-202605181455.0","@flowfuse/nr-project-nodes":"0.7.9-49eb234-202605191053.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.30.2-fc85404-202605191054.0_1779188087784_0.9701012990148803","host":"s3://npm-registry-packages-npm-production"}},"2.30.2-3977246-202605191056.0":{"name":"@flowfuse/nr-launcher","version":"2.30.2-3977246-202605191056.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.30.2-3977246-202605191056.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"6aed5857b8d92c2303ed8f416df879794c7b0b5c","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.30.2-3977246-202605191056.0.tgz","fileCount":47,"integrity":"sha512-CTBhDg2aTqIweNhNaTxvxVQgpiUWfAct0k6ZDz5wWt7GmaMEw5tM/vJ86iwvCetlLFW2Ngl38jBYcpa1zIeOTQ==","signatures":[{"sig":"MEYCIQCSf63wkDRy8Rmk65/sy828JMvyxIvmOYbqHG+njT6GPQIhANsAAZ8b/UcDuxsX+isRG964nVrWHBQZUEAFBsiaWsaV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":642190},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"3977246e97d6b6309a2b31749ba03ebca834c457","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.12.1","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.15.1-5dc0126-202605181428.0","@flowfuse/nr-file-nodes":"0.0.11-4ba2d4d-202605181251.0","@flowfuse/nr-mqtt-nodes":"0.3.1-ccaa583-202605181321.0","@flowfuse/nr-tables-nodes":"0.2.3-d969897-202605181455.0","@flowfuse/nr-project-nodes":"0.7.9-49eb234-202605191053.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.30.2-3977246-202605191056.0_1779188171551_0.37157502498781914","host":"s3://npm-registry-packages-npm-production"}},"2.30.2-5956ac9-202605191059.0":{"name":"@flowfuse/nr-launcher","version":"2.30.2-5956ac9-202605191059.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.30.2-5956ac9-202605191059.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"ba8bb637edebdae0ff67b10ba065536b1b706a57","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.30.2-5956ac9-202605191059.0.tgz","fileCount":47,"integrity":"sha512-MTXg0WHjMuL3wjT/Hbp739mtSEzH5AulS0rINy+bUiPtQ975U88CqRPZ1WK16yc2U8Nu7QSmBCyhbe4bp0O3/Q==","signatures":[{"sig":"MEUCIQCthIKSkWeoeu4UETvw6jaOi1DBo4HWCMZhcsfzxSG4jAIgK7m2IqeE19OgxdlT2wapiHHp7gZonsiS1WoPv4G83tQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":642190},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"5956ac9821fd971828ea96034d3c59a737616cfb","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.12.1","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.15.1-5dc0126-202605181428.0","@flowfuse/nr-file-nodes":"0.0.11-4ba2d4d-202605181251.0","@flowfuse/nr-mqtt-nodes":"0.3.1-ccaa583-202605181321.0","@flowfuse/nr-tables-nodes":"0.2.3-d969897-202605181455.0","@flowfuse/nr-project-nodes":"0.7.9-49eb234-202605191053.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.30.2-5956ac9-202605191059.0_1779188356993_0.34902576822167375","host":"s3://npm-registry-packages-npm-production"}},"2.30.2-8181517-202605191107.0":{"name":"@flowfuse/nr-launcher","version":"2.30.2-8181517-202605191107.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.30.2-8181517-202605191107.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"504cc433052a372b327052b1dc2d3e27b7255397","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.30.2-8181517-202605191107.0.tgz","fileCount":47,"integrity":"sha512-UMYGpdvlAL8edFoV9UMorPW7t4f6L2/JZvUQ+ub0oWJg8YDJyTQwnUWx8c62ePr/mtuNcypX61lFS7qaBWzeAg==","signatures":[{"sig":"MEYCIQCSheOE2CizaE+qOI6nhXGdsgTVkCzIn3PiGC67NhgeuAIhAKNZJ8Cn+gosVyXMCtjNkNH+WXiszkhfHvF3UXCwzxkA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":642190},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"81815177ef3751a8ea0f4dd511e3e80bac20047b","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.12.1","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.15.1-5dc0126-202605181428.0","@flowfuse/nr-file-nodes":"0.0.11-4ba2d4d-202605181251.0","@flowfuse/nr-mqtt-nodes":"0.3.1-ccaa583-202605181321.0","@flowfuse/nr-tables-nodes":"0.2.3-d969897-202605181455.0","@flowfuse/nr-project-nodes":"0.7.9-49eb234-202605191053.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.30.2-8181517-202605191107.0_1779188868314_0.3988532232398154","host":"s3://npm-registry-packages-npm-production"}},"2.30.2-8181517-202605191141.0":{"name":"@flowfuse/nr-launcher","version":"2.30.2-8181517-202605191141.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.30.2-8181517-202605191141.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"dcf4259b0203394685c610a56c52e30579b8f607","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.30.2-8181517-202605191141.0.tgz","fileCount":47,"integrity":"sha512-mcfv8YDXnzMtSQpM/xkYNYNOHCIRweuclEi8WVR6zj0PUdS/e4OQlhFhYXrTfWxRvUZoQMm9jT2yJnRmCU7zCA==","signatures":[{"sig":"MEQCIE6rSj9DtER44qQYjygpNkiWnZ9Cp73FOBaESMoVomYIAiAVSvh665KSyJRor8YN/s83fJ1iFSXfhKOLve7kVZkKVQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":642190},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"81815177ef3751a8ea0f4dd511e3e80bac20047b","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.12.1","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.15.1-5dc0126-202605181428.0","@flowfuse/nr-file-nodes":"0.0.11-4ba2d4d-202605181251.0","@flowfuse/nr-mqtt-nodes":"0.3.1-043abfe-202605191140.0","@flowfuse/nr-tables-nodes":"0.2.3-d02a64b-202605191140.0","@flowfuse/nr-project-nodes":"0.7.9-49eb234-202605191053.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.30.2-8181517-202605191141.0_1779190873783_0.0686315511427329","host":"s3://npm-registry-packages-npm-production"}},"2.30.2-8181517-202605191144.0":{"name":"@flowfuse/nr-launcher","version":"2.30.2-8181517-202605191144.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.30.2-8181517-202605191144.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"eda6861480a8d86a177439a34a95ba938d568b50","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.30.2-8181517-202605191144.0.tgz","fileCount":47,"integrity":"sha512-sdDG9NfptnLNojigpN7CC3rkzn7rsw+Wb/kn+vNrzPriXR/wr4Ql+uTSw5x7zQDlmJaXn2RHMM7z+7aUiV82TA==","signatures":[{"sig":"MEYCIQDGINTVwUSQhS2z7/lqQMi1am8NdojjFF1wZp2t8zuLrAIhAO/9wsKUO6OZzFD9D3mznEgSPJpyLywNtsn+xA5fCLhI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":642190},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"81815177ef3751a8ea0f4dd511e3e80bac20047b","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.12.1","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.15.1-5dc0126-202605181428.0","@flowfuse/nr-file-nodes":"0.0.11-ad8dd2f-202605191143.0","@flowfuse/nr-mqtt-nodes":"0.3.1-043abfe-202605191140.0","@flowfuse/nr-tables-nodes":"0.2.3-d02a64b-202605191140.0","@flowfuse/nr-project-nodes":"0.7.9-49eb234-202605191053.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.30.2-8181517-202605191144.0_1779191065970_0.1326406752224445","host":"s3://npm-registry-packages-npm-production"}},"2.30.2-8181517-202605191254.0":{"name":"@flowfuse/nr-launcher","version":"2.30.2-8181517-202605191254.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.30.2-8181517-202605191254.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"c4590905425dd89d871c249656769d5abb876b5a","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.30.2-8181517-202605191254.0.tgz","fileCount":47,"integrity":"sha512-lK8JD0ZCm6wORtTNNDU8sKpyMAKD28tsh9ZbOB+l1rtg8mCUEuXaVktrozHW3mNp/16r3jA+gNc7nyryjCkF8A==","signatures":[{"sig":"MEUCIQDnJkRpiwSHX3k1pro1jVmPVvr7NduVBZejWnmgXq1ykwIgS7jC072p5vsagP7W49rYL8cUmXYeO8L+sjLNCg6FHY4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":642190},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"81815177ef3751a8ea0f4dd511e3e80bac20047b","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.12.1","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.15.1-5dc0126-202605181428.0","@flowfuse/nr-file-nodes":"0.0.11-ad8dd2f-202605191143.0","@flowfuse/nr-mqtt-nodes":"0.3.1-442c4c3-202605191253.0","@flowfuse/nr-tables-nodes":"0.2.3-d02a64b-202605191140.0","@flowfuse/nr-project-nodes":"0.7.9-49eb234-202605191053.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.30.2-8181517-202605191254.0_1779195280853_0.9181240704655098","host":"s3://npm-registry-packages-npm-production"}},"2.30.2-8181517-202605201849.0":{"name":"@flowfuse/nr-launcher","version":"2.30.2-8181517-202605201849.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.30.2-8181517-202605201849.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"eb6b3f7b6deb1e2aae7e64a42f1b19ac60acbfc5","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.30.2-8181517-202605201849.0.tgz","fileCount":47,"integrity":"sha512-aFJKtYs9Bx1uRly/XYOBg0yZD0n8LfxflG8g54b7//d5CAKjcEvGCBYY6z35+Q2a18I/Ig7FTPbLwETwMsHvFw==","signatures":[{"sig":"MEUCID0rweG55XbLtEopmEonolwCjRq++0FC3x3O3vihp1oZAiEAlVhyw0TEJNYkwpUK9tO6HPJwY8dEhuspycaEOQVOmXk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":642190},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"81815177ef3751a8ea0f4dd511e3e80bac20047b","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.12.1","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.15.1-7dcf1d8-202605201848.0","@flowfuse/nr-file-nodes":"0.0.11-ad8dd2f-202605191143.0","@flowfuse/nr-mqtt-nodes":"0.3.1-442c4c3-202605191253.0","@flowfuse/nr-tables-nodes":"0.2.3-d02a64b-202605191140.0","@flowfuse/nr-project-nodes":"0.7.9-49eb234-202605191053.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.30.2-8181517-202605201849.0_1779302983360_0.07135228617539813","host":"s3://npm-registry-packages-npm-production"}},"2.30.2-1f9c7ed-202605211246.0":{"name":"@flowfuse/nr-launcher","version":"2.30.2-1f9c7ed-202605211246.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.30.2-1f9c7ed-202605211246.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"028db603e894f981bdea3bd7726acae33f6c797e","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.30.2-1f9c7ed-202605211246.0.tgz","fileCount":47,"integrity":"sha512-WFmLaFAWwtQ3R1gRei8E78Ks2/v7r0iNTFqKwfeLO+YccggCim/vvFjg+II6+a11Gh0RU2YAKdeNQGTHkG7k6A==","signatures":[{"sig":"MEUCIQD1dKNrf3c6+1Ox7iPpboaBRu6SRjKxOfU7aIdqK0PhuAIgCQYTO98qfftSspLlUrq2gy/lJ/60GvXsm+nEe+Kw97w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":642190},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"1f9c7ed09493f772972688927f40d9dcd88b9809","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.12.1","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.15.1-7dcf1d8-202605201848.0","@flowfuse/nr-file-nodes":"0.0.11-ad8dd2f-202605191143.0","@flowfuse/nr-mqtt-nodes":"0.3.1-442c4c3-202605191253.0","@flowfuse/nr-tables-nodes":"0.2.3-d02a64b-202605191140.0","@flowfuse/nr-project-nodes":"0.7.9-49eb234-202605191053.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.30.2-1f9c7ed-202605211246.0_1779367591268_0.14936076065332782","host":"s3://npm-registry-packages-npm-production"}},"2.30.2-1f9c7ed-202605211247.0":{"name":"@flowfuse/nr-launcher","version":"2.30.2-1f9c7ed-202605211247.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.30.2-1f9c7ed-202605211247.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"fb2b3985915a60d689d39718319287541d0fc068","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.30.2-1f9c7ed-202605211247.0.tgz","fileCount":47,"integrity":"sha512-RwhTXiT/bGzCWpYrHGVmNP+u6sBI6J/ln6tySmdN2l/PL1hbBK4+aoXUEqvted1bhL+vXaUDn219m8Ms9aTn/g==","signatures":[{"sig":"MEUCIQDzCqsvBjcV2kwbqxuV2Adtow/cUm4+0gnFR3MYvxe2kgIgAOOpIffg/ATjjCt/lQHVBmSQQwb3ApZGeAntC/BA2nA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":642190},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"1f9c7ed09493f772972688927f40d9dcd88b9809","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.12.1","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.15.1-7dcf1d8-202605201848.0","@flowfuse/nr-file-nodes":"0.0.11-efdec00-202605211246.0","@flowfuse/nr-mqtt-nodes":"0.3.1-442c4c3-202605191253.0","@flowfuse/nr-tables-nodes":"0.2.3-d02a64b-202605191140.0","@flowfuse/nr-project-nodes":"0.7.9-49eb234-202605191053.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.30.2-1f9c7ed-202605211247.0_1779367654045_0.49029885837920806","host":"s3://npm-registry-packages-npm-production"}},"2.30.2-1f9c7ed-202605211248.0":{"name":"@flowfuse/nr-launcher","version":"2.30.2-1f9c7ed-202605211248.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.30.2-1f9c7ed-202605211248.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"c162cdafb16b7f842a6c2ce1d0860ecd5ee711ba","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.30.2-1f9c7ed-202605211248.0.tgz","fileCount":47,"integrity":"sha512-pAzzJ7ewH7TwaajKJCiM+uH+ZuHQuEFK/Oep4IWH2KODI3u2pdTGaiJMX8zHmua2J7tAHB3KszUGjriEdIBxUg==","signatures":[{"sig":"MEUCIQDkjvYtPhp4gtztASQjWlPYpWpKY7WZhQXXikWFxiBseQIgUBbv3os9KCyq2iML3Enc81Z7o3jMDZpgal4CUK9up8I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":642190},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"1f9c7ed09493f772972688927f40d9dcd88b9809","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.12.1","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.15.1-7dcf1d8-202605201848.0","@flowfuse/nr-file-nodes":"0.0.11-efdec00-202605211246.0","@flowfuse/nr-mqtt-nodes":"0.3.1-442c4c3-202605191253.0","@flowfuse/nr-tables-nodes":"0.2.3-d02a64b-202605191140.0","@flowfuse/nr-project-nodes":"0.7.9-fda8e83-202605211248.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.30.2-1f9c7ed-202605211248.0_1779367741079_0.1167213517965684","host":"s3://npm-registry-packages-npm-production"}},"2.30.2-1f9c7ed-202605211249.0":{"name":"@flowfuse/nr-launcher","version":"2.30.2-1f9c7ed-202605211249.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.30.2-1f9c7ed-202605211249.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"d55a9c3a46ab3252fe1b71213f98a8d358649b08","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.30.2-1f9c7ed-202605211249.0.tgz","fileCount":47,"integrity":"sha512-Iie/86QFKof7Ew6US96DpVK8weh8hqVXXXWZ/ZN8BOGnFDjn3Piq6haKrBOQ1zr+Y1V/WQ1DzxR2VEW5uYMXSg==","signatures":[{"sig":"MEUCIFBpZere5I3L+UBCTfcDAPQXk5BM8qN+lXQPw5px7ObiAiEA6ozfsphxUyAwjDyNVMPLqc/1urq290p33RLFcuzJz1o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":642190},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"1f9c7ed09493f772972688927f40d9dcd88b9809","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.12.1","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.15.1-7dcf1d8-202605201848.0","@flowfuse/nr-file-nodes":"0.0.11-5676843-202605211249.0","@flowfuse/nr-mqtt-nodes":"0.3.1-9abfb44-202605211248.0","@flowfuse/nr-tables-nodes":"0.2.3-d02a64b-202605191140.0","@flowfuse/nr-project-nodes":"0.7.9-fda8e83-202605211248.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.30.2-1f9c7ed-202605211249.0_1779367805526_0.4227120181674806","host":"s3://npm-registry-packages-npm-production"}},"2.30.2-1f9c7ed-202605211258.0":{"name":"@flowfuse/nr-launcher","version":"2.30.2-1f9c7ed-202605211258.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.30.2-1f9c7ed-202605211258.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"ccb11a41a5028e3d46ad2a06460ad141617a05de","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.30.2-1f9c7ed-202605211258.0.tgz","fileCount":47,"integrity":"sha512-ZbtjWvjWi4jHPL7mkciLYae92DuwwVJqVCX5HagDrjgtx/nwVMpi1p7+dEwnL2/D/yZK2iWtAc+aDCZfIBDoKQ==","signatures":[{"sig":"MEUCIQCu1XYTbSWhM1jNFbriDXyJjywmBo5fFqtH3DOtoa3jJAIgJ1kEoGXgdiCveoUn6wuCqYsz19pvEqTiwjbDPwPwFT4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":642190},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"1f9c7ed09493f772972688927f40d9dcd88b9809","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.12.1","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.15.1-7dcf1d8-202605201848.0","@flowfuse/nr-file-nodes":"0.0.11-5676843-202605211249.0","@flowfuse/nr-mqtt-nodes":"0.3.1-9abfb44-202605211248.0","@flowfuse/nr-tables-nodes":"0.2.3-d02a64b-202605191140.0","@flowfuse/nr-project-nodes":"0.7.9-8266d3b-202605211257.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.30.2-1f9c7ed-202605211258.0_1779368320616_0.13839166068518827","host":"s3://npm-registry-packages-npm-production"}},"2.30.2-17e1b56-202605231354.0":{"name":"@flowfuse/nr-launcher","version":"2.30.2-17e1b56-202605231354.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.30.2-17e1b56-202605231354.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"6b3f0ac74f1e0de4712fb32db419451cafb670a9","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.30.2-17e1b56-202605231354.0.tgz","fileCount":47,"integrity":"sha512-mVKv+wWkTJ7s/vuTWbLB/uBVLb3TqfL8W0huJVKXGa31Hxa6dWs3+eUCmTnmYnEVGiRBp5/yuMGJrOK3CTH/Ig==","signatures":[{"sig":"MEUCIQDBBF1Kuo5yp//jv62RY5M70EmcGpK0ukEZZyNnL5jeWgIgZ9h7KbUYQqTJukhqZT1drGyc696EnUy4f2WsgOYL6c8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":642190},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"17e1b56e6b8122fa5b28fbe7beb8b58d953bdd62","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.12.1","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.15.1-7dcf1d8-202605201848.0","@flowfuse/nr-file-nodes":"0.0.11-5676843-202605211249.0","@flowfuse/nr-mqtt-nodes":"0.3.1-9abfb44-202605211248.0","@flowfuse/nr-tables-nodes":"0.2.3-d02a64b-202605191140.0","@flowfuse/nr-project-nodes":"0.7.9-8266d3b-202605211257.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.30.2-17e1b56-202605231354.0_1779544460176_0.7890118798271719","host":"s3://npm-registry-packages-npm-production"}},"2.30.2-17e1b56-202605240722.0":{"name":"@flowfuse/nr-launcher","version":"2.30.2-17e1b56-202605240722.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.30.2-17e1b56-202605240722.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"6e7eeac6a0d504c313ef4a7ce4b854b6c024382e","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.30.2-17e1b56-202605240722.0.tgz","fileCount":47,"integrity":"sha512-5GOpVllxUevD72O26eBMgK35QoMPfp5OpPl6qGsJXgSFiEnj9/c5iD052GRv42c9Q+gzqisyY3TkrjPFk9UwaA==","signatures":[{"sig":"MEYCIQCQoNmYw6o5NefcdG1gA9AbDnzqSTVKQyUwN6AiTYaUlgIhAMSsmvFB2fdK1UFRukpR3julAiLX8RuEyNE5sR+4WNA3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":642190},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"17e1b56e6b8122fa5b28fbe7beb8b58d953bdd62","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.12.1","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.15.1-7dcf1d8-202605201848.0","@flowfuse/nr-file-nodes":"0.0.11-5676843-202605211249.0","@flowfuse/nr-mqtt-nodes":"0.3.1-9abfb44-202605211248.0","@flowfuse/nr-tables-nodes":"0.2.3-d02a64b-202605191140.0","@flowfuse/nr-project-nodes":"0.7.9-377712e-202605240722.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.30.2-17e1b56-202605240722.0_1779607385813_0.1416928804200721","host":"s3://npm-registry-packages-npm-production"}},"2.30.2-17e1b56-202605251142.0":{"name":"@flowfuse/nr-launcher","version":"2.30.2-17e1b56-202605251142.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.30.2-17e1b56-202605251142.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"2380d2b6df347b4a70a1ae1f11bb531432e238f5","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.30.2-17e1b56-202605251142.0.tgz","fileCount":47,"integrity":"sha512-umHPPHEHrM2UyUB6nNooxrNHAajFHZv+Ia0N1bly1/6bZseSnGt8olpXISuh6PdEiM3EitCiNldVA2njIpm9IQ==","signatures":[{"sig":"MEYCIQD7JFZrjzkDIWM/cSVbFCKTuW5nm/lYBEsnjiLh9aT9lQIhANdLjs2+ayTF5f34T6iTMXWVvGQ23oxfAhICA4DtF4Oe","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":642190},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"17e1b56e6b8122fa5b28fbe7beb8b58d953bdd62","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.12.1","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.15.1-e8913c4-202605251141.0","@flowfuse/nr-file-nodes":"0.0.11-5676843-202605211249.0","@flowfuse/nr-mqtt-nodes":"0.3.1-9abfb44-202605211248.0","@flowfuse/nr-tables-nodes":"0.2.3-d02a64b-202605191140.0","@flowfuse/nr-project-nodes":"0.7.9-377712e-202605240722.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.30.2-17e1b56-202605251142.0_1779709328274_0.5395372498143389","host":"s3://npm-registry-packages-npm-production"}},"2.30.2-17e1b56-202605261353.0":{"name":"@flowfuse/nr-launcher","version":"2.30.2-17e1b56-202605261353.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.30.2-17e1b56-202605261353.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"ddd976fb9b33b5d8eb39073e86382b865ebe34cf","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.30.2-17e1b56-202605261353.0.tgz","fileCount":47,"integrity":"sha512-/U04haOnEgJD0Ppa0LU8td8KZydZBP6LUVN2VcLKDTNekCmxRLK9uCqa1BnQldtcTSn0IYAp1Y9pDj6I/iHSxA==","signatures":[{"sig":"MEQCIBgN0lz6iU7g8XfJG+IZiji50Wl1egGqO+f9lZPUx3QCAiBspGY5ft4unm15Yk40atK0Im9nRGUdSiHvTEApNTRFjg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":642190},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"17e1b56e6b8122fa5b28fbe7beb8b58d953bdd62","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.12.1","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.15.1-f992e57-202605261353.0","@flowfuse/nr-file-nodes":"0.0.11-5676843-202605211249.0","@flowfuse/nr-mqtt-nodes":"0.3.1-9abfb44-202605211248.0","@flowfuse/nr-tables-nodes":"0.2.3-d02a64b-202605191140.0","@flowfuse/nr-project-nodes":"0.7.9-377712e-202605240722.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.30.2-17e1b56-202605261353.0_1779803650043_0.5523027471244968","host":"s3://npm-registry-packages-npm-production"}},"2.30.2-17e1b56-202605261357.0":{"name":"@flowfuse/nr-launcher","version":"2.30.2-17e1b56-202605261357.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.30.2-17e1b56-202605261357.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"6f858574bf60a554369be77ec7253e976439e550","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.30.2-17e1b56-202605261357.0.tgz","fileCount":47,"integrity":"sha512-1FH9RQfGte5VI45zM8V7FXb/rgBcrDKB3DNaHRuaUAA7JkQIYeq7CCMptCY9+3GcYlv3g0zt6GrHOMym9XZ89w==","signatures":[{"sig":"MEQCIDDq91un0d3BNR0t3k8sg/bQUaeB8IPRQVZVdXmaSSVfAiATwuqGIZZaXMLCnG5/mgQRpVsGQsTvPsNZ7q1V++tlyA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":642190},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"17e1b56e6b8122fa5b28fbe7beb8b58d953bdd62","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.12.1","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.15.1-3680cc0-202605261356.0","@flowfuse/nr-file-nodes":"0.0.11-5676843-202605211249.0","@flowfuse/nr-mqtt-nodes":"0.3.1-9abfb44-202605211248.0","@flowfuse/nr-tables-nodes":"0.2.3-d02a64b-202605191140.0","@flowfuse/nr-project-nodes":"0.7.9-377712e-202605240722.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.30.2-17e1b56-202605261357.0_1779803856610_0.630502080273553","host":"s3://npm-registry-packages-npm-production"}},"2.30.2-17e1b56-202605261418.0":{"name":"@flowfuse/nr-launcher","version":"2.30.2-17e1b56-202605261418.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.30.2-17e1b56-202605261418.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"56d2c3d4e53d7482e5b35f03217227aaff232384","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.30.2-17e1b56-202605261418.0.tgz","fileCount":47,"integrity":"sha512-k4B+Cp3ONL7zp4g85xB7syjzQ7bea373gSKNgKw4ne/5qKvHXkNTrcZrrXzM/kXfp/6nC+Am32sb6IszqkySoA==","signatures":[{"sig":"MEUCIF3KZ0WJNjHwPTXDdH1vnGUlneaB8N6eAtfhuxw9vh8tAiEA0u8TmE1IqxHuR73/0aPHbDspwjDxjO4SrKCL77gFWl0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":642190},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"17e1b56e6b8122fa5b28fbe7beb8b58d953bdd62","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.12.1","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.15.1-5317dda-202605261417.0","@flowfuse/nr-file-nodes":"0.0.11-5676843-202605211249.0","@flowfuse/nr-mqtt-nodes":"0.3.1-9abfb44-202605211248.0","@flowfuse/nr-tables-nodes":"0.2.3-d02a64b-202605191140.0","@flowfuse/nr-project-nodes":"0.7.9-377712e-202605240722.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.30.2-17e1b56-202605261418.0_1779805093885_0.9775800104910919","host":"s3://npm-registry-packages-npm-production"}},"2.30.2-17e1b56-202605261501.0":{"name":"@flowfuse/nr-launcher","version":"2.30.2-17e1b56-202605261501.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.30.2-17e1b56-202605261501.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"2c38dc370402fdd38adc980dad79d25f7af54d68","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.30.2-17e1b56-202605261501.0.tgz","fileCount":47,"integrity":"sha512-YSzSe7q0aTDdbU4Eyqv4pS0XMRp8BJG/qUO2dZEXsGGpXUaCx7t07pzYQDSWd4/K3+hsUhDZERgc/N6Zy+T+FA==","signatures":[{"sig":"MEQCIFRtuHbWUAubX//8NRuakFPNfrRlCHF7HZv3x8HLYG39AiAJ2QuwTgB68cSoLeWNoIsh6xrMLSc/9eQwGnQ0bG6zKw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":642190},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"17e1b56e6b8122fa5b28fbe7beb8b58d953bdd62","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.12.1","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.15.1-fe56098-202605261500.0","@flowfuse/nr-file-nodes":"0.0.11-5676843-202605211249.0","@flowfuse/nr-mqtt-nodes":"0.3.1-9abfb44-202605211248.0","@flowfuse/nr-tables-nodes":"0.2.3-d02a64b-202605191140.0","@flowfuse/nr-project-nodes":"0.7.9-377712e-202605240722.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.30.2-17e1b56-202605261501.0_1779807704916_0.8292042973402272","host":"s3://npm-registry-packages-npm-production"}},"2.30.2-17e1b56-202605261504.0":{"name":"@flowfuse/nr-launcher","version":"2.30.2-17e1b56-202605261504.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.30.2-17e1b56-202605261504.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"2d0f6278bb3f0f9a5388df8d435527b2c2e45385","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.30.2-17e1b56-202605261504.0.tgz","fileCount":47,"integrity":"sha512-0A+FTv+0mHjOj8Dens9Ys0tXcpPPNKwyQcKMyQJyIxytYlXNnVbQ3PHR6C8AFyJ8Fo/LvmtW/fhvHL4aTMj6QQ==","signatures":[{"sig":"MEUCIQCIiTzTmCLGkJyAPFdkKoc3UC59ws5Z8K3QN/wYlR7zQAIgXMnhg/bTEyh0siC+0hhbdzoEVxUWfcg9jxjldyi53cE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":642190},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"17e1b56e6b8122fa5b28fbe7beb8b58d953bdd62","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.12.1","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.16.1-1f0b396-202605261503.0","@flowfuse/nr-file-nodes":"0.0.11-5676843-202605211249.0","@flowfuse/nr-mqtt-nodes":"0.3.1-9abfb44-202605211248.0","@flowfuse/nr-tables-nodes":"0.2.3-d02a64b-202605191140.0","@flowfuse/nr-project-nodes":"0.7.9-377712e-202605240722.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.30.2-17e1b56-202605261504.0_1779807897354_0.2546839861809247","host":"s3://npm-registry-packages-npm-production"}},"2.30.2-17e1b56-202605270830.0":{"name":"@flowfuse/nr-launcher","version":"2.30.2-17e1b56-202605270830.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.30.2-17e1b56-202605270830.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"fb7eefbda8f4215ce3e70f841dd9eada209a9b09","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.30.2-17e1b56-202605270830.0.tgz","fileCount":47,"integrity":"sha512-KmHcs/S4RoJxSQq0Kk9xiVekHVz9CI6FshIcopRCz/wwyDuYwD4eAXp9l5tva/l+F+vQXGsv+wYNd+xTlSKVFw==","signatures":[{"sig":"MEQCIHeax4eFSXOZ02P6cOjTEWzx1Y5j86KNaYuYJpQly9+eAiB8YWT1QQU3yqtvq4sz7kxIlzm7az+yFWvxc426eG51og==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":642190},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"17e1b56e6b8122fa5b28fbe7beb8b58d953bdd62","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.12.1","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.16.1-1f0b396-202605261503.0","@flowfuse/nr-file-nodes":"0.0.11-5676843-202605211249.0","@flowfuse/nr-mqtt-nodes":"0.3.1-9abfb44-202605211248.0","@flowfuse/nr-tables-nodes":"0.2.3-fca6f65-202605270829.0","@flowfuse/nr-project-nodes":"0.7.9-377712e-202605240722.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.30.2-17e1b56-202605270830.0_1779870627202_0.12560159950943728","host":"s3://npm-registry-packages-npm-production"}},"2.30.2-17e1b56-202605271253.0":{"name":"@flowfuse/nr-launcher","version":"2.30.2-17e1b56-202605271253.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.30.2-17e1b56-202605271253.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"f860ecbe206124c30f8d75befa5676d6d6d2b935","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.30.2-17e1b56-202605271253.0.tgz","fileCount":47,"integrity":"sha512-j9Bc/VLLldOcHC3eZ61/vFzA+w3tFbchG6q+fEfVx5WPdn4GBc+h1fwba4loCQsQqsZC5fOyKxZvAyWDvP9ITg==","signatures":[{"sig":"MEQCIG4mKaGImV3VBU/wm+e260Lj7TxyFbeI/4K9anxmBtiGAiB7x5GVOSeuTyu46fJ8t2IGJ35rj5X/Or/SfCDkR0IJCg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":642190},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"17e1b56e6b8122fa5b28fbe7beb8b58d953bdd62","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.12.1","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.16.1-1f0b396-202605261503.0","@flowfuse/nr-file-nodes":"0.0.11-5676843-202605211249.0","@flowfuse/nr-mqtt-nodes":"0.3.1-9abfb44-202605211248.0","@flowfuse/nr-tables-nodes":"0.2.3-a8815ea-202605271249.0","@flowfuse/nr-project-nodes":"0.7.9-6f59a94-202605271246.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.30.2-17e1b56-202605271253.0_1779886400052_0.8639125199481523","host":"s3://npm-registry-packages-npm-production"}},"2.30.2-17e1b56-202605271643.0":{"name":"@flowfuse/nr-launcher","version":"2.30.2-17e1b56-202605271643.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.30.2-17e1b56-202605271643.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"0050e1bda36a859963c5f8ff85e9a9985dfaf1e1","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.30.2-17e1b56-202605271643.0.tgz","fileCount":47,"integrity":"sha512-CGZdAnnpsghUcEpcC4S1orKHDuLUDTHmsWprEyk/kcKQDIKl9MEj4plTWwbhbp+wRZc+NN5z82hULM+UkcXGpg==","signatures":[{"sig":"MEQCIAmxWiLbc+haqaANxmSCdgp7MgNeA+2UbesNrihIwSI2AiA+yyX+/vyJOJ7ABin9eOZpBS0vJEuoBnsPeAzCsimMYQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":642190},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"17e1b56e6b8122fa5b28fbe7beb8b58d953bdd62","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.12.1","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.16.1-1f0b396-202605261503.0","@flowfuse/nr-file-nodes":"0.0.11-d0106e8-202605271642.0","@flowfuse/nr-mqtt-nodes":"0.3.1-c51c891-202605271642.0","@flowfuse/nr-tables-nodes":"0.2.3-a8815ea-202605271249.0","@flowfuse/nr-project-nodes":"0.7.9-6f59a94-202605271246.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.30.2-17e1b56-202605271643.0_1779900211709_0.6277311054925834","host":"s3://npm-registry-packages-npm-production"}},"2.30.2-17e1b56-202605280557.0":{"name":"@flowfuse/nr-launcher","version":"2.30.2-17e1b56-202605280557.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.30.2-17e1b56-202605280557.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"1647706f0e6fe29a334ff757d9b8e174b142b171","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.30.2-17e1b56-202605280557.0.tgz","fileCount":47,"integrity":"sha512-iGdB58IbAMIeVnPMJD/BEQegxAgkokfh0yxHCToNe00Fp2GreQW6azzAKuqJjCQmTDKLOVi1xJRMHozn/42xSQ==","signatures":[{"sig":"MEUCIQDFCaRrdY1d7wGvc3I9cCH70Qt8kgnPPyRt/fLpRlDc5gIgViGSG6t+yrNkcDu3brcR1aI78L7gsvMSudEiS5gq0JY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":642190},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"17e1b56e6b8122fa5b28fbe7beb8b58d953bdd62","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.12.1","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.16.1-1f0b396-202605261503.0","@flowfuse/nr-file-nodes":"0.0.11-d0106e8-202605271642.0","@flowfuse/nr-mqtt-nodes":"0.3.1-c51c891-202605271642.0","@flowfuse/nr-tables-nodes":"0.2.3-3c08846-202605280556.0","@flowfuse/nr-project-nodes":"0.7.9-6f59a94-202605271246.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.30.2-17e1b56-202605280557.0_1779947844639_0.884051587768111","host":"s3://npm-registry-packages-npm-production"}},"2.30.2-17e1b56-202605280600.0":{"name":"@flowfuse/nr-launcher","version":"2.30.2-17e1b56-202605280600.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.30.2-17e1b56-202605280600.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"2f0b7cebacdb7232ba217c09ce69e7dc6972b8d0","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.30.2-17e1b56-202605280600.0.tgz","fileCount":47,"integrity":"sha512-dFYn/HN+TKzbO+nTanuqGKlqMCSsQgDP86IpJTflcSWcgivZufliyNDIxOvc6bZWNm5jiyv61tbb24HCLJzOyg==","signatures":[{"sig":"MEQCIB/bJk3+aOhzg6DgDVvwDuPlgBlv6JX2LE7HkU/olZ3oAiBA8X5smW0uXzpP044PxtOIHxY368BN13NrwZwYpo2gQg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":642190},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"17e1b56e6b8122fa5b28fbe7beb8b58d953bdd62","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.12.1","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.15.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.16.1-1f0b396-202605261503.0","@flowfuse/nr-file-nodes":"0.0.11-d0106e8-202605271642.0","@flowfuse/nr-mqtt-nodes":"0.3.1-c51c891-202605271642.0","@flowfuse/nr-tables-nodes":"0.2.3-cfb675a-202605280559.0","@flowfuse/nr-project-nodes":"0.7.9-6f59a94-202605271246.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.30.2-17e1b56-202605280600.0_1779948049995_0.003165552805237004","host":"s3://npm-registry-packages-npm-production"}},"2.30.2-23b7795-202606020920.0":{"name":"@flowfuse/nr-launcher","version":"2.30.2-23b7795-202606020920.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.30.2-23b7795-202606020920.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"380e6b0ea8b9f614c56acd4f93b091e4ea1ce5c1","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.30.2-23b7795-202606020920.0.tgz","fileCount":47,"integrity":"sha512-5AJBpeFzqVUcJ3NP3/HEpc8It4rht/gfRWiOnqAEoos7HAdjQ8EIYvlCx9WTx3h4jPXLGeYJdrJFNp/gf8YMQA==","signatures":[{"sig":"MEYCIQC7SQxJxRjlM3Ey0UBhV3BbFywCCt3RD4e7T0vTz485JQIhAJAdBd18OcXat/fvTuCB+GV/t8oDBQmMg6NZA2h0629t","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":642359},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"23b779553ed8cc38784a7ca1786db2c750d1ec12","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.13.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.16.1-1f0b396-202605261503.0","@flowfuse/nr-file-nodes":"0.0.11-d0106e8-202605271642.0","@flowfuse/nr-mqtt-nodes":"0.3.1-c51c891-202605271642.0","@flowfuse/nr-tables-nodes":"0.2.3-cfb675a-202605280559.0","@flowfuse/nr-project-nodes":"0.7.9-6f59a94-202605271246.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.30.2-23b7795-202606020920.0_1780392063995_0.7308062665981574","host":"s3://npm-registry-packages-npm-production"}},"2.30.2-3914afb-202606041313.0":{"name":"@flowfuse/nr-launcher","version":"2.30.2-3914afb-202606041313.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.30.2-3914afb-202606041313.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"c34fa5102ef2d617e1aa7841f4d83de078e75cfc","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.30.2-3914afb-202606041313.0.tgz","fileCount":47,"integrity":"sha512-Q64FIDIFbCuiu9HznHF3WQStkqoWfncVOQtPSBxHvqu4Yesq6wwcsWGiRXbmtWgtV0DyF9DQkJ934Oyc9gowfA==","signatures":[{"sig":"MEUCIHZET4LHaknXy1YYTqqls6efKCWVnFWsGhwD5pQ4DGE6AiEAmH7c61zXrUe0vUoRf3nkPbBuuw32+xJez2Ebrf0NtIw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":642359},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"3914afb863ed85c703284626efa1d73f5f5149f9","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.13.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.16.1-1f0b396-202605261503.0","@flowfuse/nr-file-nodes":"0.0.11-d0106e8-202605271642.0","@flowfuse/nr-mqtt-nodes":"0.3.1-c51c891-202605271642.0","@flowfuse/nr-tables-nodes":"0.2.3-cfb675a-202605280559.0","@flowfuse/nr-project-nodes":"0.7.9-6f59a94-202605271246.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.30.2-3914afb-202606041313.0_1780578837351_0.6738091036926421","host":"s3://npm-registry-packages-npm-production"}},"2.31.0":{"name":"@flowfuse/nr-launcher","version":"2.31.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.31.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"aabd7f144aa59d884245f6bc4e280383a09381e8","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.31.0.tgz","fileCount":47,"integrity":"sha512-Jl5aVU1WjDmAkmVksBmcirQcxiplWfKpDc0aYByAsSkyNCTz+VI/gF6Igejte7f7cTWXfUcaPCIhiP39rITf9g==","signatures":[{"sig":"MEQCIDwQyl+kPyu8gW58STVH/mz7gArxf1DHs8/y4AzqU91kAiB+HLIN3yOodEXwPBiD6qqUBSk0MJGYVrXPvOhgW+kaLw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":643007},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"56392b589ac444f2a8af0f5e3808f96da5f218e1","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.13.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"^0.16.0","@flowfuse/nr-file-nodes":"^0.0.10","@flowfuse/nr-mqtt-nodes":"^0.3.0","@flowfuse/nr-tables-nodes":"^0.2.2","@flowfuse/nr-project-nodes":"^0.7.8","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.31.0_1780579005564_0.9673039930820793","host":"s3://npm-registry-packages-npm-production"}},"2.31.1-56392b5-202606041316.0":{"name":"@flowfuse/nr-launcher","version":"2.31.1-56392b5-202606041316.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.31.1-56392b5-202606041316.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"3b684555760dba8a2021dba1a82ffcbcfc713a28","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.31.1-56392b5-202606041316.0.tgz","fileCount":47,"integrity":"sha512-yzde/XOVojSlIJTEboeChVHuYhqVgGcXGwJLIttCh0k4lsHfIQPeyEQZ3/6uZ9mWWJEQObWF/sdN9i+zRg6twg==","signatures":[{"sig":"MEYCIQDmVz+UtRmzN33+5HoIW7Hdw9gbN0SO9EdxAdeTXgDj3QIhANgnkpZK+V2hqeZ3D2o79ZBcjmcnz7azUJdc8qX1dg6k","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":643140},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"56392b589ac444f2a8af0f5e3808f96da5f218e1","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.13.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.16.1-1f0b396-202605261503.0","@flowfuse/nr-file-nodes":"0.0.11-d0106e8-202605271642.0","@flowfuse/nr-mqtt-nodes":"0.3.1-c51c891-202605271642.0","@flowfuse/nr-tables-nodes":"0.2.3-cfb675a-202605280559.0","@flowfuse/nr-project-nodes":"0.7.9-6f59a94-202605271246.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.31.1-56392b5-202606041316.0_1780579014714_0.9252644162645325","host":"s3://npm-registry-packages-npm-production"}},"2.31.1-2108034-202606051039.0":{"name":"@flowfuse/nr-launcher","version":"2.31.1-2108034-202606051039.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.31.1-2108034-202606051039.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"5699cc756f5b2403e48b615b828368cc861897cf","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.31.1-2108034-202606051039.0.tgz","fileCount":47,"integrity":"sha512-sj33XQzus3iMFfeufz/72CaE57uGVIoZGZpwhIP/mEAKK4TPg6Oei7HD61SBT1DU618eMANqSNk+aSppsYYUJg==","signatures":[{"sig":"MEUCIQDm+HB1pOpu7eAY5BzBc6t1vwQDceMsLDW6XrswC1XG2AIgH1mZhrdD4gLTvdkfME9sA0dCWiCuPZcNPPgsM8EP3KU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":643140},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"210803420ff9ffd24ce2623b0726bfe2a6107c37","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.13.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.16.1-1f0b396-202605261503.0","@flowfuse/nr-file-nodes":"0.0.11-d0106e8-202605271642.0","@flowfuse/nr-mqtt-nodes":"0.3.1-c51c891-202605271642.0","@flowfuse/nr-tables-nodes":"0.2.3-cfb675a-202605280559.0","@flowfuse/nr-project-nodes":"0.7.9-6f59a94-202605271246.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.31.1-2108034-202606051039.0_1780655981958_0.543711028935977","host":"s3://npm-registry-packages-npm-production"}},"2.31.1":{"name":"@flowfuse/nr-launcher","version":"2.31.1","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.31.1","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"9911e6373ea8fcc5bd0d2864b5ad4edf7534429a","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.31.1.tgz","fileCount":47,"integrity":"sha512-3TRXPajENkf2szqzFIBY7B5PPiQTGDYas8yrArz1T7d4RhKZODEh56ilL3mLYP2ogdKpDKdbL8PZaetm5V39Vw==","signatures":[{"sig":"MEQCIHzqNtiCLMlOWuoJelfzb5PbyAfKuo968UNN4LKIQ9M1AiB78R/YdLLOUxGnW9pZmy8XbpXSj+6WWdSzpKmdYItt+A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":643074},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"6e17138609ace7e83e04ca9a2c44f8f94c327a42","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.13.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"^0.16.0","@flowfuse/nr-file-nodes":"^0.0.10","@flowfuse/nr-mqtt-nodes":"^0.3.0","@flowfuse/nr-tables-nodes":"^0.2.2","@flowfuse/nr-project-nodes":"^0.7.8","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.31.1_1781012661412_0.429992281870206","host":"s3://npm-registry-packages-npm-production"}},"2.31.2-6e17138-202606091344.0":{"name":"@flowfuse/nr-launcher","version":"2.31.2-6e17138-202606091344.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.31.2-6e17138-202606091344.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"d6fcbb4994aa01e6c4bcfdba6aedc608aade85de","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.31.2-6e17138-202606091344.0.tgz","fileCount":47,"integrity":"sha512-7uZ3uMPaKTiEU4aNlxrrFBm6+QpgCBSdqV1ki+wZc8LjdTYfEFvtbh1tnyr6TI5hRv97nX9kAjWItPM5LqK8Yg==","signatures":[{"sig":"MEUCIQCTtTJU4UNP2Ej+uz8CnOhOY+ahSRVaIQFqbn0DrM15YgIgMWYecNJR30fTTNVmQ+0FcQrGwwQ9/pJkFBKpojIKdDQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":643207},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"6e17138609ace7e83e04ca9a2c44f8f94c327a42","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.13.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.16.1-1f0b396-202605261503.0","@flowfuse/nr-file-nodes":"0.0.11-d0106e8-202605271642.0","@flowfuse/nr-mqtt-nodes":"0.3.1-c51c891-202605271642.0","@flowfuse/nr-tables-nodes":"0.2.3-cfb675a-202605280559.0","@flowfuse/nr-project-nodes":"0.7.9-6f59a94-202605271246.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.31.2-6e17138-202606091344.0_1781012676668_0.45095096296623693","host":"s3://npm-registry-packages-npm-production"}},"2.31.2-e0ccb6d-202606091417.0":{"name":"@flowfuse/nr-launcher","version":"2.31.2-e0ccb6d-202606091417.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.31.2-e0ccb6d-202606091417.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"3b1b5be5e00f1349de4a6f89d372c7c822bc5c7d","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.31.2-e0ccb6d-202606091417.0.tgz","fileCount":47,"integrity":"sha512-jTm9OUMmjoH7wPL4v2RqdoaYv2bf5qS/BGV83+wDfqjzsG4Se3E3o+Ma8pTvgOwVHH6IPjnV3rPtIH7m8j7bzg==","signatures":[{"sig":"MEUCIEnP2UxAabXdy20CCFlzdY+yENBlOJImE54CG+4FHUWgAiEAvTQ3iN2l2ilfbK+Mmutoecd+3HyAq5Q/cX6IoQcgAAs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":643207},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"e0ccb6d99b33b345a487582cc49be2fdf4a152d2","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.13.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.16.1-1f0b396-202605261503.0","@flowfuse/nr-file-nodes":"0.0.11-d0106e8-202605271642.0","@flowfuse/nr-mqtt-nodes":"0.3.1-c51c891-202605271642.0","@flowfuse/nr-tables-nodes":"0.2.3-cfb675a-202605280559.0","@flowfuse/nr-project-nodes":"0.7.9-6f59a94-202605271246.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.31.2-e0ccb6d-202606091417.0_1781014672136_0.10664740523848493","host":"s3://npm-registry-packages-npm-production"}},"2.31.2":{"name":"@flowfuse/nr-launcher","version":"2.31.2","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.31.2","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"ca371560d1d2e2771ebbba840b5e918703a4da20","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.31.2.tgz","fileCount":47,"integrity":"sha512-tjQKLiPYbc/NXdBy9e5PP3x7S+g8Awj5obME/WAuRRr7oNlOE01hjSFkeJAeBPa9p29yEDeSr+BJqfI44HraiA==","signatures":[{"sig":"MEUCIA1hY2kC6UM2wzv94i/M+APv9tmJJ4opofWBmjPwr4zOAiEAze2RHO79aK9ZXtfPhZziAKLjif7lGQ5qCKNeYKLiSXw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":643175},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"1aa3ebe0f08d7dd76144efa14e44ddba82cd978c","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.13.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"^0.16.0","@flowfuse/nr-file-nodes":"^0.0.10","@flowfuse/nr-mqtt-nodes":"^0.3.0","@flowfuse/nr-tables-nodes":"^0.2.2","@flowfuse/nr-project-nodes":"^0.7.8","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.31.2_1781015240301_0.7437639525605892","host":"s3://npm-registry-packages-npm-production"}},"2.31.3-1aa3ebe-202606091427.0":{"name":"@flowfuse/nr-launcher","version":"2.31.3-1aa3ebe-202606091427.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.31.3-1aa3ebe-202606091427.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"d793929300c6b87fd849ce5db86ea21b173df89b","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.31.3-1aa3ebe-202606091427.0.tgz","fileCount":47,"integrity":"sha512-qitOw1qBHxcFAVnFpOsi8wkkqbYC8c67RqXO8V56oBTqgZZGW1HYIv3CxEqS6isSFEC/+Odr8ypuyzov10vJ5Q==","signatures":[{"sig":"MEUCIQCPuZqp1+EaGX3b71NG1KTKnSSkEcAbIr4MlHUfLYNDNgIgKAaU03ZetPWB4kR0lnGg0z/n0F4/EwaPMAEqsIqVqdA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":643308},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"1aa3ebe0f08d7dd76144efa14e44ddba82cd978c","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.13.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.16.1-1f0b396-202605261503.0","@flowfuse/nr-file-nodes":"0.0.11-d0106e8-202605271642.0","@flowfuse/nr-mqtt-nodes":"0.3.1-c51c891-202605271642.0","@flowfuse/nr-tables-nodes":"0.2.3-cfb675a-202605280559.0","@flowfuse/nr-project-nodes":"0.7.9-6f59a94-202605271246.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.31.3-1aa3ebe-202606091427.0_1781015242239_0.4637910658893101","host":"s3://npm-registry-packages-npm-production"}},"2.31.3-567db72-202606161319.0":{"name":"@flowfuse/nr-launcher","version":"2.31.3-567db72-202606161319.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.31.3-567db72-202606161319.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"1db967802adee9adbb1fd5fc12aa97b01621e805","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.31.3-567db72-202606161319.0.tgz","fileCount":47,"integrity":"sha512-gZSANICyAtle2atR43rri2FhLQf/NPVOY+SkiTMnf4nAup8z+zr6FC2mbjru7p6V6OkrPBYY5sk6gmEstLEagg==","signatures":[{"sig":"MEYCIQDvgKeXSjFNVUGVsAJksNAsC+5VLk4T7TXCcsJ6KzTT4wIhAPhxzWs19GN/P5UfkNPk8pztrqq+gSXxk5vPtWVYlrSa","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":643343},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"567db723f24dccaf4ca1591c36718d61f88662a8","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.13.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.16.1-1f0b396-202605261503.0","@flowfuse/nr-file-nodes":"0.0.11-d0106e8-202605271642.0","@flowfuse/nr-mqtt-nodes":"0.3.1-c51c891-202605271642.0","@flowfuse/nr-tables-nodes":"0.2.3-cfb675a-202605280559.0","@flowfuse/nr-project-nodes":"0.7.9-6f59a94-202605271246.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.31.3-567db72-202606161319.0_1781615954577_0.5267229817352037","host":"s3://npm-registry-packages-npm-production"}},"2.31.3":{"name":"@flowfuse/nr-launcher","version":"2.31.3","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.31.3","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"5e7943f5922c46d03dfbb29fe2607c2cc2798545","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.31.3.tgz","fileCount":47,"integrity":"sha512-TMav4RJjii3NfieAZurdmycpGraR+BaQka1sUH51+PW7a/gj3AKhhR8LyTOUq/GGeMFhJO2beGh0M2yEtoThYA==","signatures":[{"sig":"MEUCIQDQg+fPxIMa5P2/E54SUfiG9O38JI3LO5tvQAFalwU0jwIgUgs0DE5q4xx9RwoVBtRV5Cjtv6qnGb62kLJAGQIY7ds=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":643303},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"b19fcd1de6baf4e333bc392791a7de835e4309b3","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.13.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"^0.16.0","@flowfuse/nr-file-nodes":"^0.0.10","@flowfuse/nr-mqtt-nodes":"^0.3.0","@flowfuse/nr-tables-nodes":"^0.2.2","@flowfuse/nr-project-nodes":"^0.7.8","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.31.3_1781617753359_0.5614253408399736","host":"s3://npm-registry-packages-npm-production"}},"2.31.4-b19fcd1-202606161349.0":{"name":"@flowfuse/nr-launcher","version":"2.31.4-b19fcd1-202606161349.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.31.4-b19fcd1-202606161349.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"fcc67e5b5cd2e657605735d0d0d313c4abc99c94","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.31.4-b19fcd1-202606161349.0.tgz","fileCount":47,"integrity":"sha512-jQynnjVz402O+xBu6Ci6wTiJ/yOXgD6tz9OgnghIIL9jfG08PgcwDYVdX1tdFrjwqUQKy8n1bh2cPIEJnLkgvQ==","signatures":[{"sig":"MEUCIQCzQVSftgtvkQqsq9pzbnoVO9MZtmZlG1BeTEijK7VPSwIgbFoX9ECeBTsojUiPlg13waJIpSVtMvMB8FdtmwpPiDI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":643436},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"b19fcd1de6baf4e333bc392791a7de835e4309b3","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.13.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.16.1-1f0b396-202605261503.0","@flowfuse/nr-file-nodes":"0.0.11-d0106e8-202605271642.0","@flowfuse/nr-mqtt-nodes":"0.3.1-c51c891-202605271642.0","@flowfuse/nr-tables-nodes":"0.2.3-cfb675a-202605280559.0","@flowfuse/nr-project-nodes":"0.7.9-6f59a94-202605271246.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.31.4-b19fcd1-202606161349.0_1781617763617_0.8492079094042166","host":"s3://npm-registry-packages-npm-production"}},"2.31.4-b19fcd1-202606161626.0":{"name":"@flowfuse/nr-launcher","version":"2.31.4-b19fcd1-202606161626.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.31.4-b19fcd1-202606161626.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"6f700f1cb51ec1965ba6568a99b4b84378559a74","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.31.4-b19fcd1-202606161626.0.tgz","fileCount":47,"integrity":"sha512-K6tilGILs387VA83ysHh3UvKh/MlquN0p4MJVvpnJuqBz0SZK5QTjY/6HPwHrJsZeq2yEdduqIPSUaV0DoUZdA==","signatures":[{"sig":"MEUCIDUscXpVCmQtn1Ju9g4TCJ8xSvhxUlV7xrjrMNw8PXRsAiEAjADsJkiY8VMOoFfXbV4kSe7gWfRs5IOHOUelEs9xK5I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":643436},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"b19fcd1de6baf4e333bc392791a7de835e4309b3","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.13.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.16.1-1f0b396-202605261503.0","@flowfuse/nr-file-nodes":"0.0.11-663f551-202606161625.0","@flowfuse/nr-mqtt-nodes":"0.3.1-c51c891-202605271642.0","@flowfuse/nr-tables-nodes":"0.2.3-cfb675a-202605280559.0","@flowfuse/nr-project-nodes":"0.7.9-6f59a94-202605271246.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.31.4-b19fcd1-202606161626.0_1781627196698_0.9141642168230895","host":"s3://npm-registry-packages-npm-production"}},"2.31.4-b19fcd1-202606161628.0":{"name":"@flowfuse/nr-launcher","version":"2.31.4-b19fcd1-202606161628.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.31.4-b19fcd1-202606161628.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"a2bcea1fa07d766455b8c753134368c09dd88ba2","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.31.4-b19fcd1-202606161628.0.tgz","fileCount":47,"integrity":"sha512-62Qww5dfn79uUnkS7XlnimUSA8GrLbSnqfbf+gAAh7PGsTjjp+H0t+Vc9z0gxnS3k9tVTOERCHJ4a7wHvtUxqQ==","signatures":[{"sig":"MEYCIQCjdQpetPJ77t9VHw9VLZsEOky9PcZ1pt8GuE0g/MNYFwIhAJFByn5jw4ZC2lsJ5jt3jY3ndsH4WgzmSDusyU3aa/Bo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":643436},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"b19fcd1de6baf4e333bc392791a7de835e4309b3","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.13.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.16.1-1f0b396-202605261503.0","@flowfuse/nr-file-nodes":"0.0.11-663f551-202606161625.0","@flowfuse/nr-mqtt-nodes":"0.3.1-c51c891-202605271642.0","@flowfuse/nr-tables-nodes":"0.2.3-a5f200b-202606161627.0","@flowfuse/nr-project-nodes":"0.7.9-6f59a94-202605271246.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.31.4-b19fcd1-202606161628.0_1781627334188_0.5641515043590477","host":"s3://npm-registry-packages-npm-production"}},"2.31.4-b19fcd1-202606161630.0":{"name":"@flowfuse/nr-launcher","version":"2.31.4-b19fcd1-202606161630.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.31.4-b19fcd1-202606161630.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"acc71ab303933c18ad10f7c47d07ab6e94b369d6","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.31.4-b19fcd1-202606161630.0.tgz","fileCount":47,"integrity":"sha512-heAgXH747XsXzNAeqmsgmtDgUTa5FPW6+piKQZrjYQv0DcoYZvDIFrz+VpoIuJFb9tLoGrbvvyhigKQEkcuL6Q==","signatures":[{"sig":"MEQCIGeXBa+TZSlJ06qa3zzNq7zZ9Mqz9S3zJ8V7hHISIpRkAiA95os6ckdvdQ0HHHmE7KyRRqSgLC3yWueQ+X5ikWNT7w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":643436},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"b19fcd1de6baf4e333bc392791a7de835e4309b3","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.13.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.16.1-1f0b396-202605261503.0","@flowfuse/nr-file-nodes":"0.0.11-663f551-202606161625.0","@flowfuse/nr-mqtt-nodes":"0.3.1-70adb5f-202606161629.0","@flowfuse/nr-tables-nodes":"0.2.3-a5f200b-202606161627.0","@flowfuse/nr-project-nodes":"0.7.9-6f59a94-202605271246.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.31.4-b19fcd1-202606161630.0_1781627419491_0.36482382215110376","host":"s3://npm-registry-packages-npm-production"}},"2.31.4-cfeb007-202606161638.0":{"name":"@flowfuse/nr-launcher","version":"2.31.4-cfeb007-202606161638.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.31.4-cfeb007-202606161638.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"ad765bd8b0a6b98450f89774dd8b6deebc60b449","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.31.4-cfeb007-202606161638.0.tgz","fileCount":47,"integrity":"sha512-4abPV2FBE7bKT1MSrUAqqkWfgWPNyX9MatkcplfHYAgBNtakwljhzQDFFPTAamcyg7LTlFNRBGiAACIBi6/weg==","signatures":[{"sig":"MEQCIAHT4CjRPLE2C/F7I9hVixMIDxOgkyQtwn48ziPxZWcXAiBW4BxyIY/EIk3OsKgbwohHhWW2xQZ/2H7dQVCH42jK0g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":643436},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"cfeb0073f17ff73dcf127a8f7ae85fd00e9e2c70","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.13.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.16.1-1f0b396-202605261503.0","@flowfuse/nr-file-nodes":"0.0.11-663f551-202606161625.0","@flowfuse/nr-mqtt-nodes":"0.3.1-70adb5f-202606161629.0","@flowfuse/nr-tables-nodes":"0.2.3-a5f200b-202606161627.0","@flowfuse/nr-project-nodes":"0.7.9-6f59a94-202605271246.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.31.4-cfeb007-202606161638.0_1781627923759_0.923087666281903","host":"s3://npm-registry-packages-npm-production"}},"2.31.4-9269338-202606161644.0":{"name":"@flowfuse/nr-launcher","version":"2.31.4-9269338-202606161644.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.31.4-9269338-202606161644.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"469a31284eec651e4ad84634ee1092e2f58f34fe","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.31.4-9269338-202606161644.0.tgz","fileCount":47,"integrity":"sha512-xAJhFcYurlFRs9Lc3iXGULOQf0gkfCkTHMVTO5856fF2H6lEQB8qd2OLlEGKcFeIQxOusyHXpyYXkwisbDwBhQ==","signatures":[{"sig":"MEQCIAQ/Z0nOkfmHu2PiQcJnisKI/DDKU+bOKp7pdRvtsllNAiBg6l8QHuU/SEFKE8e9EXebJuWJy4dvTpaPzayX6GlCyg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":643436},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"926933803ec0c1c3e4bc79b54f3c30e4a3e8f0b8","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.13.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.16.1-1f0b396-202605261503.0","@flowfuse/nr-file-nodes":"0.0.11-663f551-202606161625.0","@flowfuse/nr-mqtt-nodes":"0.3.1-70adb5f-202606161629.0","@flowfuse/nr-tables-nodes":"0.2.3-a5f200b-202606161627.0","@flowfuse/nr-project-nodes":"0.7.9-6f59a94-202605271246.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.31.4-9269338-202606161644.0_1781628265555_0.28206140346775355","host":"s3://npm-registry-packages-npm-production"}},"2.31.4-9269338-202606161707.0":{"name":"@flowfuse/nr-launcher","version":"2.31.4-9269338-202606161707.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.31.4-9269338-202606161707.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"3f43ca2f85e55f22a742f6db9186855c3c6c6ede","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.31.4-9269338-202606161707.0.tgz","fileCount":47,"integrity":"sha512-gSG+mq5yO7WlIuVDC353KtreiWpwb37nEQq7SgN5DZ+Z/WhahIJDlgUuPKRSPk0b7XPjxoJXLjS6PecHD4vVGQ==","signatures":[{"sig":"MEYCIQDaO4SZIeAEd7yPgk47cdmAPdOy94flyaV1CPiOE8woigIhAP/BeIE1eBKN9l1rzsaxX2auvNnD5Uw4obrSDyLJa3B4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":643436},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"926933803ec0c1c3e4bc79b54f3c30e4a3e8f0b8","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.13.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.16.1-b817aa5-202606161706.0","@flowfuse/nr-file-nodes":"0.0.11-663f551-202606161625.0","@flowfuse/nr-mqtt-nodes":"0.3.1-70adb5f-202606161629.0","@flowfuse/nr-tables-nodes":"0.2.3-a5f200b-202606161627.0","@flowfuse/nr-project-nodes":"0.7.9-6f59a94-202605271246.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.31.4-9269338-202606161707.0_1781629661778_0.06454673312296011","host":"s3://npm-registry-packages-npm-production"}},"2.31.4-9269338-202606161812.0":{"name":"@flowfuse/nr-launcher","version":"2.31.4-9269338-202606161812.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.31.4-9269338-202606161812.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"7ce0549c36ede0b98bc158b42fbe88fd5de02890","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.31.4-9269338-202606161812.0.tgz","fileCount":47,"integrity":"sha512-uWyvT64mBRqt2bdWUrmv3HVbryaNTuoSUmUMtgAkrjZu+a35rumiFUdZbe2rYKH8LLPcotqciXmYj2EJg6DkqA==","signatures":[{"sig":"MEQCIBUG+2yaqbto8sY3fip8u5KcL6LYttqWc2Dd9TemzMfQAiB5j0Rz8hf59QLbYBh4004fy/itFqSVTkorPVRDc6GVXA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":643436},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"926933803ec0c1c3e4bc79b54f3c30e4a3e8f0b8","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.13.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.16.1-b817aa5-202606161706.0","@flowfuse/nr-file-nodes":"0.0.11-f3d8a59-202606161811.0","@flowfuse/nr-mqtt-nodes":"0.3.1-70adb5f-202606161629.0","@flowfuse/nr-tables-nodes":"0.2.3-a5f200b-202606161627.0","@flowfuse/nr-project-nodes":"0.7.9-6f59a94-202605271246.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.31.4-9269338-202606161812.0_1781633542888_0.5093926801727229","host":"s3://npm-registry-packages-npm-production"}},"2.31.4-9269338-202606220919.0":{"name":"@flowfuse/nr-launcher","version":"2.31.4-9269338-202606220919.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.31.4-9269338-202606220919.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"7e403a3648c69ec72f849fcefba2254973beb9d8","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.31.4-9269338-202606220919.0.tgz","fileCount":47,"integrity":"sha512-IYUHxtdvOPLCny4OIO0VJApwPrIU54q7gLjifK40AZwXpcG1HeC4pgfax/Tu323N92CPJ1SpmcPM7cnEou+SbQ==","signatures":[{"sig":"MEYCIQDxwIUnbuJ44e9+lbO1j2Q/F0FPRqH3Nw960/jQ1yGZ2wIhAOCDjLO5jZtfuvBnyuhgUSrx7NJ+Kb405s27ZxpTI+xw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":643436},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"926933803ec0c1c3e4bc79b54f3c30e4a3e8f0b8","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.13.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.16.1-3e6122c-202606220918.0","@flowfuse/nr-file-nodes":"0.0.11-f3d8a59-202606161811.0","@flowfuse/nr-mqtt-nodes":"0.3.1-69e7b9c-202606220918.0","@flowfuse/nr-tables-nodes":"0.2.3-fe7d48f-202606220919.0","@flowfuse/nr-project-nodes":"0.7.9-6f59a94-202605271246.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.31.4-9269338-202606220919.0_1782120008226_0.03283338428121496","host":"s3://npm-registry-packages-npm-production"}},"2.31.4-9269338-202606220936.0":{"name":"@flowfuse/nr-launcher","version":"2.31.4-9269338-202606220936.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.31.4-9269338-202606220936.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"a14b3c0f3b5e287f471d0d657f95909880aa1583","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.31.4-9269338-202606220936.0.tgz","fileCount":47,"integrity":"sha512-vLekLTgfSRpr/YjPRL7mIHHm93po1SoWg5ABAKelnUul1e4HJ+oP/d/KWL28cCLV4KNTFqYb+v4SQIEXSKOf2A==","signatures":[{"sig":"MEUCIQD/D7mxOYXdPeDfpjWapt+EC1TxmK22m3ni+qahD77GowIgIUOdzIun1xLJivRV6ewBGeamVpUbtmQW37t/wBAFTKc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":643436},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"926933803ec0c1c3e4bc79b54f3c30e4a3e8f0b8","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.13.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.16.1-3e6122c-202606220918.0","@flowfuse/nr-file-nodes":"0.0.11-f3d8a59-202606161811.0","@flowfuse/nr-mqtt-nodes":"0.3.1-69e7b9c-202606220918.0","@flowfuse/nr-tables-nodes":"0.2.3-fe7d48f-202606220919.0","@flowfuse/nr-project-nodes":"0.7.9-d8a301e-202606220935.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.31.4-9269338-202606220936.0_1782120977331_0.8901534431565863","host":"s3://npm-registry-packages-npm-production"}},"2.31.4-48d934a-202606221441.0":{"name":"@flowfuse/nr-launcher","version":"2.31.4-48d934a-202606221441.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.31.4-48d934a-202606221441.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"06646b3ca655b662021d301f9ca76d38c660c1e9","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.31.4-48d934a-202606221441.0.tgz","fileCount":48,"integrity":"sha512-PvvjAWUYad5Yx/wAxGPDi4xFdOODCS7McvnnkE2IodigBjPG+h/7dbSI5tt1R+rQ2wJEqS+KRl9ojnXWUFTFIQ==","signatures":[{"sig":"MEQCIGDRFma2t9CQqHDTAUAL4vmdvCxODdsTzmvZIFBpAnieAiBsMvmS+kHGfoPaQIoR3N72N+uPkSn50rNC7SG+R9e7GQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":633270},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"48d934a16f1aede22203bcd2d11383d0222a9fe5","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.13.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.16.1-3e6122c-202606220918.0","@flowfuse/nr-file-nodes":"0.0.11-f3d8a59-202606161811.0","@flowfuse/nr-mqtt-nodes":"0.3.1-69e7b9c-202606220918.0","@flowfuse/nr-tables-nodes":"0.2.3-fe7d48f-202606220919.0","@flowfuse/nr-project-nodes":"0.7.9-d8a301e-202606220935.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.31.4-48d934a-202606221441.0_1782139315571_0.8446338602919321","host":"s3://npm-registry-packages-npm-production"}},"2.31.4-d304c3f-202606221508.0":{"name":"@flowfuse/nr-launcher","version":"2.31.4-d304c3f-202606221508.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.31.4-d304c3f-202606221508.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"76b6ea7f9820e9088b1a247242b8fad6af6123e1","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.31.4-d304c3f-202606221508.0.tgz","fileCount":48,"integrity":"sha512-BPkByTMVUITrrhFFwIIZcX/0rKpweXovD6hB8LY6hktFPkIFsOVVEMW4cdb51ZUxBL4AqDEXmU7G8+La/tNPbA==","signatures":[{"sig":"MEUCIQCecvMrV8NAQSz0LifbHbf48Xx69Wsm0aBMQ7HJu2O0nQIgcrB0cfATGi0y/9W+ctzSYlRFEXO4rxAxk4hzdOlAftQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":633270},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"d304c3f7406f87e4b86c5e950680771a9c881031","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.13.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.16.1-3e6122c-202606220918.0","@flowfuse/nr-file-nodes":"0.0.11-f3d8a59-202606161811.0","@flowfuse/nr-mqtt-nodes":"0.3.1-69e7b9c-202606220918.0","@flowfuse/nr-tables-nodes":"0.2.3-fe7d48f-202606220919.0","@flowfuse/nr-project-nodes":"0.7.9-d8a301e-202606220935.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.31.4-d304c3f-202606221508.0_1782140919092_0.24372328360233197","host":"s3://npm-registry-packages-npm-production"}},"2.31.4-d304c3f-202606241221.0":{"name":"@flowfuse/nr-launcher","version":"2.31.4-d304c3f-202606241221.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.31.4-d304c3f-202606241221.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"f360e7e223f2676ea424341615ba3e55effb6963","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.31.4-d304c3f-202606241221.0.tgz","fileCount":48,"integrity":"sha512-HYV3UAJSFs6M+cyCuE/Nh8Qmfonq0dZHLPuBtAL4BX0JHbITSx2zocMSn6OnMaeEHFughZBIIHoNpx3ud83XnQ==","signatures":[{"sig":"MEUCIQDyMZHFF9NXA+sLUiTqU4xe2DuORd+D/eEyrzmIIt4eTwIgIsnphA870t+izzWuiyiAZrCRCS1YmnwwwVskgcvxB4Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":633270},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"d304c3f7406f87e4b86c5e950680771a9c881031","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.13.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.16.1-3e6122c-202606220918.0","@flowfuse/nr-file-nodes":"0.0.11-f3d8a59-202606161811.0","@flowfuse/nr-mqtt-nodes":"0.3.1-69e7b9c-202606220918.0","@flowfuse/nr-tables-nodes":"0.2.3-fe7d48f-202606220919.0","@flowfuse/nr-project-nodes":"0.7.9-64de7d3-202606241220.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.31.4-d304c3f-202606241221.0_1782303699223_0.9195635155696991","host":"s3://npm-registry-packages-npm-production"}},"2.31.4-d304c3f-202606241245.0":{"name":"@flowfuse/nr-launcher","version":"2.31.4-d304c3f-202606241245.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.31.4-d304c3f-202606241245.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"fd239798f7f4429b9970e1585b9e282af5c7e76b","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.31.4-d304c3f-202606241245.0.tgz","fileCount":48,"integrity":"sha512-YQl5pLyHAz1JVEejiAhqiIAD0gkaloUN7/3eRjAL0+yAUpdZlSJ4s6Nk5AIeeupzvoLs6M0HFKt2aesfuAGVkA==","signatures":[{"sig":"MEUCIHz2qMSTXP5pq6lOnlJSWoNIvRH6XEP7PGkXGWZQY2KpAiEA9PBAZnHAmuXFnW+bs9bNb88rV9c2AsqOm8euwiEnfyk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":633270},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"d304c3f7406f87e4b86c5e950680771a9c881031","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.13.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.16.1-3e6122c-202606220918.0","@flowfuse/nr-file-nodes":"0.0.11-f3d8a59-202606161811.0","@flowfuse/nr-mqtt-nodes":"0.3.1-69e7b9c-202606220918.0","@flowfuse/nr-tables-nodes":"0.2.3-fe7d48f-202606220919.0","@flowfuse/nr-project-nodes":"0.7.9-783c2eb-202606241244.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.31.4-d304c3f-202606241245.0_1782305109776_0.8188466572759241","host":"s3://npm-registry-packages-npm-production"}},"2.31.4-d304c3f-202606241506.0":{"name":"@flowfuse/nr-launcher","version":"2.31.4-d304c3f-202606241506.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.31.4-d304c3f-202606241506.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"6a4471a3018810fdbb2f13ed8cc00d1e82c8d2ef","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.31.4-d304c3f-202606241506.0.tgz","fileCount":48,"integrity":"sha512-v4ZR8xdx0sdCtbC0ur7OV5bILKaT/fI3ae52iWLKnFikAewjlyb1iNq7VfDQJmhbuT826D60qGheF6Qws2itxw==","signatures":[{"sig":"MEUCIQC1298vnDCvvbtnEGalonTfBvxSOlQUHA0AaQ5wuGmAwgIgdhUJlf13TdKZtAgjcgAHv7cnYCMYbZA9UJoXog8xzB4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":633270},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"d304c3f7406f87e4b86c5e950680771a9c881031","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.13.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.16.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.16.1-3e6122c-202606220918.0","@flowfuse/nr-file-nodes":"0.0.11-cc0b339-202606241506.0","@flowfuse/nr-mqtt-nodes":"0.3.1-69e7b9c-202606220918.0","@flowfuse/nr-tables-nodes":"0.2.3-fe7d48f-202606220919.0","@flowfuse/nr-project-nodes":"0.7.9-783c2eb-202606241244.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.31.4-d304c3f-202606241506.0_1782313630480_0.7695098682727379","host":"s3://npm-registry-packages-npm-production"}},"2.31.4-b110b25-202606251448.0":{"name":"@flowfuse/nr-launcher","version":"2.31.4-b110b25-202606251448.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.31.4-b110b25-202606251448.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"5823af61251970ee3fd9d23aa1d4ca8eda97ed7c","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.31.4-b110b25-202606251448.0.tgz","fileCount":48,"integrity":"sha512-flDNsgjC0AuAvw2Tx0dGL0RPpOFr1s8H172frhnDLvcKTH0AneZ8HVi1JoyqF/koaiCegNkvIbZj0aqx6IM/Vg==","signatures":[{"sig":"MEQCICkEuiDBuc/aMI75+2VTVPw/60eM/BLcTLhJRL+66mgLAiBHnLdWeL7YXX7fiAQrel1J9aOu90808jWriRjzEynC9g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":633270},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"b110b25d180e3c12752d2dbecf5491bbd191dd7f","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.13.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.17.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.16.1-3e6122c-202606220918.0","@flowfuse/nr-file-nodes":"0.0.11-cc0b339-202606241506.0","@flowfuse/nr-mqtt-nodes":"0.3.1-69e7b9c-202606220918.0","@flowfuse/nr-tables-nodes":"0.2.3-fe7d48f-202606220919.0","@flowfuse/nr-project-nodes":"0.7.9-783c2eb-202606241244.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.31.4-b110b25-202606251448.0_1782398891244_0.7018270870518784","host":"s3://npm-registry-packages-npm-production"}},"2.31.4-b110b25-202606261215.0":{"name":"@flowfuse/nr-launcher","version":"2.31.4-b110b25-202606261215.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.31.4-b110b25-202606261215.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"9a7ac2799a61e340fdb0f9df50137f718f53bdeb","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.31.4-b110b25-202606261215.0.tgz","fileCount":48,"integrity":"sha512-fqGXkgZ1f5LlORmj6kqqZAcxErc4FbQ/NKcESyGUKJPK6u+T5QUCOPuBbIHc42oB/XwfDtqsYELchwoeU3Ihsw==","signatures":[{"sig":"MEQCIA3LCnljVFQTTuml+yv0dq8Gm4v/IahCzHLSI613ADL9AiAK/VTZHWwFRFAFNv0LFUBrZOnnm0REtEPrnP883GpxlQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":633270},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"b110b25d180e3c12752d2dbecf5491bbd191dd7f","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.13.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.17.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.16.1-4db3964-202606261214.0","@flowfuse/nr-file-nodes":"0.0.11-cc0b339-202606241506.0","@flowfuse/nr-mqtt-nodes":"0.3.1-69e7b9c-202606220918.0","@flowfuse/nr-tables-nodes":"0.2.3-fe7d48f-202606220919.0","@flowfuse/nr-project-nodes":"0.7.9-783c2eb-202606241244.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.31.4-b110b25-202606261215.0_1782476158472_0.28923692976018356","host":"s3://npm-registry-packages-npm-production"}},"2.31.4-928df9b-202606261335.0":{"name":"@flowfuse/nr-launcher","version":"2.31.4-928df9b-202606261335.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.31.4-928df9b-202606261335.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"6eff503443a967609902b6ca488be3082dd77f9c","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.31.4-928df9b-202606261335.0.tgz","fileCount":48,"integrity":"sha512-+ZVcshlxBsOUzE9RnWxXvEAQhucKn874ROInnjCAXC/SE059eGUZ3BcKvyIJr5wo8gwU/VdHKCIeZf2W5s/gJA==","signatures":[{"sig":"MEYCIQDmUppNDS+COp+GD/27q/IgzWg8TGheiAPXwvOCsCYLKQIhAJ7LDZO91vxUb+ZogBFZ2RN/Pc5Tp78w1clm+fuDmInY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":633440},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"928df9b4be6b3d0ead91944fca84bb8b29758d75","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.13.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.17.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.16.1-4db3964-202606261214.0","@flowfuse/nr-file-nodes":"0.0.11-cc0b339-202606241506.0","@flowfuse/nr-mqtt-nodes":"0.3.1-69e7b9c-202606220918.0","@flowfuse/nr-tables-nodes":"0.2.3-fe7d48f-202606220919.0","@flowfuse/nr-project-nodes":"0.7.9-783c2eb-202606241244.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.31.4-928df9b-202606261335.0_1782480956671_0.16547612151110602","host":"s3://npm-registry-packages-npm-production"}},"2.31.4-5ccdf52-202606300926.0":{"name":"@flowfuse/nr-launcher","version":"2.31.4-5ccdf52-202606300926.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.31.4-5ccdf52-202606300926.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"786034a000c0f6100cb9d83418b3088b3620fb64","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.31.4-5ccdf52-202606300926.0.tgz","fileCount":48,"integrity":"sha512-EyebEV9CFJkgWaywgCUpOGWggo4NfuG7VUHZroHGSXIIE9PAbKoICvS61Fek2dDtBt3cU4x8Tcak/A14eHSgZA==","signatures":[{"sig":"MEQCIAlcKpAg02I375vW5EzOkL7jgAPX5byE3QVoljNIkFtEAiBWlejiPO90Ki/uqLRO7fpSMInXrYA7btDtF31mjjt5gw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":633440},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"5ccdf52ec7e3a0df4665ccbca640bbc9cf76afa4","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.13.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.17.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.16.1-4db3964-202606261214.0","@flowfuse/nr-file-nodes":"0.0.11-cc0b339-202606241506.0","@flowfuse/nr-mqtt-nodes":"0.3.1-69e7b9c-202606220918.0","@flowfuse/nr-tables-nodes":"0.2.3-fe7d48f-202606220919.0","@flowfuse/nr-project-nodes":"0.7.9-783c2eb-202606241244.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.31.4-5ccdf52-202606300926.0_1782811581953_0.4761967805835774","host":"s3://npm-registry-packages-npm-production"}},"2.31.4-5ccdf52-202606300927.0":{"name":"@flowfuse/nr-launcher","version":"2.31.4-5ccdf52-202606300927.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.31.4-5ccdf52-202606300927.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"ab308a68e2f80be0330d13e81ab9afa7cc6e7760","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.31.4-5ccdf52-202606300927.0.tgz","fileCount":48,"integrity":"sha512-4HA1KxrhnfBBgsCijjERkfV+MoCCb+hh4I2v/33Y4hMPyMWEu4LZDE/6VQIt3S0hSeJRPnXIgAXbz3rlqcoJmw==","signatures":[{"sig":"MEUCIATVANPLz9cXcmc1ov46GV1ckJgw1MMoXylDQqKLbna1AiEA8Jbk/AHOQJJ6snhjWeRXDFJ1GSNjXAIfM88LToWyhmQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":633440},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"5ccdf52ec7e3a0df4665ccbca640bbc9cf76afa4","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.13.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.17.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.16.1-4db3964-202606261214.0","@flowfuse/nr-file-nodes":"0.0.11-cc0b339-202606241506.0","@flowfuse/nr-mqtt-nodes":"0.3.1-8550a29-202606300926.0","@flowfuse/nr-tables-nodes":"0.2.3-f389979-202606300926.0","@flowfuse/nr-project-nodes":"0.7.9-783c2eb-202606241244.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.31.4-5ccdf52-202606300927.0_1782811663773_0.6486745762254407","host":"s3://npm-registry-packages-npm-production"}},"2.31.4-5ccdf52-202606301855.0":{"name":"@flowfuse/nr-launcher","version":"2.31.4-5ccdf52-202606301855.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.31.4-5ccdf52-202606301855.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"d3edfb453a7204ac2791a4578cf90b9a39787f63","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.31.4-5ccdf52-202606301855.0.tgz","fileCount":48,"integrity":"sha512-a1hYDoIMzacaZ5j/e1lJAXYni+aZQjeLO1SUUBfZJbeaqL6QtR1Wdokp4cqiVyDN/rLEFmsv5zZ/raHnhs9y+Q==","signatures":[{"sig":"MEUCIQCMcJjUDLEA5fgf44AtyUlxdsiM4KPb+9DcUPJ8jtMBNwIgR6CUGVcFNYt2H/3xy2F0OQ/r2zalXN6PbXHSvT2HFOQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":633440},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"5ccdf52ec7e3a0df4665ccbca640bbc9cf76afa4","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.13.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.17.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.17.1-6899050-202606301854.0","@flowfuse/nr-file-nodes":"0.0.11-cc0b339-202606241506.0","@flowfuse/nr-mqtt-nodes":"0.3.1-8550a29-202606300926.0","@flowfuse/nr-tables-nodes":"0.2.3-f389979-202606300926.0","@flowfuse/nr-project-nodes":"0.7.9-783c2eb-202606241244.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.31.4-5ccdf52-202606301855.0_1782845755668_0.7270678335658132","host":"s3://npm-registry-packages-npm-production"}},"2.31.4-5ccdf52-202606301900.0":{"name":"@flowfuse/nr-launcher","version":"2.31.4-5ccdf52-202606301900.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.31.4-5ccdf52-202606301900.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"416c401290ac351f4ef5a2e3a758a411230129ff","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.31.4-5ccdf52-202606301900.0.tgz","fileCount":48,"integrity":"sha512-EafeM3qZLQozRW8/R1QSkv1acw+tbNOgU/MSGyH/onKFVWnEYt3xUIMS/HlB1R1JvNhL0z/uo668OI5gsI/6xg==","signatures":[{"sig":"MEQCIEPHXfIWAPH6ufEkgQyMqJ5d9WQVz9R88UzCDLVZTu9lAiA81Z6IIyvIsNY4u/7Nlz+HIsMMHCU7B+vnkDbdWrxbrw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":633440},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"5ccdf52ec7e3a0df4665ccbca640bbc9cf76afa4","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.13.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.17.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.17.1-55d1183-202606301859.0","@flowfuse/nr-file-nodes":"0.0.11-cc0b339-202606241506.0","@flowfuse/nr-mqtt-nodes":"0.3.1-8550a29-202606300926.0","@flowfuse/nr-tables-nodes":"0.2.3-f389979-202606300926.0","@flowfuse/nr-project-nodes":"0.7.9-783c2eb-202606241244.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.31.4-5ccdf52-202606301900.0_1782846006524_0.5024874804852997","host":"s3://npm-registry-packages-npm-production"}},"2.31.4-5ccdf52-202606302008.0":{"name":"@flowfuse/nr-launcher","version":"2.31.4-5ccdf52-202606302008.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.31.4-5ccdf52-202606302008.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"f7b744042aee60997c3059b5cf1fa6fd197f2c6a","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.31.4-5ccdf52-202606302008.0.tgz","fileCount":48,"integrity":"sha512-5jH0mJVJI8sI5kJFx54tipTm9sW0jJ2wFrK9gWArVedqmOLxisehV8dAYjRxOoK8macpmFgC8a8WnE9LbUScgA==","signatures":[{"sig":"MEQCIFPN2ulGR4rYiLi91CKJ1zTTF0ilB/WmJ9xSVKkT6YBYAiBIC3qq4LZau1fvEwGM7wivjr/K61UC/6DX8PbOJCEHmw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":633440},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"5ccdf52ec7e3a0df4665ccbca640bbc9cf76afa4","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.13.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.17.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.17.1-7b35a2c-202606302007.0","@flowfuse/nr-file-nodes":"0.0.11-cc0b339-202606241506.0","@flowfuse/nr-mqtt-nodes":"0.3.1-8550a29-202606300926.0","@flowfuse/nr-tables-nodes":"0.2.3-f389979-202606300926.0","@flowfuse/nr-project-nodes":"0.7.9-783c2eb-202606241244.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.31.4-5ccdf52-202606302008.0_1782850133381_0.8716131303607688","host":"s3://npm-registry-packages-npm-production"}},"2.31.4-ada9fb2-202607011314.0":{"name":"@flowfuse/nr-launcher","version":"2.31.4-ada9fb2-202607011314.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.31.4-ada9fb2-202607011314.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"2b408671ce49cb4b4cdddab013e50d2c25a61342","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.31.4-ada9fb2-202607011314.0.tgz","fileCount":49,"integrity":"sha512-Obfd9bLwtmA5NRyLgDEp1zQjVSMDu2cND6Jm2l34aeimrc1msa1WQrH7/x+XJd6iX060CKvkeUGMQj2VT1a+gw==","signatures":[{"sig":"MEUCIQCt6CbkR3b+EXSjiTT+9Af4VCv57VVpDU4nt1Dqtv1qgwIgcE1lsgJHoAm08bDkGdbuXgPF0WsIhB+kktlX1JA3OAA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":656676},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"ada9fb2a207d1846fc16e2be27c12e100a80e7bb","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.13.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.17.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.17.1-7b35a2c-202606302007.0","@flowfuse/nr-file-nodes":"0.0.11-cc0b339-202606241506.0","@flowfuse/nr-mqtt-nodes":"0.3.1-8550a29-202606300926.0","@flowfuse/nr-tables-nodes":"0.2.3-f389979-202606300926.0","@flowfuse/nr-project-nodes":"0.7.9-783c2eb-202606241244.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.31.4-ada9fb2-202607011314.0_1782911653619_0.1294870330723652","host":"s3://npm-registry-packages-npm-production"}},"2.31.4-ada9fb2-202607020951.0":{"name":"@flowfuse/nr-launcher","version":"2.31.4-ada9fb2-202607020951.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.31.4-ada9fb2-202607020951.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"d17f89ffad4b99fc609ce1894656d6481b16f2c7","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.31.4-ada9fb2-202607020951.0.tgz","fileCount":49,"integrity":"sha512-sX7OTIhLmpDHingODK3jHFjd8L9D15Iv4StrcsVuTIP2E8lMmgQtJCFY6XqLkbAo3qQPlbWJqSBm87ks1uBGtg==","signatures":[{"sig":"MEQCIHBNljMkqeRsoHg+E85zUiyeenKQCeJo68UHaQCEGwBUAiAziIHV28m9gTeA67ojgYrexgmqUGfxLbi6iELA5KiStA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":656676},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"ada9fb2a207d1846fc16e2be27c12e100a80e7bb","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.13.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.17.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.17.1-47e61c0-202607020950.0","@flowfuse/nr-file-nodes":"0.0.11-cc0b339-202606241506.0","@flowfuse/nr-mqtt-nodes":"0.3.1-8550a29-202606300926.0","@flowfuse/nr-tables-nodes":"0.2.3-f389979-202606300926.0","@flowfuse/nr-project-nodes":"0.7.9-783c2eb-202606241244.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.31.4-ada9fb2-202607020951.0_1782985885355_0.7703155508365356","host":"s3://npm-registry-packages-npm-production"}},"2.31.4-c83ab97-202607021318.0":{"name":"@flowfuse/nr-launcher","version":"2.31.4-c83ab97-202607021318.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.31.4-c83ab97-202607021318.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"4814bbd76b6892cd91ecce3b1026734160f58d57","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.31.4-c83ab97-202607021318.0.tgz","fileCount":49,"integrity":"sha512-0fkGVazcgY4ROuBnNPhmUPNZF9WX7O2hoFi+q7rQZdW7sKHtqBk4u7PuACX9cG2cV4k30qSPjE2V2CxaTyfEvQ==","signatures":[{"sig":"MEYCIQDTjvXC2vZQFLu90bEO2kT307TN1oVrk2cuqTDnkNiU/QIhAMjw11IOLA/qgXDRzuxy7mdmUp/5+u0IxPJbVJVNeQXr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":656676},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"c83ab9704f46434bcd8ba494b5967fa3e2629164","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.13.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.17.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.17.1-47e61c0-202607020950.0","@flowfuse/nr-file-nodes":"0.0.11-cc0b339-202606241506.0","@flowfuse/nr-mqtt-nodes":"0.3.1-8550a29-202606300926.0","@flowfuse/nr-tables-nodes":"0.2.3-f389979-202606300926.0","@flowfuse/nr-project-nodes":"0.7.9-783c2eb-202606241244.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.31.4-c83ab97-202607021318.0_1782998292069_0.3567652061154336","host":"s3://npm-registry-packages-npm-production"}},"2.32.1-6e7a7a0-202607021326.0":{"name":"@flowfuse/nr-launcher","version":"2.32.1-6e7a7a0-202607021326.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.32.1-6e7a7a0-202607021326.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"d7a4c6daabd3b5513c88a0ce7b183c714bda9cdb","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.32.1-6e7a7a0-202607021326.0.tgz","fileCount":49,"integrity":"sha512-p9Vc1KTQPht0YN17LOU59xFVLa3U00YfFOF0WoHkrUcClTDdpy3x6q9drFON2YEVdedpxRYnpNwRe8CKKNJOVA==","signatures":[{"sig":"MEQCIDJtYrFmE5pmSMHKE2Q1ommvlmOVjHKturqAxEUnKXefAiA9Qex03FDvoGoOxdKg/gze8ukgwSeVogDTQ9U7dwgqMQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":657445},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"6e7a7a06034112062917b5d6e32c928d0cb48d5c","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.13.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.17.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.17.1-47e61c0-202607020950.0","@flowfuse/nr-file-nodes":"0.0.11-cc0b339-202606241506.0","@flowfuse/nr-mqtt-nodes":"0.3.1-8550a29-202606300926.0","@flowfuse/nr-tables-nodes":"0.2.3-f389979-202606300926.0","@flowfuse/nr-project-nodes":"0.7.9-783c2eb-202606241244.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.32.1-6e7a7a0-202607021326.0_1782998793286_0.422709093607224","host":"s3://npm-registry-packages-npm-production"}},"2.32.0":{"name":"@flowfuse/nr-launcher","version":"2.32.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.32.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"19c4142ebf7331b71bb65c2ef88def346b816de1","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.32.0.tgz","fileCount":49,"integrity":"sha512-geU5vHmrB9Sw0QbT0j6kfgQN6MkrBJTxx+GcA6KcdRzFQnUSHcGrZdBviJZwdNOAmEk3Ef54nxDCbQummqTgPw==","signatures":[{"sig":"MEQCIB9FK/HJuVqHHJ2k8OMgsonlovnIUs6xSX7Rhejqd+67AiAVT9STj0cv9xDroWCny/ERCQZ1zJ8wVCyjBXQTEythAw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":657314},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"6e7a7a06034112062917b5d6e32c928d0cb48d5c","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.13.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.17.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"^0.17.0","@flowfuse/nr-file-nodes":"^0.0.10","@flowfuse/nr-mqtt-nodes":"^0.3.0","@flowfuse/nr-tables-nodes":"^0.2.2","@flowfuse/nr-project-nodes":"^0.7.8","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.32.0_1782998817260_0.6173798669049284","host":"s3://npm-registry-packages-npm-production"}},"2.32.1-b23502c-202607021341.0":{"name":"@flowfuse/nr-launcher","version":"2.32.1-b23502c-202607021341.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.32.1-b23502c-202607021341.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"dc2915a6b1b5a1fb7ebed02e440525f5ea337001","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.32.1-b23502c-202607021341.0.tgz","fileCount":49,"integrity":"sha512-LTUyUeB86evbHG2laUGr1hvNUGzzRrKWp8PoIUWnN9uVnmuigzORVVxdt+vJq56Ry4KCdMz+YJhK/Et5cXbqKA==","signatures":[{"sig":"MEYCIQD6hwzOxmm7WS1TSgI+GMk9UoytqkU9wY+XB7wcRXZvXgIhALDcv5+IyZN8YEnxi5NvREoQBqVjEM0YCHYbTnnmhNAD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":657445},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"b23502c81717a1329a3462bae8de340756cbb2d3","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.16.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.17.1-47e61c0-202607020950.0","@flowfuse/nr-file-nodes":"0.0.11-cc0b339-202606241506.0","@flowfuse/nr-mqtt-nodes":"0.3.1-8550a29-202606300926.0","@flowfuse/nr-tables-nodes":"0.2.3-f389979-202606300926.0","@flowfuse/nr-project-nodes":"0.7.9-783c2eb-202606241244.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.32.1-b23502c-202607021341.0_1782999699879_0.516781028117449","host":"s3://npm-registry-packages-npm-production"}},"2.32.1-b23502c-202607061634.0":{"name":"@flowfuse/nr-launcher","version":"2.32.1-b23502c-202607061634.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.32.1-b23502c-202607061634.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"d410552bad1b4d90945be81979615ccf804f8c00","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.32.1-b23502c-202607061634.0.tgz","fileCount":49,"integrity":"sha512-BGlYFrljk5rXRTyUhzXKVM7o62KdexiskApejRcRcOHMd16OMWqTEj4IWCJSrgoCW7FOjyk71znz+Yx7XSIkqw==","signatures":[{"sig":"MEUCICtLu61zeYHawsB4iXN0LB90Gv/xY+DUgWgJFUEAt4TcAiEAmWCVQTY80ZIajXGQMdSI7hGJoRSSJBcc0D/+2HIwlqw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":657445},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"b23502c81717a1329a3462bae8de340756cbb2d3","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.16.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.17.1-47e61c0-202607020950.0","@flowfuse/nr-file-nodes":"0.0.11-cc0b339-202606241506.0","@flowfuse/nr-mqtt-nodes":"0.3.1-8550a29-202606300926.0","@flowfuse/nr-tables-nodes":"0.2.3-2a74115-202607061633.0","@flowfuse/nr-project-nodes":"0.7.9-783c2eb-202606241244.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.32.1-b23502c-202607061634.0_1783355650362_0.6558387018678973","host":"s3://npm-registry-packages-npm-production"}},"2.32.1-b23502c-202607061802.0":{"name":"@flowfuse/nr-launcher","version":"2.32.1-b23502c-202607061802.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.32.1-b23502c-202607061802.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"0fc872d3e0e80f40a072b48681b519496c242560","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.32.1-b23502c-202607061802.0.tgz","fileCount":49,"integrity":"sha512-1CYXqZCFcr8omcTAZAptxlbAU8CHsW85VZMn2zrJkpCiSUUDZENw4LBiKsokmTlE2GaxphN+kkDwGvJRNpXFoQ==","signatures":[{"sig":"MEUCIQD40DkmVqt4apZVg7hJDAzp8trWtvvrDuXKHIK/pUGdrQIgGyCwAhfWZlFyKt6WDJGP4+LAB+q9Vv1S8Tbw48IBt+A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":657445},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"b23502c81717a1329a3462bae8de340756cbb2d3","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.16.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","@node-red/util":"^3.1.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.17.1-47e61c0-202607020950.0","@flowfuse/nr-file-nodes":"0.0.11-cc0b339-202606241506.0","@flowfuse/nr-mqtt-nodes":"0.3.1-8550a29-202606300926.0","@flowfuse/nr-tables-nodes":"0.2.3-79b630d-202607061801.0","@flowfuse/nr-project-nodes":"0.7.9-783c2eb-202606241244.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.32.1-b23502c-202607061802.0_1783360963042_0.9370409619275399","host":"s3://npm-registry-packages-npm-production"}},"2.32.1-fc069ac-202607081326.0":{"name":"@flowfuse/nr-launcher","version":"2.32.1-fc069ac-202607081326.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.32.1-fc069ac-202607081326.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"b553d5c9a1006bae24b17ac3c9bb675201a0ebc9","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.32.1-fc069ac-202607081326.0.tgz","fileCount":50,"integrity":"sha512-Ng6dk8AeOORk67N6TFOckIXJjZ0AfKXKLZvvfu3b1afKyKmUJgDEUyM6NIQMpg9tAm5p5JokNHaEJ4uof/ErJQ==","signatures":[{"sig":"MEYCIQDsQhey6QwkJ0EzEV3ymxhY3G75H1pPDze9sW4AvqJyLQIhAOSdV/25PMTfX4Xzv6QURiP5dyH9KoJrzn5o7bPam8XD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":669822},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"fc069ac44468463559e30ca7b1eb0155c9dfb3e1","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.16.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.17.1-47e61c0-202607020950.0","@flowfuse/nr-file-nodes":"0.0.11-cc0b339-202606241506.0","@flowfuse/nr-mqtt-nodes":"0.3.1-8550a29-202606300926.0","@flowfuse/nr-tables-nodes":"0.2.3-79b630d-202607061801.0","@flowfuse/nr-project-nodes":"0.7.9-783c2eb-202606241244.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.32.1-fc069ac-202607081326.0_1783517215478_0.8656031533832427","host":"s3://npm-registry-packages-npm-production"}},"2.32.1-5ce7a18-202607091016.0":{"name":"@flowfuse/nr-launcher","version":"2.32.1-5ce7a18-202607091016.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.32.1-5ce7a18-202607091016.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"19ef44dfd21d746bced42bcf5bb121524d47ce1a","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.32.1-5ce7a18-202607091016.0.tgz","fileCount":50,"integrity":"sha512-dEADpQmo0wzhswVpm3bhS7vL/8cgi235n8ZFEZ7jRvKrbSrIxfhu/kMtcO1qAnxN6RSBgm48j7rIJc0B5GTFow==","signatures":[{"sig":"MEYCIQDPsTtbGdsxDFc/oTfiAAnYds6ANCCLDy1yUDIWspORkwIhAOp7q8ZynR5uWKG5V18eEJYo3uGB3Pkj0ocA4ABeChkW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":669822},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"5ce7a180ea34282c95ce78b21e41d5185f36a5f7","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.16.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.17.1-47e61c0-202607020950.0","@flowfuse/nr-file-nodes":"0.0.11-cc0b339-202606241506.0","@flowfuse/nr-mqtt-nodes":"0.3.1-f42ca86-202607091014.0","@flowfuse/nr-tables-nodes":"0.2.3-18fbf75-202607091014.0","@flowfuse/nr-project-nodes":"0.7.9-dea9a2f-202607091014.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.32.1-5ce7a18-202607091016.0_1783592179391_0.7575478650752077","host":"s3://npm-registry-packages-npm-production"}},"2.32.1-5ce7a18-202607101343.0":{"name":"@flowfuse/nr-launcher","version":"2.32.1-5ce7a18-202607101343.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.32.1-5ce7a18-202607101343.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"802cf16e317a02b5a07101c09343fc31b692cef0","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.32.1-5ce7a18-202607101343.0.tgz","fileCount":50,"integrity":"sha512-UObe8sRi4VciHTe4hE2RH04hqCNgImTLcQvEELwRd2HyXNDxLKhjfWEwXk68Eo4F0DCyQGQMxJFn1b4IdZk54Q==","signatures":[{"sig":"MEUCIQD3biU5baeHRltOz89uNuwo0UTFzRjez0B59FAkPKy2AgIgd8vxBGANBHutNlpMN7/KBUWNyUlODw2x6pXjAN9mYoc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":669822},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"5ce7a180ea34282c95ce78b21e41d5185f36a5f7","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.16.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.17.1-e1c0451-202607101342.0","@flowfuse/nr-file-nodes":"0.0.11-40242ee-202607101342.0","@flowfuse/nr-mqtt-nodes":"0.3.1-f42ca86-202607091014.0","@flowfuse/nr-tables-nodes":"0.2.3-18fbf75-202607091014.0","@flowfuse/nr-project-nodes":"0.7.9-dea9a2f-202607091014.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.32.1-5ce7a18-202607101343.0_1783691005090_0.0399516771270767","host":"s3://npm-registry-packages-npm-production"}},"2.32.1-1c4f794-202607141536.0":{"name":"@flowfuse/nr-launcher","version":"2.32.1-1c4f794-202607141536.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.32.1-1c4f794-202607141536.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"e5e4cb085bc84209ee20b1cbbd07fed2744ebd8b","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.32.1-1c4f794-202607141536.0.tgz","fileCount":50,"integrity":"sha512-yGD2cKWeiBXojmvy6ctHRaJe0O3mQ4NKQJw8W7wE1ISUOMNyTkKR5AYTOAhmDXpgElkZ2+ig5TgS3PRwAl7uNg==","signatures":[{"sig":"MEUCIFwStXL/T+haR3tMIwLSEGiqtW7heJbvoTwIM+vQZ1QnAiEAkKZV/mnV4QWvJ1hBl9l370zjY5EYZpDMIX7LdSNyPlI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":670569},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"1c4f7949727e6313f53922c22909b8550c130df6","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.16.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.17.1-e1c0451-202607101342.0","@flowfuse/nr-file-nodes":"0.0.11-40242ee-202607101342.0","@flowfuse/nr-mqtt-nodes":"0.3.1-f42ca86-202607091014.0","@flowfuse/nr-tables-nodes":"0.2.3-18fbf75-202607091014.0","@flowfuse/nr-project-nodes":"0.7.9-dea9a2f-202607091014.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.32.1-1c4f794-202607141536.0_1784043409082_0.3713394977089024","host":"s3://npm-registry-packages-npm-production"}},"2.32.2-1a8cc8b-202607201417.0":{"name":"@flowfuse/nr-launcher","version":"2.32.2-1a8cc8b-202607201417.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.32.2-1a8cc8b-202607201417.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"ba2d625369919ae89487da6d973c063c01949ad4","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.32.2-1a8cc8b-202607201417.0.tgz","fileCount":50,"integrity":"sha512-L0lQHfGQ2ac2qUh14GgGWAAmM8TNfgLqeXT4g5wSO02yJ0PnipNEwOrrjdbZShz56OUjId/0Pbvabudqr0OWpA==","signatures":[{"sig":"MEQCIBR27mAC7sT9+2EMTxiMZUCyuWCd48cbZQG6UWA2VWP9AiAlfGCiHhS5CEknYjfmIvZxCkNjDrHmRX8VCmn9Y5dZTQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":670828},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"1a8cc8b5f532dadf9d2deacdf164997f0b85628b","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.16.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.17.1-e1c0451-202607101342.0","@flowfuse/nr-file-nodes":"0.0.11-40242ee-202607101342.0","@flowfuse/nr-mqtt-nodes":"0.3.1-f42ca86-202607091014.0","@flowfuse/nr-tables-nodes":"0.2.3-18fbf75-202607091014.0","@flowfuse/nr-project-nodes":"0.7.9-dea9a2f-202607091014.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.32.2-1a8cc8b-202607201417.0_1784557064617_0.6044845454228669","host":"s3://npm-registry-packages-npm-production"}},"2.32.1":{"name":"@flowfuse/nr-launcher","version":"2.32.1","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.32.1","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"06cff9edd3830191f0dbfcccf91afb4690127196","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.32.1.tgz","fileCount":50,"integrity":"sha512-jVVv4krklh3LzBJEh9WrpYbstatKoSKjwr/63wZRJsLKzzWv49qUyDkdDjBAkxrPoAE5/gH0zEKN8g42A0BP8Q==","signatures":[{"sig":"MEYCIQDq6wm7a00VjONBeKnzWvppMUlfRNxDtUYG3hdd7A9z/wIhAKYXES3D+bhztPMJB26OE8qf8FGkJX+jkD+eMw2N+lJd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":670697},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"1a8cc8b5f532dadf9d2deacdf164997f0b85628b","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.16.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"^0.17.0","@flowfuse/nr-file-nodes":"^0.0.10","@flowfuse/nr-mqtt-nodes":"^0.3.0","@flowfuse/nr-tables-nodes":"^0.2.2","@flowfuse/nr-project-nodes":"^0.7.8","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.32.1_1784557080703_0.6833576242407062","host":"s3://npm-registry-packages-npm-production"}},"2.32.2-49be0eb-202607211438.0":{"name":"@flowfuse/nr-launcher","version":"2.32.2-49be0eb-202607211438.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.32.2-49be0eb-202607211438.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"cb94c53a309db1b8bf7eb8a0869d9570a96d33da","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.32.2-49be0eb-202607211438.0.tgz","fileCount":50,"integrity":"sha512-od9doDUUy3kgGq6ZApBT/bdgNdlcmy5T7NoxMJleIaWdLbfbqbQ6XGdxXQGhBxPuDam+LJkQhqI0Jchzbfq5ow==","signatures":[{"sig":"MEUCIFsELFHtpaTU2FsNl5oD/KdfmfhtxF9d+kVrCPLHsQxMAiEA2A+QY3wbNhWT2NcLviQ5ES5sJXIC3cwakp6oE6IpGzI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":670892},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"49be0eb84cbd4d29bb918e8b89f6a952d6f4c209","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.16.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.17.1-e1c0451-202607101342.0","@flowfuse/nr-file-nodes":"0.0.11-40242ee-202607101342.0","@flowfuse/nr-mqtt-nodes":"0.3.1-f42ca86-202607091014.0","@flowfuse/nr-tables-nodes":"0.2.3-18fbf75-202607091014.0","@flowfuse/nr-project-nodes":"0.7.9-dea9a2f-202607091014.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.32.2-49be0eb-202607211438.0_1784644720339_0.7910000903393319","host":"s3://npm-registry-packages-npm-production"}},"2.32.2-49be0eb-202607270945.0":{"name":"@flowfuse/nr-launcher","version":"2.32.2-49be0eb-202607270945.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.32.2-49be0eb-202607270945.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"5f61f60b060db027a745cb4019259e5911b9e94c","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.32.2-49be0eb-202607270945.0.tgz","fileCount":50,"integrity":"sha512-+l0+n+9DxHFccqCH51ScvyKO8tI06WK1R6GkR/NxkrZnRCNH2Cjr+QVchSC2F4RPYWKrsB4gdKXjTYXZvIb6sQ==","signatures":[{"sig":"MEUCIQDDtWalbxdQ1cQyS4lZQ+K7iLvXLbZ6osVQcQSfJmP4qwIgcoHrc7EwtnjrBc51+1L+WpRsCo3olvI90BX8If0t9FQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":670892},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"49be0eb84cbd4d29bb918e8b89f6a952d6f4c209","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.16.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.17.1-7e0848f-202607270944.0","@flowfuse/nr-file-nodes":"0.0.11-40242ee-202607101342.0","@flowfuse/nr-mqtt-nodes":"0.3.1-f42ca86-202607091014.0","@flowfuse/nr-tables-nodes":"0.2.3-18fbf75-202607091014.0","@flowfuse/nr-project-nodes":"0.7.9-dea9a2f-202607091014.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.32.2-49be0eb-202607270945.0_1785145525814_0.5342734438511232","host":"s3://npm-registry-packages-npm-production"}},"2.32.2-74b62ca-202607270954.0":{"name":"@flowfuse/nr-launcher","version":"2.32.2-74b62ca-202607270954.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.32.2-74b62ca-202607270954.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"f7968902880c46ad81bde5e6cbc8a21ea3a2d4f1","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.32.2-74b62ca-202607270954.0.tgz","fileCount":50,"integrity":"sha512-gpZH/YgxNglnz8AmtM+8dXy1UhgG/oFo2HpJ66US6ueqUUiiGIMQPv+v6ixI6+325bVE+8epQl/Yy64C95FcKw==","signatures":[{"sig":"MEYCIQDwvu0anFnMS7fkpl3nsJVDUgTWrrTKORz2Yxvi4furZQIhAOAOnTj6nDOHXteJvyWkauZi/wCb493X4cfampn03WW4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":670892},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"74b62ca21ec68e9f0afafa9ec48a7226db6cb652","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.16.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.17.1-7e0848f-202607270944.0","@flowfuse/nr-file-nodes":"0.0.11-40242ee-202607101342.0","@flowfuse/nr-mqtt-nodes":"0.3.1-f42ca86-202607091014.0","@flowfuse/nr-tables-nodes":"0.2.3-18fbf75-202607091014.0","@flowfuse/nr-project-nodes":"0.7.9-dea9a2f-202607091014.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.32.2-74b62ca-202607270954.0_1785146093360_0.1366192925540768","host":"s3://npm-registry-packages-npm-production"}},"2.32.2-b07a5dd-202607270956.0":{"name":"@flowfuse/nr-launcher","version":"2.32.2-b07a5dd-202607270956.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.32.2-b07a5dd-202607270956.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"6aea141d4f31c215ffeb584fa2f7bb8a2094e8d0","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.32.2-b07a5dd-202607270956.0.tgz","fileCount":50,"integrity":"sha512-2afySeygYFdE/aSt6RMMEp9am4oDXcVDYqC76QVUQgWJ9fFPFQf5BJ4GKW/EYptELCA7G4Oie0IBLirxZ6VioA==","signatures":[{"sig":"MEUCIQDwQqCF+m0cQ1psQWqUF0/J1ihGe+Q1O4kVvwT9j9SdeQIgcB3b4JP5ZfzNizNhuLDR2/4HzDb4qaYh9AjE1E5odXI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":670892},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"b07a5ddf74c27d852d72d42717d5fefe33d7e8ed","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.16.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.17.1-7e0848f-202607270944.0","@flowfuse/nr-file-nodes":"0.0.11-40242ee-202607101342.0","@flowfuse/nr-mqtt-nodes":"0.3.1-f42ca86-202607091014.0","@flowfuse/nr-tables-nodes":"0.2.3-18fbf75-202607091014.0","@flowfuse/nr-project-nodes":"0.7.9-dea9a2f-202607091014.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.32.2-b07a5dd-202607270956.0_1785146179499_0.9916068202977932","host":"s3://npm-registry-packages-npm-production"}},"2.32.2-b07a5dd-202607271030.0":{"name":"@flowfuse/nr-launcher","version":"2.32.2-b07a5dd-202607271030.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.32.2-b07a5dd-202607271030.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"6f495d206dd3e497b7ef6b8fbf3e2a75dcf1e198","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.32.2-b07a5dd-202607271030.0.tgz","fileCount":50,"integrity":"sha512-CCiQrg5wPnMH9bboc3dT38up1e664pnxikoZaMykgSLhHLJa7ajbjGiMyJN8spvAY/dif+6XUqlvn8HK+Y23pQ==","signatures":[{"sig":"MEYCIQCGmgtrmabx2Vf7B9IgG3ccFkvq1XIyYV8FeQqxe34/RgIhAKRF48s7bV3aHd7R4Bog5rFcLIrIDDh/kqHUlPYsjg95","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":670892},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"b07a5ddf74c27d852d72d42717d5fefe33d7e8ed","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.16.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.17.1-7e0848f-202607270944.0","@flowfuse/nr-file-nodes":"0.0.11-a0dfd04-202607271029.0","@flowfuse/nr-mqtt-nodes":"0.3.1-f42ca86-202607091014.0","@flowfuse/nr-tables-nodes":"0.2.3-18fbf75-202607091014.0","@flowfuse/nr-project-nodes":"0.7.9-dea9a2f-202607091014.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.32.2-b07a5dd-202607271030.0_1785148230743_0.855616786112088","host":"s3://npm-registry-packages-npm-production"}},"2.32.2-b07a5dd-202607271033.0":{"name":"@flowfuse/nr-launcher","version":"2.32.2-b07a5dd-202607271033.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.32.2-b07a5dd-202607271033.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"fdcc538bf218d6b998f42c0aec32c3aff6b326b8","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.32.2-b07a5dd-202607271033.0.tgz","fileCount":50,"integrity":"sha512-AWnUQJEm2NJTGr4R60n+6q1MTEEUjBHeQQTM4exwaHi580964cwhPFgEB1pWAV8QlOewnkPZj2v7z5/pMsXN7Q==","signatures":[{"sig":"MEUCID+yPPA3NzKT3hBirpbyhcxmUOHF+XxIYAZKuAxf6jTaAiEA0gj4Yi+2TuvWGLP6xXCHFPmhS/ovyJVCp4zU4XteQxs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":670892},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"b07a5ddf74c27d852d72d42717d5fefe33d7e8ed","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.16.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.17.1-7e0848f-202607270944.0","@flowfuse/nr-file-nodes":"0.0.11-d0460e5-202607271033.0","@flowfuse/nr-mqtt-nodes":"0.3.1-f42ca86-202607091014.0","@flowfuse/nr-tables-nodes":"0.2.3-18fbf75-202607091014.0","@flowfuse/nr-project-nodes":"0.7.9-dea9a2f-202607091014.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.32.2-b07a5dd-202607271033.0_1785148445600_0.3598017513770846","host":"s3://npm-registry-packages-npm-production"}},"2.32.2-b1d34bd-202607271038.0":{"name":"@flowfuse/nr-launcher","version":"2.32.2-b1d34bd-202607271038.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.32.2-b1d34bd-202607271038.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"3e7d982b8f254a0e2a5120162a3ba51d8ece3595","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.32.2-b1d34bd-202607271038.0.tgz","fileCount":50,"integrity":"sha512-Ym/Xm0PFRfBXyXHVYuim0uFT9kCs6obvnkbzhjw1I9iq1IesJe+baPaDDJNSmxF12DT36vXF4TqhDMGb1W3QUA==","signatures":[{"sig":"MEUCIEk/U83MBE/IWrABUIiIhfXgQkhB9pQrxRAjfqX/YEurAiEAy40tstO+2GLA6crGMLFONkMUQ5Srh0CetQt9PJkvr9c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":670892},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"b1d34bd215f8eac15bcc81c0f7b311c3562cb8f1","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.16.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.17.1-7e0848f-202607270944.0","@flowfuse/nr-file-nodes":"0.0.11-4ef9994-202607271036.0","@flowfuse/nr-mqtt-nodes":"0.3.1-f42ca86-202607091014.0","@flowfuse/nr-tables-nodes":"0.2.3-18fbf75-202607091014.0","@flowfuse/nr-project-nodes":"0.7.9-dea9a2f-202607091014.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.32.2-b1d34bd-202607271038.0_1785148723697_0.22446170605034066","host":"s3://npm-registry-packages-npm-production"}},"2.32.2-fd7562f-202607271043.0":{"name":"@flowfuse/nr-launcher","version":"2.32.2-fd7562f-202607271043.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.32.2-fd7562f-202607271043.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"fbe006d0d4afbf68c09feee37674b102c3468db1","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.32.2-fd7562f-202607271043.0.tgz","fileCount":50,"integrity":"sha512-Gjp8A/peKehmOj/gC1KSZBj+iTG3K2rs/O3/gGg+3mF0SgojIeKoXcE5LBCyhfJ3z7rciOv6VOZvjiMmV3/CQA==","signatures":[{"sig":"MEQCIFGJccX0mQJEyPoF3xoTG+kAAKZs8Q4zCNTsYKp7OelKAiALwvm9gkIGFjY4P/2eqWljXriDjz012T4rFjspMiXA6A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":670892},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"fd7562ff970df9de8a7fb8c85b6aedcc08e09b61","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.16.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.17.1-7e0848f-202607270944.0","@flowfuse/nr-file-nodes":"0.0.11-4ef9994-202607271036.0","@flowfuse/nr-mqtt-nodes":"0.3.1-f42ca86-202607091014.0","@flowfuse/nr-tables-nodes":"0.2.3-18fbf75-202607091014.0","@flowfuse/nr-project-nodes":"0.7.9-dea9a2f-202607091014.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.32.2-fd7562f-202607271043.0_1785149011951_0.7620652118478861","host":"s3://npm-registry-packages-npm-production"}},"2.32.2-fd7562f-202607271054.0":{"name":"@flowfuse/nr-launcher","version":"2.32.2-fd7562f-202607271054.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.32.2-fd7562f-202607271054.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"beadb9b3ee610bef78db7a9610ef92cbc2542d48","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.32.2-fd7562f-202607271054.0.tgz","fileCount":50,"integrity":"sha512-NfeaMAedH/8ygGZzyMUk1SwDgV75y3RW81JsECOIGktShn/i7t6SmU2MhBCtaGL90eq3dntjsMsL7CAf0X03xQ==","signatures":[{"sig":"MEUCIQDuMCpbK+o7MzVkkUtALobH+436QD+nCtPQbJe03K3yFwIgbSeIyi1hUHUA/AY9pAWsRBhpGqBInUieCGw52G+dDk0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":670892},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"fd7562ff970df9de8a7fb8c85b6aedcc08e09b61","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.16.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.17.1-7e0848f-202607270944.0","@flowfuse/nr-file-nodes":"0.0.11-4ef9994-202607271036.0","@flowfuse/nr-mqtt-nodes":"0.3.1-f42ca86-202607091014.0","@flowfuse/nr-tables-nodes":"0.2.3-18fbf75-202607091014.0","@flowfuse/nr-project-nodes":"0.7.9-9dcc775-202607271054.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.32.2-fd7562f-202607271054.0_1785149697997_0.3078540053894412","host":"s3://npm-registry-packages-npm-production"}},"2.32.2-fd7562f-202607271056.0":{"name":"@flowfuse/nr-launcher","version":"2.32.2-fd7562f-202607271056.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.32.2-fd7562f-202607271056.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"9a35dee8a34ae4f4acd357bd7ef1f6b5a512a510","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.32.2-fd7562f-202607271056.0.tgz","fileCount":50,"integrity":"sha512-GIhXRVxhwx4pkDsDhu4MstysUp9M3UkWYiLsZMNtKRCq6EL9Ta17gi+F8Bh5lLffqMCyLolfZxlnBJKsl0I9pQ==","signatures":[{"sig":"MEUCIFxYerg3RYkmARhIDiqTpFT5uNmnzsqRLY5+LGTc9HwAAiEA6yvXSNcuWNrUdeLt1EvuvrzGwq5ZI7pCetNextqbrEA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":670892},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"fd7562ff970df9de8a7fb8c85b6aedcc08e09b61","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.16.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.17.1-7e0848f-202607270944.0","@flowfuse/nr-file-nodes":"0.0.11-4ef9994-202607271036.0","@flowfuse/nr-mqtt-nodes":"0.3.1-f42ca86-202607091014.0","@flowfuse/nr-tables-nodes":"0.2.3-18fbf75-202607091014.0","@flowfuse/nr-project-nodes":"0.7.9-a4b3721-202607271055.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.32.2-fd7562f-202607271056.0_1785149791882_0.8586436812460767","host":"s3://npm-registry-packages-npm-production"}},"2.32.2-fd7562f-202607271100.0":{"name":"@flowfuse/nr-launcher","version":"2.32.2-fd7562f-202607271100.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.32.2-fd7562f-202607271100.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"9e8cfefa2c920c616cebf49c46601b4749b466eb","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.32.2-fd7562f-202607271100.0.tgz","fileCount":50,"integrity":"sha512-xFHhsMRbtVb9V7x4U3qtuiRF4AxkO+sqMVyAfaoNKdF0qJNcD4i/bcSPZ4Nrg5UiRBNYVkQArTpzCeFfOpmXTQ==","signatures":[{"sig":"MEUCIDytaH23M1fYqJyeNxwq/54ChUzcDy8lI4XLG6AzLhkGAiEAgRzy6M6kw5K3aZh8Vfd35pKhTw//DIBdOPqxDbys3Y8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":670892},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"fd7562ff970df9de8a7fb8c85b6aedcc08e09b61","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.16.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.17.1-7e0848f-202607270944.0","@flowfuse/nr-file-nodes":"0.0.11-4ef9994-202607271036.0","@flowfuse/nr-mqtt-nodes":"0.3.1-f42ca86-202607091014.0","@flowfuse/nr-tables-nodes":"0.2.3-18fbf75-202607091014.0","@flowfuse/nr-project-nodes":"0.7.9-469e4a2-202607271059.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.32.2-fd7562f-202607271100.0_1785150050910_0.39373448338307915","host":"s3://npm-registry-packages-npm-production"}},"2.32.2-fd7562f-202607271101.0":{"name":"@flowfuse/nr-launcher","version":"2.32.2-fd7562f-202607271101.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.32.2-fd7562f-202607271101.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"b7e07261ac97fc8e937417bf18694fff13fa3935","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.32.2-fd7562f-202607271101.0.tgz","fileCount":50,"integrity":"sha512-3XxXKjdVFezLDg3LfPhvBJ9jQx+YlWSQ6GMEsI/pUxqCR/QUXyacpLMKSOUtqidPZP+5Ij2ha9qx/Z5V3B8AIQ==","signatures":[{"sig":"MEQCIGLmOpQ8o8Lrz7P7eDKVo08m2GhHF1BQsSDBeJ9fsVOlAiAOpq1+SGk1YlrchgJuE8VhWG7ns4siT8ceGa0KA8mbsw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":670892},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"fd7562ff970df9de8a7fb8c85b6aedcc08e09b61","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.16.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.17.1-7e0848f-202607270944.0","@flowfuse/nr-file-nodes":"0.0.11-4ef9994-202607271036.0","@flowfuse/nr-mqtt-nodes":"0.3.1-f42ca86-202607091014.0","@flowfuse/nr-tables-nodes":"0.2.3-18fbf75-202607091014.0","@flowfuse/nr-project-nodes":"0.7.9-22348eb-202607271100.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.32.2-fd7562f-202607271101.0_1785150121335_0.35639555821447866","host":"s3://npm-registry-packages-npm-production"}},"2.32.2-fd7562f-202607271220.0":{"name":"@flowfuse/nr-launcher","version":"2.32.2-fd7562f-202607271220.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.32.2-fd7562f-202607271220.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"02965c39ce87fda54b38e637bfeda9e8b2d68351","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.32.2-fd7562f-202607271220.0.tgz","fileCount":50,"integrity":"sha512-qm/wzuW1K+Qo7lNZn+J2kHyMIbzDncWLugHofbfsd23endRIF/Sg0P3eRxANpgH7vZ3FSyWe/qlehRNd4s103w==","signatures":[{"sig":"MEUCICeI6kX0thfUJT778YqI7V6/FBkFV8chh06VAO9oE7dfAiEApg1JE5xb4VS3QZG+jpSSkNDOfwoIrF/ylC/lMFSdvb8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":670892},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"fd7562ff970df9de8a7fb8c85b6aedcc08e09b61","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.16.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.17.1-a2cc788-202607271220.0","@flowfuse/nr-file-nodes":"0.0.11-4ef9994-202607271036.0","@flowfuse/nr-mqtt-nodes":"0.3.1-f42ca86-202607091014.0","@flowfuse/nr-tables-nodes":"0.2.3-18fbf75-202607091014.0","@flowfuse/nr-project-nodes":"0.7.9-22348eb-202607271100.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.32.2-fd7562f-202607271220.0_1785154865540_0.723236032430115","host":"s3://npm-registry-packages-npm-production"}},"2.32.2-fd7562f-202607271223.0":{"name":"@flowfuse/nr-launcher","version":"2.32.2-fd7562f-202607271223.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.32.2-fd7562f-202607271223.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"5223119aa9c2f19c00588311edbbdc26aa4a75b0","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.32.2-fd7562f-202607271223.0.tgz","fileCount":50,"integrity":"sha512-tZWcdqy53uWignQIQ9uRq7490/EiwIYn1kUXCLKSgyfrltgTUdm8lruj9yJiWbomEkVDaLL0O+LTsRMGEwHdPQ==","signatures":[{"sig":"MEYCIQCGNiZpHCUJ+/IiqKOIQtReGgs++LBpH7BwgO9ggsFldQIhAMMkuSxGbQM706/mZ5Os6bp6zOAeeJSvx3M0JLNOpFnF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":670892},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"fd7562ff970df9de8a7fb8c85b6aedcc08e09b61","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.16.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.18.1-10d82f0-202607271222.0","@flowfuse/nr-file-nodes":"0.0.11-4ef9994-202607271036.0","@flowfuse/nr-mqtt-nodes":"0.3.1-f42ca86-202607091014.0","@flowfuse/nr-tables-nodes":"0.2.3-18fbf75-202607091014.0","@flowfuse/nr-project-nodes":"0.7.9-22348eb-202607271100.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.32.2-fd7562f-202607271223.0_1785155002916_0.4355786805673758","host":"s3://npm-registry-packages-npm-production"}},"2.32.2-fd7562f-202607271411.0":{"name":"@flowfuse/nr-launcher","version":"2.32.2-fd7562f-202607271411.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.32.2-fd7562f-202607271411.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"7d0d6ccf2fd02528b92ca1afe9c452b99b742d02","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.32.2-fd7562f-202607271411.0.tgz","fileCount":50,"integrity":"sha512-Whu6eAq/Rr65U73ym26hWfG0FVommp3T/rLRbE+wNEpaCqLVEztU6qqU7TGvFklVdeLNt0XAr7Yrkp0sgWxDEw==","signatures":[{"sig":"MEUCIElDqqQjLt5Cx9GehXwZCHJr92TkL+5WBEK/Vy2qTxxKAiEAkQAmfUtxyd8+NqTgedgCV3ELYujbnvMW0tdydg7QOok=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":670892},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"fd7562ff970df9de8a7fb8c85b6aedcc08e09b61","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.16.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.18.1-10d82f0-202607271222.0","@flowfuse/nr-file-nodes":"0.0.11-4ef9994-202607271036.0","@flowfuse/nr-mqtt-nodes":"0.3.1-6e2c321-202607271410.0","@flowfuse/nr-tables-nodes":"0.2.3-18fbf75-202607091014.0","@flowfuse/nr-project-nodes":"0.7.9-22348eb-202607271100.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.32.2-fd7562f-202607271411.0_1785161504147_0.8642294177403174","host":"s3://npm-registry-packages-npm-production"}},"2.32.2-fd7562f-202607271417.0":{"name":"@flowfuse/nr-launcher","version":"2.32.2-fd7562f-202607271417.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.32.2-fd7562f-202607271417.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"3c6094e7ef592454a2018c5f8a6aa0fd63e3819d","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.32.2-fd7562f-202607271417.0.tgz","fileCount":50,"integrity":"sha512-/aG0DwvyvkmVvTXlE6e77UxOQoMff/JMwWh4N8mFpb6xDwCLJh4UZ4f/hsnGrF2gxmHwjeKeuwudKI5HY3OaLQ==","signatures":[{"sig":"MEYCIQCHjNPlQWWRg5knh/fTYchkzX0F7Ulua5jSD+p9OCEkiQIhAJLM5jbjl4nWw3GOvvcU4DvRJxEGkC/31atf/Pt4u3Ow","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":670892},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"fd7562ff970df9de8a7fb8c85b6aedcc08e09b61","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.16.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.18.1-10d82f0-202607271222.0","@flowfuse/nr-file-nodes":"0.0.11-4ef9994-202607271036.0","@flowfuse/nr-mqtt-nodes":"0.3.1-29a4494-202607271416.0","@flowfuse/nr-tables-nodes":"0.2.3-18fbf75-202607091014.0","@flowfuse/nr-project-nodes":"0.7.9-22348eb-202607271100.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.32.2-fd7562f-202607271417.0_1785161851936_0.7726279316240998","host":"s3://npm-registry-packages-npm-production"}},"2.32.2-fd7562f-202607271418.0":{"name":"@flowfuse/nr-launcher","version":"2.32.2-fd7562f-202607271418.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.32.2-fd7562f-202607271418.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"c95f8aa148dd475961d34db44ad7293b37bbd7f8","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.32.2-fd7562f-202607271418.0.tgz","fileCount":50,"integrity":"sha512-d9YGDHx+1wKMN4AJ3ED3rV8Fcf2x7IPnWP9bTsg5vKlmgMov7yiTTZfKQ/IEHNpzsYIzGHyJfuG4rtspOJojTw==","signatures":[{"sig":"MEUCIQClwtw/NyzJBrdzOHUilY5iTIx2PU6+xYe24+t7C26tSAIgYHLbSw1sx7ZdvYj4HRLrBDrWJntmTEUFCAUgyb+EHgg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":670892},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"fd7562ff970df9de8a7fb8c85b6aedcc08e09b61","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.16.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.18.1-10d82f0-202607271222.0","@flowfuse/nr-file-nodes":"0.0.11-4ef9994-202607271036.0","@flowfuse/nr-mqtt-nodes":"0.3.1-6845354-202607271417.0","@flowfuse/nr-tables-nodes":"0.2.3-18fbf75-202607091014.0","@flowfuse/nr-project-nodes":"0.7.9-22348eb-202607271100.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.32.2-fd7562f-202607271418.0_1785161912126_0.604402854769315","host":"s3://npm-registry-packages-npm-production"}},"2.32.2-fd7562f-202607271420.0":{"name":"@flowfuse/nr-launcher","version":"2.32.2-fd7562f-202607271420.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.32.2-fd7562f-202607271420.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"7aff6201cdef6ed618f9ccd7e2f66993a0737b31","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.32.2-fd7562f-202607271420.0.tgz","fileCount":50,"integrity":"sha512-SpGJH0fijVPJKWhnbaK+mGXBK2n0odWL8UZZ8dJTJSrqT3UX2i1m4YcJXdE0nMuf0/vNoZ0awFpV+LmTMt2SIg==","signatures":[{"sig":"MEQCIFocNJ78oQkrE7N8dBq62Lpl+aIevezngiINearVnfjPAiAT2q/m/wDmEERPvI2Xm1dnfyfifOJgGtighyScF36dxA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":670892},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"fd7562ff970df9de8a7fb8c85b6aedcc08e09b61","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.16.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.18.1-10d82f0-202607271222.0","@flowfuse/nr-file-nodes":"0.0.11-4ef9994-202607271036.0","@flowfuse/nr-mqtt-nodes":"0.3.1-08ee488-202607271419.0","@flowfuse/nr-tables-nodes":"0.2.3-18fbf75-202607091014.0","@flowfuse/nr-project-nodes":"0.7.9-22348eb-202607271100.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.32.2-fd7562f-202607271420.0_1785162020717_0.14737197813309688","host":"s3://npm-registry-packages-npm-production"}},"2.32.2-fd7562f-202607271421.0":{"name":"@flowfuse/nr-launcher","version":"2.32.2-fd7562f-202607271421.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.32.2-fd7562f-202607271421.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"bb93e4d1486e424e7367c4305b6d2df8194608e1","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.32.2-fd7562f-202607271421.0.tgz","fileCount":50,"integrity":"sha512-gJZs6dOqHTql3aDGjkVqrc3g907w1wuoclQZ+fwZNAWlOOItSBJ3umMG54cbxZmFjLgPVXBHkiaFBzOaaAurtA==","signatures":[{"sig":"MEUCIGB0mDKcTmXePTtuNjG6b6b8sK52Mxftu0KExcvAlTsuAiEAjUuuSaKmVxbs2e0ymGQXVfxthApw9L79Nn5ipxlhC7I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":670892},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"fd7562ff970df9de8a7fb8c85b6aedcc08e09b61","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.16.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.18.1-10d82f0-202607271222.0","@flowfuse/nr-file-nodes":"0.0.11-4ef9994-202607271036.0","@flowfuse/nr-mqtt-nodes":"0.3.1-09914b2-202607271420.0","@flowfuse/nr-tables-nodes":"0.2.3-18fbf75-202607091014.0","@flowfuse/nr-project-nodes":"0.7.9-22348eb-202607271100.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.32.2-fd7562f-202607271421.0_1785162088147_0.92968627342779","host":"s3://npm-registry-packages-npm-production"}},"2.32.2-fd7562f-202607271422.0":{"name":"@flowfuse/nr-launcher","version":"2.32.2-fd7562f-202607271422.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.32.2-fd7562f-202607271422.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"dbef8415b55dd858dd5fd40a4964e09f8467aee5","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.32.2-fd7562f-202607271422.0.tgz","fileCount":50,"integrity":"sha512-43moRJaT7MaQPzJvA15HUqOuFuBiiwIQNhmfW+gn5JKHb9N0d68d/Y5Go/Z36baoAEwtkXM/Zx41hj20SOdwTw==","signatures":[{"sig":"MEQCIBhPpWckD23THe9gdOlYKfHMwZySuto8Z5I6EoXZU5rxAiAajTLa90kxonHWmfectm18e3+/J8ghBjNmoNRGfVwf6Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":670892},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"fd7562ff970df9de8a7fb8c85b6aedcc08e09b61","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.16.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.18.1-10d82f0-202607271222.0","@flowfuse/nr-file-nodes":"0.0.11-4ef9994-202607271036.0","@flowfuse/nr-mqtt-nodes":"0.3.1-17c7d05-202607271421.0","@flowfuse/nr-tables-nodes":"0.2.3-18fbf75-202607091014.0","@flowfuse/nr-project-nodes":"0.7.9-22348eb-202607271100.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.32.2-fd7562f-202607271422.0_1785162156765_0.40022886808204494","host":"s3://npm-registry-packages-npm-production"}},"2.32.2-54b93f4-202607271559.0":{"name":"@flowfuse/nr-launcher","version":"2.32.2-54b93f4-202607271559.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.32.2-54b93f4-202607271559.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"4a2758c08c12dcb0719355d8de03f41366098fc6","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.32.2-54b93f4-202607271559.0.tgz","fileCount":50,"integrity":"sha512-fRStZaFU9fE0TtX1/3F3rfckWd6wAtA3YgB7kkSxPMVPjgOBwPfP98AvABde7HLY0+n8P1YDqREysABoby0M6Q==","signatures":[{"sig":"MEUCIASMn/bOFn2ZPGUnN9T/OOZYQzwlIwAqZMcMfh3vpjI2AiEAzgAEY5vHi3n6jSRUlMMNyRul1Eo5gelXWJZ2d/WmuQ0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":671069},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"54b93f4ade7116d4e2f7d9051d6d0ca308753527","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.16.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.18.1-10d82f0-202607271222.0","@flowfuse/nr-file-nodes":"0.0.11-4ef9994-202607271036.0","@flowfuse/nr-mqtt-nodes":"0.3.1-17c7d05-202607271421.0","@flowfuse/nr-tables-nodes":"0.2.3-18fbf75-202607091014.0","@flowfuse/nr-project-nodes":"0.7.9-22348eb-202607271100.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.32.2-54b93f4-202607271559.0_1785167987491_0.6106410066295809","host":"s3://npm-registry-packages-npm-production"}},"2.32.2-54b93f4-202607301218.0":{"name":"@flowfuse/nr-launcher","version":"2.32.2-54b93f4-202607301218.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.32.2-54b93f4-202607301218.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"1ea201bd0095c9c76704db07e7914e97f8d459c8","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.32.2-54b93f4-202607301218.0.tgz","fileCount":50,"integrity":"sha512-EV1/Yn65+nErtNJ1OJr46RtHUdJBmqrUETJHzSU5UpfiDTqOFGBJjnD431wbI7RyOfBtobXBhTPcQaGYlaxwRg==","signatures":[{"sig":"MEUCICliJYZhkXwtg7i2ALcynm+7cPb8x2XaJU9L/Ucp+O8uAiEAziVylH4UYSvm7wbp+P5R14tqDjtkcUfsBTzp4b4gl04=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":671069},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"54b93f4ade7116d4e2f7d9051d6d0ca308753527","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.16.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.18.1-b67d29b-202607301217.0","@flowfuse/nr-file-nodes":"0.0.11-4ef9994-202607271036.0","@flowfuse/nr-mqtt-nodes":"0.3.1-17c7d05-202607271421.0","@flowfuse/nr-tables-nodes":"0.2.3-18fbf75-202607091014.0","@flowfuse/nr-project-nodes":"0.7.9-22348eb-202607271100.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.32.2-54b93f4-202607301218.0_1785413942499_0.3300616159477521","host":"s3://npm-registry-packages-npm-production"}},"2.32.2-54b93f4-202607301221.0":{"name":"@flowfuse/nr-launcher","version":"2.32.2-54b93f4-202607301221.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.32.2-54b93f4-202607301221.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"b7dd921901f474488fdae4c3ad33ef27c55d4fd6","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.32.2-54b93f4-202607301221.0.tgz","fileCount":50,"integrity":"sha512-7IBwkB9Qhn49xGnE0DZE+F/2uHu2n934VXEvYhnkGDNE6n0mcCQVwea00a5mBm+4tU8UTcIoXL6X3/2TbkHoFA==","signatures":[{"sig":"MEQCIDQ8BMynrNNBHNSIO2t7lbgZri/f4TKNJpuaYyDhrlltAiAXG1LledBNDCnFthai28DE9Jssi7jiG8goG8hEE/3H3A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":671069},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"54b93f4ade7116d4e2f7d9051d6d0ca308753527","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.16.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.18.2-1cffe74-202607301220.0","@flowfuse/nr-file-nodes":"0.0.11-4ef9994-202607271036.0","@flowfuse/nr-mqtt-nodes":"0.3.1-17c7d05-202607271421.0","@flowfuse/nr-tables-nodes":"0.2.3-18fbf75-202607091014.0","@flowfuse/nr-project-nodes":"0.7.9-22348eb-202607271100.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.32.2-54b93f4-202607301221.0_1785414115485_0.6080788846951284","host":"s3://npm-registry-packages-npm-production"}},"2.32.2-26137df-202607301241.0":{"name":"@flowfuse/nr-launcher","version":"2.32.2-26137df-202607301241.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.32.2-26137df-202607301241.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"6986b5b15b943855916efbbc0f1f939ce89c0ffd","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.32.2-26137df-202607301241.0.tgz","fileCount":50,"integrity":"sha512-Ywwx9axaXP1C9Uz/VMQFTsX+fnguVv4f/of+VJJGkPAszlQUi+yTcivTP+VURE7YI74YFQ1gjXJolhWGucmS/w==","signatures":[{"sig":"MEUCIDn/rDTtTjRL+jkXYDNyDT33a8fmxYBOyO4BNOrQS6VkAiEAncT0x9BQovgGJg6PWT3/7Lj3qGbbaYvTOs19youpya8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":671069},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"26137df6557e4d3eeb5e8aa48423e156e9b3d5ec","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.16.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.18.2-1cffe74-202607301220.0","@flowfuse/nr-file-nodes":"0.0.11-4ef9994-202607271036.0","@flowfuse/nr-mqtt-nodes":"0.3.1-17c7d05-202607271421.0","@flowfuse/nr-tables-nodes":"0.2.3-18fbf75-202607091014.0","@flowfuse/nr-project-nodes":"0.7.9-22348eb-202607271100.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.32.2-26137df-202607301241.0_1785415302211_0.652547464865898","host":"s3://npm-registry-packages-npm-production"}},"2.33.0":{"name":"@flowfuse/nr-launcher","version":"2.33.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.33.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"a98aed5c50086e3e9d4fd92b91bb8a6e30d3425b","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.33.0.tgz","fileCount":50,"integrity":"sha512-GDyx/7Q5x1vbtlPQZOuYjX3u3/eZnWOxn18zRtsXODEIDY0REA1BTCfL3qS3buE9Jsn1VhDkBBNaijMDvBVvHg==","signatures":[{"sig":"MEQCIAOY8rMJkNqYFKGIX2quowPGHcZkNo555FK3s2hJYGlEAiAYL/o/uAw4rgvlR5PlbQaFgGwuAY3Vgmv/CrRmEcvFNw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":671482},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"c1145bd98ca78c0b775cac50a2319eece065f7f5","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.16.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"^0.18.1","@flowfuse/nr-file-nodes":"^0.0.10","@flowfuse/nr-mqtt-nodes":"^0.3.0","@flowfuse/nr-tables-nodes":"^0.2.2","@flowfuse/nr-project-nodes":"^0.7.8","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.33.0_1785417653458_0.535579103754205","host":"s3://npm-registry-packages-npm-production"}},"2.33.1-c1145bd-202607301320.0":{"name":"@flowfuse/nr-launcher","version":"2.33.1-c1145bd-202607301320.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.33.1-c1145bd-202607301320.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"95500226d6927d1d60d6b77a36cc2a856b2956cd","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.33.1-c1145bd-202607301320.0.tgz","fileCount":50,"integrity":"sha512-QrSZpeqcvjsGVprBwDrXsVZhyYXge4vhAEoWRtk3+n162AHuyEbCq+ztYV3AqWeOXGaVcKPnxbhcDztf7bMxNw==","signatures":[{"sig":"MEYCIQDQ4ELbmAjoGSKFC6qJc6WVg5QA8yV9fsdgWhn6l5F8kQIhAJSPXbeOfF7/yoc14otuHwguvx+LhwDsuFalf+RHogz1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":671613},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"c1145bd98ca78c0b775cac50a2319eece065f7f5","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.16.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.18.2-1cffe74-202607301220.0","@flowfuse/nr-file-nodes":"0.0.11-4ef9994-202607271036.0","@flowfuse/nr-mqtt-nodes":"0.3.1-17c7d05-202607271421.0","@flowfuse/nr-tables-nodes":"0.2.3-18fbf75-202607091014.0","@flowfuse/nr-project-nodes":"0.7.9-22348eb-202607271100.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.33.1-c1145bd-202607301320.0_1785417657476_0.5548617661644106","host":"s3://npm-registry-packages-npm-production"}},"2.33.2-d6ca969-202607310859.0":{"name":"@flowfuse/nr-launcher","version":"2.33.2-d6ca969-202607310859.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.33.2-d6ca969-202607310859.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"d51bd5065282998a034903dd0a1ada6ecb5a984a","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.33.2-d6ca969-202607310859.0.tgz","fileCount":50,"integrity":"sha512-cYgYGaJ2avZVcMiizquPmNoytJQJbe3Ns748VAHN08p7DPC+EXiAT1cXGIqB/PLU/V4k9KynNsZ/V8nVjOSvIA==","signatures":[{"sig":"MEYCIQDpNgDPuzeKu+EOva+QQ1XeT98+QWYfUxZtwtyLMNpgRwIhAPXShndfI3seUbnRJv/QB9h1xGWwqzrEVrX6L90Xn8Lp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":671636},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"d6ca969038e55e4410d8ef2c877112085c0ef286","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.16.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.18.2-1cffe74-202607301220.0","@flowfuse/nr-file-nodes":"0.0.11-4ef9994-202607271036.0","@flowfuse/nr-mqtt-nodes":"0.3.1-17c7d05-202607271421.0","@flowfuse/nr-tables-nodes":"0.2.3-18fbf75-202607091014.0","@flowfuse/nr-project-nodes":"0.7.9-22348eb-202607271100.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.33.2-d6ca969-202607310859.0_1785488356356_0.22617427831082293","host":"s3://npm-registry-packages-npm-production"}},"2.33.1":{"name":"@flowfuse/nr-launcher","version":"2.33.1","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.33.1","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"cbc7743761d79320b1681d5202facc9b9c2cae5c","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.33.1.tgz","fileCount":50,"integrity":"sha512-z5lQF7Fr52XCaZrs8mgjHwk7ydEgERSik1qefg9a3WOlV4k6+LFgmtVMgsmaHhv9KKTPwlyoUiQqGQ7PgDaJGA==","signatures":[{"sig":"MEUCIQCAGwpiGtbLvNTNh1gAINGLCVQx0z6+FVP2ieUuRBVolgIgNKuupQF/AXoVCNERoqMwYU9cJb19pZMKPaA5PPOu/M4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":671505},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"d6ca969038e55e4410d8ef2c877112085c0ef286","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.16.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"^0.18.1","@flowfuse/nr-file-nodes":"^0.0.10","@flowfuse/nr-mqtt-nodes":"^0.3.0","@flowfuse/nr-tables-nodes":"^0.2.2","@flowfuse/nr-project-nodes":"^0.7.8","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.33.1_1785488359447_0.757769895338021","host":"s3://npm-registry-packages-npm-production"}},"2.33.2-d37fe81-202608050927.0":{"name":"@flowfuse/nr-launcher","version":"2.33.2-d37fe81-202608050927.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.33.2-d37fe81-202608050927.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"1a4b43d2cbf27cad5a6f9559862829b96c8a63d8","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.33.2-d37fe81-202608050927.0.tgz","fileCount":50,"integrity":"sha512-1leomvWyAfv6mxu1e6LCn0g1ooUZcmTlETvDlh3zW+O7o526UUggvzGz23DvUIUB/eFfTsQSUQXAixiwDlzVmg==","signatures":[{"sig":"MEUCIQCEmDHXOGJHyoEtKSIx5F9MOys7aLlasSS2yq/uDtWmQwIgR5vR/106eT7NlyxlAu9y+U88PxqwWzv+bQunimK1+/I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":671636},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"d37fe81bd6c45c2e0fb91c287687d7358abb6d0a","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.16.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.18.2-1cffe74-202607301220.0","@flowfuse/nr-file-nodes":"0.0.11-4ef9994-202607271036.0","@flowfuse/nr-mqtt-nodes":"0.3.1-17c7d05-202607271421.0","@flowfuse/nr-tables-nodes":"0.2.3-18fbf75-202607091014.0","@flowfuse/nr-project-nodes":"0.7.9-22348eb-202607271100.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.33.2-d37fe81-202608050927.0_1785922055959_0.7664452383202089","host":"s3://npm-registry-packages-npm-production"}},"2.33.2-1c1129b-202608050929.0":{"name":"@flowfuse/nr-launcher","version":"2.33.2-1c1129b-202608050929.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.33.2-1c1129b-202608050929.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"31e5eb09d4eb23b47766f4e4a793b980db2c057d","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.33.2-1c1129b-202608050929.0.tgz","fileCount":50,"integrity":"sha512-slazYbBdqJqNKFOiJqV2kCq2IDfYlf8mjcGQLDMVp3glwyaFQIYKrdDOkJQ9IYwsJnNlZ7Plc/peRMoE8Kr0Pw==","signatures":[{"sig":"MEYCIQDC/Y/NEsyCVHRkByyCn2/55CTShkyI2QLzHc2tBcWCBQIhAO2c36jmgXNaNByoLX72Der3YUZZJwPSp92UT60BM9kq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":671636},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"1c1129b16b0c20ec52946acad471ab6bf043eb98","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.16.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.18.2-1cffe74-202607301220.0","@flowfuse/nr-file-nodes":"0.0.11-4ef9994-202607271036.0","@flowfuse/nr-mqtt-nodes":"0.3.1-17c7d05-202607271421.0","@flowfuse/nr-tables-nodes":"0.2.3-18fbf75-202607091014.0","@flowfuse/nr-project-nodes":"0.7.9-22348eb-202607271100.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.33.2-1c1129b-202608050929.0_1785922187255_0.729870512874512","host":"s3://npm-registry-packages-npm-production"}},"2.33.2-7d4d1f4-202608050930.0":{"name":"@flowfuse/nr-launcher","version":"2.33.2-7d4d1f4-202608050930.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.33.2-7d4d1f4-202608050930.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"7e7154cc1f32115c7913b6f9817c12a66f2012e8","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.33.2-7d4d1f4-202608050930.0.tgz","fileCount":50,"integrity":"sha512-4f+2v/pZHT6DmbBkV8zlfqLVvtO6fPMlrolQHTqJO6UjzyEQMIej7GbdKee2LPe0Y1QsYCr805/L7mpv+MUG9A==","signatures":[{"sig":"MEUCIQDztMbtNCSbpSTguSUv+VnCR1JosnCCuNroWezx4YCrYwIgT6fRP3ivxQ/wAHmodFJnLLgCJ0D57U2JTp3aYN4+UT4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":671636},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"7d4d1f4aa912cd84586e3139ef6be1962d61adf0","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.16.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.18.2-1cffe74-202607301220.0","@flowfuse/nr-file-nodes":"0.0.11-4ef9994-202607271036.0","@flowfuse/nr-mqtt-nodes":"0.3.1-17c7d05-202607271421.0","@flowfuse/nr-tables-nodes":"0.2.3-18fbf75-202607091014.0","@flowfuse/nr-project-nodes":"0.7.9-22348eb-202607271100.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.33.2-7d4d1f4-202608050930.0_1785922261878_0.8610789872655114","host":"s3://npm-registry-packages-npm-production"}},"2.33.3-35b3a93-202608050931.0":{"name":"@flowfuse/nr-launcher","version":"2.33.3-35b3a93-202608050931.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.33.3-35b3a93-202608050931.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"be9e56afd66465a607e264ec5d052e5d5ef37887","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.33.3-35b3a93-202608050931.0.tgz","fileCount":50,"integrity":"sha512-DjolhMyCrjH/9s2+HIkzu7aWUS7HNXIBtwE4E8sQEvuw8FAjoJJVzubmtncyoMuEJzUxAQzDVXS3jxhDXvotJA==","signatures":[{"sig":"MEYCIQCWMOe22A/3uZFPDIh64p68IxoP+GQaVGynlHnu96+WuwIhAP3KhngRtRVKVmB8gqB0ZuWWRJw70rd+NrGWuyfq8GfX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":671782},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"35b3a935e94524903222498d012a9e02211d4bc3","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.16.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.18.2-1cffe74-202607301220.0","@flowfuse/nr-file-nodes":"0.0.11-4ef9994-202607271036.0","@flowfuse/nr-mqtt-nodes":"0.3.1-17c7d05-202607271421.0","@flowfuse/nr-tables-nodes":"0.2.3-18fbf75-202607091014.0","@flowfuse/nr-project-nodes":"0.7.9-22348eb-202607271100.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.33.3-35b3a93-202608050931.0_1785922321687_0.5381229175074205","host":"s3://npm-registry-packages-npm-production"}},"2.33.2":{"name":"@flowfuse/nr-launcher","version":"2.33.2","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.33.2","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"0062fb5adcddac8cfcd7c0f4a93b58cc71faa02f","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.33.2.tgz","fileCount":50,"integrity":"sha512-qA6idooZvt2wHNEl6WtyreXLGh/t/o6ZeuK5hbRBzui1XUJfcRVtNx30o7HStvRWdOd/d8LMGNwoAhlBfkwVpg==","signatures":[{"sig":"MEQCID/OLIk9twFiMem/DB1ifN2+sxI3qdVOLdaJFyibx3P2AiAnjoo0OIuNJTSAymDOuFOwwTwOTWLTbTYgD0mDEvdDBA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":671651},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"35b3a935e94524903222498d012a9e02211d4bc3","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.16.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"^0.18.1","@flowfuse/nr-file-nodes":"^0.0.10","@flowfuse/nr-mqtt-nodes":"^0.3.0","@flowfuse/nr-tables-nodes":"^0.2.2","@flowfuse/nr-project-nodes":"^0.7.8","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.33.2_1785922360241_0.7299119293639482","host":"s3://npm-registry-packages-npm-production"}},"2.33.3-35b3a93-202608051046.0":{"name":"@flowfuse/nr-launcher","version":"2.33.3-35b3a93-202608051046.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.33.3-35b3a93-202608051046.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"fb06d2bb0cbe038c3a82cd9acb32622ba98c471f","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.33.3-35b3a93-202608051046.0.tgz","fileCount":50,"integrity":"sha512-TeUL3oGxAPkq/pZkkjqbzhpLIYHm2yivgr/MlS/8qiXrBjlGLTzemRetn5Z6cxfvemwjo1IxQbouv+pJQgVrIw==","signatures":[{"sig":"MEUCIBkHIbLX2j2CF10MUiPn6iTYSbniwpj5vbfZyZqzD2IrAiEAl7Ozva3cJVpQIJ0mVX/zpn/EZ9Rn2SmNvyAChwPJ0lg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":671782},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"35b3a935e94524903222498d012a9e02211d4bc3","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.16.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.18.2-a12cd87-202608051046.0","@flowfuse/nr-file-nodes":"0.0.11-4ef9994-202607271036.0","@flowfuse/nr-mqtt-nodes":"0.3.1-17c7d05-202607271421.0","@flowfuse/nr-tables-nodes":"0.2.3-18fbf75-202607091014.0","@flowfuse/nr-project-nodes":"0.7.9-22348eb-202607271100.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.33.3-35b3a93-202608051046.0_1785926821739_0.17553123503856205","host":"s3://npm-registry-packages-npm-production"}},"2.33.3-35b3a93-202608051048.0":{"name":"@flowfuse/nr-launcher","version":"2.33.3-35b3a93-202608051048.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.33.3-35b3a93-202608051048.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"85ea1f586b4964a6ce44a6945968f1cfa9c9d9e6","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.33.3-35b3a93-202608051048.0.tgz","fileCount":50,"integrity":"sha512-3FMMqNqR6R9fWrCzPte548S6mg5Vwuo5Eghz6G0z36+93umNm7R9Hrf9HYK2sT1EPlvaim9qMquS3zwWL0VxnQ==","signatures":[{"sig":"MEQCIEwEoSzLvJxkM7ke1+B5QdxdOXCvus+5EFL+iX141DQbAiAbQkXtmkkmv7eMxHTjHYbng0l6MkZnIF5WQVEtxr59MA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":671782},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"35b3a935e94524903222498d012a9e02211d4bc3","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.16.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.18.2-a12cd87-202608051046.0","@flowfuse/nr-file-nodes":"0.0.11-32a8d50-202608051047.0","@flowfuse/nr-mqtt-nodes":"0.3.1-17c7d05-202607271421.0","@flowfuse/nr-tables-nodes":"0.2.3-18fbf75-202607091014.0","@flowfuse/nr-project-nodes":"0.7.9-22348eb-202607271100.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.33.3-35b3a93-202608051048.0_1785926895807_0.5606225781047136","host":"s3://npm-registry-packages-npm-production"}},"2.33.3-35b3a93-202608051101.0":{"name":"@flowfuse/nr-launcher","version":"2.33.3-35b3a93-202608051101.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.33.3-35b3a93-202608051101.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"00648cfbf18328ee39ff099c1aa7fe4bd3756f39","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.33.3-35b3a93-202608051101.0.tgz","fileCount":50,"integrity":"sha512-s33ltNaWBEgk9fEIsFK+RoT3BrLExa4H9AFTffsM6M5XMjQ0T0LcLW9uw1Tr3lZoue/MQIWF3A1fDatDSxtc+A==","signatures":[{"sig":"MEYCIQDfxyCZ7cv8MLfN/x+IdqJHE9vxI5z9d6zMe7qrwis0EgIhANgxbqhbFTGcdlMwFWKWlYl62GqJmpbWE2yGhnwNmR2o","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":671782},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"35b3a935e94524903222498d012a9e02211d4bc3","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.16.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.18.2-a12cd87-202608051046.0","@flowfuse/nr-file-nodes":"0.0.11-e3aa398-202608051100.0","@flowfuse/nr-mqtt-nodes":"0.3.1-17c7d05-202607271421.0","@flowfuse/nr-tables-nodes":"0.2.3-18fbf75-202607091014.0","@flowfuse/nr-project-nodes":"0.7.9-22348eb-202607271100.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.33.3-35b3a93-202608051101.0_1785927671568_0.2415138991032375","host":"s3://npm-registry-packages-npm-production"}},"2.33.3-35b3a93-202608051410.0":{"name":"@flowfuse/nr-launcher","version":"2.33.3-35b3a93-202608051410.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.33.3-35b3a93-202608051410.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"853da847c6904153750d704a6d3f933250638ae9","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.33.3-35b3a93-202608051410.0.tgz","fileCount":50,"integrity":"sha512-HCZQx28FEaUa4NBvDPSp41lqVezKq0McYaGxeknBjFYhgUrL+xgbfEeL5jRJXzzVJg0wPGkBd+CjKesd8cF5Ew==","signatures":[{"sig":"MEUCIQDJ0bBnPMly4R/Am0K/nOpMIOVtUMGP+usBjYTjSwZFigIgdB17n4PS00U0Gvnrn5euINkyozM5n20RwQV6jplN/14=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":671782},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"35b3a935e94524903222498d012a9e02211d4bc3","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.16.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.18.2-a12cd87-202608051046.0","@flowfuse/nr-file-nodes":"0.0.11-e3aa398-202608051100.0","@flowfuse/nr-mqtt-nodes":"0.3.1-4bcffed-202608051408.0","@flowfuse/nr-tables-nodes":"0.2.3-18fbf75-202607091014.0","@flowfuse/nr-project-nodes":"0.7.9-22348eb-202607271100.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.33.3-35b3a93-202608051410.0_1785939053406_0.5919330269409553","host":"s3://npm-registry-packages-npm-production"}},"2.33.3-d4a4590-202608051412.0":{"name":"@flowfuse/nr-launcher","version":"2.33.3-d4a4590-202608051412.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.33.3-d4a4590-202608051412.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"263894d62f1938ae786fb4c223b6b30f428300e9","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.33.3-d4a4590-202608051412.0.tgz","fileCount":50,"integrity":"sha512-D3ax2gkKCJnKHkMAgvbkCq9lhknygwuYhAcuLdO3JmBNIVdr8ZxAEz+daKZeOvz+TnyWQESpn3YFzG/YpJDRZw==","signatures":[{"sig":"MEQCIA9luSg+kyz8F5/rpKi0Yv/37cGkEgtgZLg2E6uItFjUAiB27QhDPSW8aI5ei9qgSomuKG8KR5QO/BbbHYn0/8soBQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":671782},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"d4a4590673a91743fa1067e532f7b4e6551c7e6e","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.16.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.18.2-a12cd87-202608051046.0","@flowfuse/nr-file-nodes":"0.0.11-e3aa398-202608051100.0","@flowfuse/nr-mqtt-nodes":"0.3.1-2015982-202608051410.0","@flowfuse/nr-tables-nodes":"0.2.3-18fbf75-202607091014.0","@flowfuse/nr-project-nodes":"0.7.9-22348eb-202607271100.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.33.3-d4a4590-202608051412.0_1785939140588_0.6472928678887591","host":"s3://npm-registry-packages-npm-production"}},"2.33.3-d4a4590-202608060823.0":{"name":"@flowfuse/nr-launcher","version":"2.33.3-d4a4590-202608060823.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.33.3-d4a4590-202608060823.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"956abc96db2c6d239f43442d39b817bf75485ce3","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.33.3-d4a4590-202608060823.0.tgz","fileCount":50,"integrity":"sha512-YTMgYHHWSQ5tiJ8efpE4tgpR0hPvh/HW2GEkmgQAVggGvjnZ9gF4uCuBvNCPKdhEH235bSbhhXQtxEHrhWLkvA==","signatures":[{"sig":"MEUCID3oKrAs6GsGGaK4WqDPZxhsQyoryVdEYEWz+76nswp4AiEAwZcg2mB5Rori6/qL84vxXccXii0q70v/k+Dtl0jkpk0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":671782},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"d4a4590673a91743fa1067e532f7b4e6551c7e6e","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.16.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.18.2-eba1550-202608060822.0","@flowfuse/nr-file-nodes":"0.0.11-e3aa398-202608051100.0","@flowfuse/nr-mqtt-nodes":"0.3.1-2015982-202608051410.0","@flowfuse/nr-tables-nodes":"0.2.3-18fbf75-202607091014.0","@flowfuse/nr-project-nodes":"0.7.9-e693b78-202608060821.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.33.3-d4a4590-202608060823.0_1786004618580_0.8550921677635213","host":"s3://npm-registry-packages-npm-production"}},"2.33.3-d4a4590-202608060916.0":{"name":"@flowfuse/nr-launcher","version":"2.33.3-d4a4590-202608060916.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.33.3-d4a4590-202608060916.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"a587b8e029b59f15e51523da1c852264d457b9eb","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.33.3-d4a4590-202608060916.0.tgz","fileCount":50,"integrity":"sha512-rGJO1NUpOH2Hpu4HliakW5ef1gmdkAKPXrZK5pYv9qAMeYcS6p9Syz+oQ1BBQ2jwq5F8XKtbEXEbDJG/Wxg3NA==","signatures":[{"sig":"MEUCIACal8JwQlar8pZWBbz7BBhtTNQUm5uUiqkSy0xrM9yCAiEA6FqavWUwfKiGgHVYO99XhDzN7VRJJbuYkGrtdRZF23c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":671782},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"d4a4590673a91743fa1067e532f7b4e6551c7e6e","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.16.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.18.2-eba1550-202608060822.0","@flowfuse/nr-file-nodes":"0.0.11-e3aa398-202608051100.0","@flowfuse/nr-mqtt-nodes":"0.3.1-2015982-202608051410.0","@flowfuse/nr-tables-nodes":"0.2.3-18fbf75-202607091014.0","@flowfuse/nr-project-nodes":"0.7.9-546258d-202608060915.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.33.3-d4a4590-202608060916.0_1786007811944_0.3793993873453141","host":"s3://npm-registry-packages-npm-production"}},"2.33.3-194e221-202608120800.0":{"name":"@flowfuse/nr-launcher","version":"2.33.3-194e221-202608120800.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.33.3-194e221-202608120800.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"7e3e3caf334033e58f78c2021d6c7eb98d050a16","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.33.3-194e221-202608120800.0.tgz","fileCount":50,"integrity":"sha512-Ir1E5RBsU+DGitcwAC1ub9wV6JIEu8e+LSrtuSdHKRCGs3StPrDLWEMGGJHES7tsQpAby1IXykvl6GQeY0FWFQ==","signatures":[{"sig":"MEUCIDDPqJpx1O0tirL9Ce85pATniSgz4wpDLDvpYWFLAP/HAiEAk7LjCH4cAFj5feYxBfI2iqThyenU/qQEsGznlrj/yrc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":671782},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"194e2218c3dab1ec50293280956d03760c32a072","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.16.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.18.2-eba1550-202608060822.0","@flowfuse/nr-file-nodes":"0.0.11-e3aa398-202608051100.0","@flowfuse/nr-mqtt-nodes":"0.3.1-2015982-202608051410.0","@flowfuse/nr-tables-nodes":"0.2.3-18fbf75-202607091014.0","@flowfuse/nr-project-nodes":"0.7.9-546258d-202608060915.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.33.3-194e221-202608120800.0_1786521633377_0.32922680598810183","host":"s3://npm-registry-packages-npm-production"}},"2.33.3-194e221-202608120811.0":{"name":"@flowfuse/nr-launcher","version":"2.33.3-194e221-202608120811.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.33.3-194e221-202608120811.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"aadfc5a825305dbe30ba90b231c81ca7664bb3e0","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.33.3-194e221-202608120811.0.tgz","fileCount":50,"integrity":"sha512-DAtcEdOu5HePDzyFNW7DRW9O37pEVLTbpKaJeyAUQaWCtyHaaWpo1GlCS2iEhIT/nYABj/qEN7uKm9E+hCqg+Q==","signatures":[{"sig":"MEUCIFHV8G0okZa4rcd7GXT0tOunTJOk9QXs8/ss7gQp3NWLAiEApY6wuXf9x9hPEFVUsdBb9Bjp83AUCnOqovTchRpgYPk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":671782},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"194e2218c3dab1ec50293280956d03760c32a072","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.16.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.18.2-b4b3223-202608120810.0","@flowfuse/nr-file-nodes":"0.0.11-e3aa398-202608051100.0","@flowfuse/nr-mqtt-nodes":"0.3.1-2015982-202608051410.0","@flowfuse/nr-tables-nodes":"0.2.3-18fbf75-202607091014.0","@flowfuse/nr-project-nodes":"0.7.9-546258d-202608060915.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.33.3-194e221-202608120811.0_1786522306763_0.9920845717693125","host":"s3://npm-registry-packages-npm-production"}},"2.33.3-194e221-202608121559.0":{"name":"@flowfuse/nr-launcher","version":"2.33.3-194e221-202608121559.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.33.3-194e221-202608121559.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"5ea585caceef5f1cfbf59b668db78b932ac4ce9c","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.33.3-194e221-202608121559.0.tgz","fileCount":50,"integrity":"sha512-9JgJ0dneFA0PgZ4gNeYhkJXouV0LiNg7GflJvn5lql8q/ykJ18RzjxR7r3FBF9RfHh5/d7kVCHPZ3L13QfsMDw==","signatures":[{"sig":"MEYCIQCByuRkiq4SCb6F6pvLleUORSPSMJzf4m6k0UHwoX92tQIhAM4W4QEFmyCr1VPJIHa6YDEvKPQAzS6zg81MSiX0Vnwm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":671782},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"194e2218c3dab1ec50293280956d03760c32a072","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.16.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.18.2-b4b3223-202608120810.0","@flowfuse/nr-file-nodes":"0.0.11-e3aa398-202608051100.0","@flowfuse/nr-mqtt-nodes":"0.3.1-2015982-202608051410.0","@flowfuse/nr-tables-nodes":"0.2.3-069e73b-202608121558.0","@flowfuse/nr-project-nodes":"0.7.9-546258d-202608060915.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.33.3-194e221-202608121559.0_1786550381706_0.639902594397606","host":"s3://npm-registry-packages-npm-production"}},"2.33.3-194e221-202608121601.0":{"name":"@flowfuse/nr-launcher","version":"2.33.3-194e221-202608121601.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.33.3-194e221-202608121601.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"7143f52fa91eb5e01c6fef08e94ec457957895d1","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.33.3-194e221-202608121601.0.tgz","fileCount":50,"integrity":"sha512-PRne6HPzivRrezD8XeTGGRQkafQu5PuwtQlXAryN7ZLpLk+6y9jL12xR+4ox1o28X3xX7ZuGRqiaroKKAJIEGA==","signatures":[{"sig":"MEQCIAseqBWJ5gMckwxepkgba3OQtkVjs6JaIb1bpLfTFhVDAiB1c/u5mrxQkl17od9smiyHhu8ml0+y9sdx/mU9P1NuKg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":671782},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"194e2218c3dab1ec50293280956d03760c32a072","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.17.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.18.2-fabea31-202608121600.0","@flowfuse/nr-file-nodes":"0.0.11-e3aa398-202608051100.0","@flowfuse/nr-mqtt-nodes":"0.3.1-2015982-202608051410.0","@flowfuse/nr-tables-nodes":"0.2.3-069e73b-202608121558.0","@flowfuse/nr-project-nodes":"0.7.9-546258d-202608060915.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.33.3-194e221-202608121601.0_1786550466891_0.27422055806747214","host":"s3://npm-registry-packages-npm-production"}},"2.33.3-194e221-202608121634.0":{"name":"@flowfuse/nr-launcher","version":"2.33.3-194e221-202608121634.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.33.3-194e221-202608121634.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"c83859d7e8a1d4c8662f46d770f33dcf6a75b9c9","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.33.3-194e221-202608121634.0.tgz","fileCount":50,"integrity":"sha512-nVvVq29hsVUHO95dpSM+FufHeJ+bD+WKVaQp8tm8aH3ldU2cOtWjFQdieVK1mPVqTw4P6VmfyTRWbdiJpWYKYA==","signatures":[{"sig":"MEUCIQDslhGDPt72ebBKw3EvoGlSmXQJnJIyABMXArDLhaFhmQIgWKn8u7R9wymme+ZQOmruK0KZaeynoWaTKGD4jaYa+Lo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":671782},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"194e2218c3dab1ec50293280956d03760c32a072","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.16.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.18.2-8f1be21-202608121633.0","@flowfuse/nr-file-nodes":"0.0.11-e3aa398-202608051100.0","@flowfuse/nr-mqtt-nodes":"0.3.1-2015982-202608051410.0","@flowfuse/nr-tables-nodes":"0.2.3-6423169-202608121633.0","@flowfuse/nr-project-nodes":"0.7.9-546258d-202608060915.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.33.3-194e221-202608121634.0_1786552484207_0.11663445811925088","host":"s3://npm-registry-packages-npm-production"}},"2.33.3-45f4abe-202608130843.0":{"name":"@flowfuse/nr-launcher","version":"2.33.3-45f4abe-202608130843.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.33.3-45f4abe-202608130843.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"56ab188d01b4cc4637d8d1493fe90157d3a7907c","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.33.3-45f4abe-202608130843.0.tgz","fileCount":50,"integrity":"sha512-1S6Foyb1A++9NbU/Q3u1qJAQapM0SyHKJHvGR+N4Qb9qG2rzj983R6nchYe+IW6jVLPbc0ylHdWw+K8TINTsGg==","signatures":[{"sig":"MEYCIQC8bB6NIeO62RBaBaN+XFJLDEvBBH3zXxBkBc/xGfdivwIhAIwAloQ28xdExn77KLzgyHpkJBgW26XcVbFMVzdz+0X1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":671782},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"45f4abe49f37c37ae5532989af101801c9f65ecd","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.16.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.18.2-8f1be21-202608121633.0","@flowfuse/nr-file-nodes":"0.0.11-e3aa398-202608051100.0","@flowfuse/nr-mqtt-nodes":"0.3.1-2015982-202608051410.0","@flowfuse/nr-tables-nodes":"0.2.3-6423169-202608121633.0","@flowfuse/nr-project-nodes":"0.7.9-546258d-202608060915.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.33.3-45f4abe-202608130843.0_1786610588922_0.4504050561787154","host":"s3://npm-registry-packages-npm-production"}},"2.33.3-45f4abe-202608130859.0":{"name":"@flowfuse/nr-launcher","version":"2.33.3-45f4abe-202608130859.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.33.3-45f4abe-202608130859.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"c8b804890cd49ba8d9b6417dcdd5741c3ef983a0","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.33.3-45f4abe-202608130859.0.tgz","fileCount":50,"integrity":"sha512-V/4o557OX56w3uoiLOXm/EY77BGgJtoTt96vSL7TDBv//mvt6wCrLPpUlleQaiGvS/5J6+V7wwpWdaTHNTP3DQ==","signatures":[{"sig":"MEQCIDxtsWPTbymK4rHfWcNuE7dTaPW5XQKMW82UwgsYELZgAiBwC/GzgvY/u47GNgSXX/iA6Xaax7jcQWqghxFnNsJe3w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":671782},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"45f4abe49f37c37ae5532989af101801c9f65ecd","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.16.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.18.2-8f1be21-202608121633.0","@flowfuse/nr-file-nodes":"0.0.11-e3aa398-202608051100.0","@flowfuse/nr-mqtt-nodes":"0.3.1-2015982-202608051410.0","@flowfuse/nr-tables-nodes":"0.2.3-6423169-202608121633.0","@flowfuse/nr-project-nodes":"0.7.9-bf0f95b-202608130858.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.33.3-45f4abe-202608130859.0_1786611554337_0.8090206823621919","host":"s3://npm-registry-packages-npm-production"}},"2.33.3-45f4abe-202608241430.0":{"name":"@flowfuse/nr-launcher","version":"2.33.3-45f4abe-202608241430.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.33.3-45f4abe-202608241430.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"8250f1da5393ea61cea85a498482070568cf9e9b","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.33.3-45f4abe-202608241430.0.tgz","fileCount":50,"integrity":"sha512-SPoRZorgV5LcPc3zx8s4WFLhijJJ1nXDuoBP3JET137QqK6amhRqA4wP+q5lU1D1GAyjarOe/Hx388OAeuIr/w==","signatures":[{"sig":"MEUCIQDBi9ySlQ9p03SyHmKhF0yNETriQw4IpDjr97YLLFYmiQIgNj0btAgo2w8kpL4ZGOLPVDKHtgOb+lcy0hRQOZzBeR4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":671782},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"45f4abe49f37c37ae5532989af101801c9f65ecd","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.17.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.18.2-8f1be21-202608121633.0","@flowfuse/nr-file-nodes":"0.0.11-e3aa398-202608051100.0","@flowfuse/nr-mqtt-nodes":"0.3.1-04f0b6f-202608241430.0","@flowfuse/nr-tables-nodes":"0.2.3-6423169-202608121633.0","@flowfuse/nr-project-nodes":"0.7.9-bf0f95b-202608130858.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.33.3-45f4abe-202608241430.0_1787581860034_0.4154482791191336","host":"s3://npm-registry-packages-npm-production"}},"2.33.3-45f4abe-202608241435.0":{"name":"@flowfuse/nr-launcher","version":"2.33.3-45f4abe-202608241435.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.33.3-45f4abe-202608241435.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"3de0ae999ba4c74e3727c1efa148672846d5ec0f","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.33.3-45f4abe-202608241435.0.tgz","fileCount":50,"integrity":"sha512-3vn+Ir3VjWk1YrNZiNaRJEuPr2B6z+sSGmJMR6PCyvhIalDn+Qxdmge71n0eQvlBzuQdpOiTbXW9oVuPAyQIHw==","signatures":[{"sig":"MEQCIBvKe0xgB6HxzAyrAkOGkQ1PAL5SW+1iXpbVGQgX6IWWAiAEb7JKtKQq1VAob28wb3HtY9hvjZnp8VJSmPsNxFJ87Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":671782},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"45f4abe49f37c37ae5532989af101801c9f65ecd","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.17.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.18.2-8f1be21-202608121633.0","@flowfuse/nr-file-nodes":"0.0.11-e3aa398-202608051100.0","@flowfuse/nr-mqtt-nodes":"0.3.1-04f0b6f-202608241430.0","@flowfuse/nr-tables-nodes":"0.2.3-c226eb3-202608241434.0","@flowfuse/nr-project-nodes":"0.7.9-bf0f95b-202608130858.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.33.3-45f4abe-202608241435.0_1787582125394_0.4546257003033134","host":"s3://npm-registry-packages-npm-production"}},"2.33.3-45f4abe-202608251329.0":{"name":"@flowfuse/nr-launcher","version":"2.33.3-45f4abe-202608251329.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.33.3-45f4abe-202608251329.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"3724c4c87dd07487e8c65632383f7cf423965483","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.33.3-45f4abe-202608251329.0.tgz","fileCount":50,"integrity":"sha512-bPHEfXN7EVVUKSmXOwMUbjnTdbAM5sfiXHqcQ7JdLoJy3Myjgn97jIjaiIPZaHctTLLOQ0qeboGp21IEdAiFiw==","signatures":[{"sig":"MEUCIQD2/Wh2Z4djQuYgLjCg4NJrvkbld22U6PAM6N4FLOhCwAIgPWfwNEi6mIiRUX7JP6NekDcCoQD/fKKNVJac0vUfpo8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":671782},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"45f4abe49f37c37ae5532989af101801c9f65ecd","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.17.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.18.2-5953bd7-202608251329.0","@flowfuse/nr-file-nodes":"0.0.11-e3aa398-202608051100.0","@flowfuse/nr-mqtt-nodes":"0.3.1-04f0b6f-202608241430.0","@flowfuse/nr-tables-nodes":"0.2.3-c226eb3-202608241434.0","@flowfuse/nr-project-nodes":"0.7.9-bf0f95b-202608130858.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.33.3-45f4abe-202608251329.0_1787664600914_0.6099169303370637","host":"s3://npm-registry-packages-npm-production"}},"2.33.3-45f4abe-202608251533.0":{"name":"@flowfuse/nr-launcher","version":"2.33.3-45f4abe-202608251533.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.33.3-45f4abe-202608251533.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"b14ceac7cc4d7bf3aa028fef4032c48615bde93e","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.33.3-45f4abe-202608251533.0.tgz","fileCount":50,"integrity":"sha512-XynbuLcPRcs3bENznTvRwrGsUqA817HQ9Zop/i2U/lFDPxuwneRcuw+dl1rBm9fzSnPvaFClxvr0myvlUcIT3g==","signatures":[{"sig":"MEQCIAxYGkMaiIqB0Q5qVqJt85j+eE/LganWNz6UmbNTaDmxAiB1hZ6Edq2vSrY8V19iYrcmIteyTKdeQcNYd3KbUxsdwQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":671782},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"45f4abe49f37c37ae5532989af101801c9f65ecd","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.17.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.18.2-1264413-202608251532.0","@flowfuse/nr-file-nodes":"0.0.11-e3aa398-202608051100.0","@flowfuse/nr-mqtt-nodes":"0.3.1-04f0b6f-202608241430.0","@flowfuse/nr-tables-nodes":"0.2.3-c226eb3-202608241434.0","@flowfuse/nr-project-nodes":"0.7.9-bf0f95b-202608130858.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.33.3-45f4abe-202608251533.0_1787671989752_0.5169655831097528","host":"s3://npm-registry-packages-npm-production"}},"2.33.3-45f4abe-202608260743.0":{"name":"@flowfuse/nr-launcher","version":"2.33.3-45f4abe-202608260743.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.33.3-45f4abe-202608260743.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"2d6e0e90b65c00299fe64f5c806278e283e49af3","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.33.3-45f4abe-202608260743.0.tgz","fileCount":50,"integrity":"sha512-BTY9DF50D7Hvmqis3h6iYinZw7p3npdYFRYCjkjD4GGVfTYt2M56WQsBCXZ2n9R+uyjI7pqfMPaqNExneqv+DQ==","signatures":[{"sig":"MEQCIGsCGey63bMzMdkgKJpwTF+uvJHUQaqakvPU5oRiJGStAiA151RtSbKBVS5NzTlaDzw9c2GGcSWJ5mC1apaUYZ4UGA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":671782},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"45f4abe49f37c37ae5532989af101801c9f65ecd","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.17.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.18.2-2019bb9-202608260742.0","@flowfuse/nr-file-nodes":"0.0.11-e3aa398-202608051100.0","@flowfuse/nr-mqtt-nodes":"0.3.1-04f0b6f-202608241430.0","@flowfuse/nr-tables-nodes":"0.2.3-c226eb3-202608241434.0","@flowfuse/nr-project-nodes":"0.7.9-bf0f95b-202608130858.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.33.3-45f4abe-202608260743.0_1787730219626_0.78507472007986","host":"s3://npm-registry-packages-npm-production"}},"2.33.3-45f4abe-202608260937.0":{"name":"@flowfuse/nr-launcher","version":"2.33.3-45f4abe-202608260937.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.33.3-45f4abe-202608260937.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"7333f0e700d5fc3d3a0a57d7a35beaf1e457a0ed","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.33.3-45f4abe-202608260937.0.tgz","fileCount":50,"integrity":"sha512-YjJW47l/x7G/AB72qeNtCLFmCA0ni46EZiugrQYtxyhTWlbMXqunhdXLrErXgF8xiV+26CatgVF28IfQPiJKLg==","signatures":[{"sig":"MEQCICgzDDDHEfOK48ftViWWaggIfNej7WdMG4VuB6BZyFpRAiBDz5bqHKnOW2f/H3qgj4+onHCX/tbCPwRBNCV7DeQ61A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":671782},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"45f4abe49f37c37ae5532989af101801c9f65ecd","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.17.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.19.1-13712ff-202608260936.0","@flowfuse/nr-file-nodes":"0.0.11-e3aa398-202608051100.0","@flowfuse/nr-mqtt-nodes":"0.3.1-04f0b6f-202608241430.0","@flowfuse/nr-tables-nodes":"0.2.3-c226eb3-202608241434.0","@flowfuse/nr-project-nodes":"0.7.9-bf0f95b-202608130858.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.33.3-45f4abe-202608260937.0_1787737029965_0.4121117372440264","host":"s3://npm-registry-packages-npm-production"}},"2.33.3-45f4abe-202608261256.0":{"name":"@flowfuse/nr-launcher","version":"2.33.3-45f4abe-202608261256.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.33.3-45f4abe-202608261256.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"b6be05e9c172e5dc2a8470385e0f8f2d17335d41","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.33.3-45f4abe-202608261256.0.tgz","fileCount":50,"integrity":"sha512-whgSjtBkp7kDScpVZJt+zLZPr8I8Vt87xgn/icEDKTn7VEOnxUEqBwzqfyuHNTPWjaniSTiVX76TA20VJ8Oz1w==","signatures":[{"sig":"MEQCICDY+LwejRXbHd4Z10LF+Vj4tFHA6kN2cOjEIQA8l/p7AiARxO+iOfZPDXeGXA3dVsTKWbmMGzZ1tCIrS33/S8a58g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":671782},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"45f4abe49f37c37ae5532989af101801c9f65ecd","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.17.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.19.1-13712ff-202608260936.0","@flowfuse/nr-file-nodes":"0.0.11-e3aa398-202608051100.0","@flowfuse/nr-mqtt-nodes":"0.3.1-04f0b6f-202608241430.0","@flowfuse/nr-tables-nodes":"0.2.3-f2052f3-202608261255.0","@flowfuse/nr-project-nodes":"0.7.9-bf0f95b-202608130858.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.33.3-45f4abe-202608261256.0_1787748985018_0.800575133382361","host":"s3://npm-registry-packages-npm-production"}},"2.33.3-d16e4de-202608270953.0":{"name":"@flowfuse/nr-launcher","version":"2.33.3-d16e4de-202608270953.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.33.3-d16e4de-202608270953.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"dac068b359796d708ff5650a608732788cd3c94d","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.33.3-d16e4de-202608270953.0.tgz","fileCount":50,"integrity":"sha512-nzxPj7enwTEE1GKdoj+1ERp32Jd9FEI56Y1D167BHeRvh3FNnXOQUs6rkfOJJCHoZi0h6WO6hsljyuOIAYd6qw==","signatures":[{"sig":"MEQCIC4eR+5L/wY0/AUqUz8zYJRz8XN9qJ/zqGbfPc03lNmnAiBL8Dzdo1GV3LWW7n7TWW/64P6c5TffffJf0JuCQBS4sg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":671975},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"d16e4deca9a156679cb90af83b17c17d2f3886c3","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.17.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.19.1-13712ff-202608260936.0","@flowfuse/nr-file-nodes":"0.0.11-e3aa398-202608051100.0","@flowfuse/nr-mqtt-nodes":"0.3.1-04f0b6f-202608241430.0","@flowfuse/nr-tables-nodes":"0.2.3-f2052f3-202608261255.0","@flowfuse/nr-project-nodes":"0.7.9-bf0f95b-202608130858.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.33.3-d16e4de-202608270953.0_1787824438561_0.8815600101450953","host":"s3://npm-registry-packages-npm-production"}},"2.33.3-d16e4de-202608271027.0":{"name":"@flowfuse/nr-launcher","version":"2.33.3-d16e4de-202608271027.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.33.3-d16e4de-202608271027.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"8aeb4fc50249503d764bf8fdf4f7830dfe03d403","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.33.3-d16e4de-202608271027.0.tgz","fileCount":50,"integrity":"sha512-Eh9X9d13CAxRZXvT8705oKTr1seOq8SLC98okm5qrewNzPEqWkGBo/WtweojeBDp+R9zqDzbhE7zQV0A0+INXg==","signatures":[{"sig":"MEUCID6NUCzya+IGih65qq4lfFu0xVYSslHdg3bZnwlj4+yTAiEAzR0En3C14t5W7Js4DfP9MLx2I+cV+zjea4iGZI7toY8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":671975},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"d16e4deca9a156679cb90af83b17c17d2f3886c3","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.17.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.19.1-13712ff-202608260936.0","@flowfuse/nr-file-nodes":"0.0.11-e3aa398-202608051100.0","@flowfuse/nr-mqtt-nodes":"0.3.1-04f0b6f-202608241430.0","@flowfuse/nr-tables-nodes":"0.3.1-6a9b104-202608271027.0","@flowfuse/nr-project-nodes":"0.7.9-bf0f95b-202608130858.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.33.3-d16e4de-202608271027.0_1787826481553_0.07803509203076331","host":"s3://npm-registry-packages-npm-production"}},"2.33.3-d16e4de-202608271028.0":{"name":"@flowfuse/nr-launcher","version":"2.33.3-d16e4de-202608271028.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.33.3-d16e4de-202608271028.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"3bbd9e87da986b233cd0712da703a561b9957276","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.33.3-d16e4de-202608271028.0.tgz","fileCount":50,"integrity":"sha512-Te9Caibg6fQoOvKeVNafbPCScGa61/iDT1Zd6cZLQnCg0AJ8FmlayuMebiMUKM3nl1Mtzj5c5GPU6UZXjV8PPA==","signatures":[{"sig":"MEQCICq31zfP8tBQsDM+3/J5HLl3qXOUFZHGjI6JOVlX7pV8AiBvfDreapvLqFTiwwLA94gd9wWkIx6ZkGwWPJ15nYLbrA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":671975},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"d16e4deca9a156679cb90af83b17c17d2f3886c3","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.17.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.19.1-13712ff-202608260936.0","@flowfuse/nr-file-nodes":"0.0.11-e3aa398-202608051100.0","@flowfuse/nr-mqtt-nodes":"0.4.1-9a82d26-202608271028.0","@flowfuse/nr-tables-nodes":"0.3.1-6a9b104-202608271027.0","@flowfuse/nr-project-nodes":"0.7.9-bf0f95b-202608130858.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.33.3-d16e4de-202608271028.0_1787826541563_0.3716566073582914","host":"s3://npm-registry-packages-npm-production"}},"2.33.3-7ed6e4f-202608271035.0":{"name":"@flowfuse/nr-launcher","version":"2.33.3-7ed6e4f-202608271035.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.33.3-7ed6e4f-202608271035.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"f060bbf36616b7be23c05f8d63ed85dc5d71a0f3","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.33.3-7ed6e4f-202608271035.0.tgz","fileCount":50,"integrity":"sha512-FlVwlU0rTeoOi2DPJ7QJ02WPc7DYnAm0q5bXbQWv33A0XLnam2UgUtTfdKvOO/XMoh2P5oyTL0hoAKj96GLeWg==","signatures":[{"sig":"MEQCICl4f1aAux3KdriFuyHfHPdR7W6PjlrXF0ldtO7ISbrkAiARCY6k1a5nUqK+BomJlZuGsvCH10ml6mXl+X80Z0vrRA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":671975},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"7ed6e4f72e8c99e8cfe97261a3600a3b4c1e6345","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.17.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.19.1-13712ff-202608260936.0","@flowfuse/nr-file-nodes":"0.0.11-e3aa398-202608051100.0","@flowfuse/nr-mqtt-nodes":"0.4.1-9a82d26-202608271028.0","@flowfuse/nr-tables-nodes":"0.3.1-6a9b104-202608271027.0","@flowfuse/nr-project-nodes":"0.7.9-bf0f95b-202608130858.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.33.3-7ed6e4f-202608271035.0_1787826918174_0.8692226610620786","host":"s3://npm-registry-packages-npm-production"}},"2.33.3-82f2844-202608271036.0":{"name":"@flowfuse/nr-launcher","version":"2.33.3-82f2844-202608271036.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.33.3-82f2844-202608271036.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"388d2d6b132f5ac97c5c282d4d7df361ed15e14e","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.33.3-82f2844-202608271036.0.tgz","fileCount":50,"integrity":"sha512-2hmSbwYypeq5LHTU+r3TRDxKRAnLH1RF7UYezjINockIMp0tHrAXFM0H2AlUOm1c0DjuKZcZY+/n0cxUbhSgDw==","signatures":[{"sig":"MEUCIQDA3M+2bIGRVABrTrRDPaSmNsXyNZWdqwAjH9gIOx69iwIgAO8CGIr/+RLPg+Myf99EJPDjgog0ssevqo5kCyqP4AA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":671975},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"82f28441c447b840a5a4e01dc6261bf712323d6b","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.17.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.19.1-13712ff-202608260936.0","@flowfuse/nr-file-nodes":"0.0.11-e3aa398-202608051100.0","@flowfuse/nr-mqtt-nodes":"0.4.1-9a82d26-202608271028.0","@flowfuse/nr-tables-nodes":"0.3.1-6a9b104-202608271027.0","@flowfuse/nr-project-nodes":"0.7.9-bf0f95b-202608130858.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.33.3-82f2844-202608271036.0_1787826972041_0.9198736141528685","host":"s3://npm-registry-packages-npm-production"}},"2.33.3-c618d0e-202608271041.0":{"name":"@flowfuse/nr-launcher","version":"2.33.3-c618d0e-202608271041.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.33.3-c618d0e-202608271041.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"145b50d164a42c0e23ca8cd1ac9a54006b3daa45","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.33.3-c618d0e-202608271041.0.tgz","fileCount":50,"integrity":"sha512-wESQztpfmb9q6uDKEVm5J2LPuSidVypZHAdirwlAzUYVi03VbhtTBbUlhOAVQhwBm5TjG3C64mpV98AWePQ6tA==","signatures":[{"sig":"MEQCIHGNf+c65H2SRRUZCSkmca4oHHh6MYYDfvzH5StV1LNJAiA3M3Ww+gUh36H8tGlLthSIvnf5g/Q6aI3Hgg4mwnlXGw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":671975},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"c618d0e138ea20f9cabc229f25bab8dbc3e51cad","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.17.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.19.1-13712ff-202608260936.0","@flowfuse/nr-file-nodes":"0.0.11-e3aa398-202608051100.0","@flowfuse/nr-mqtt-nodes":"0.4.1-9a82d26-202608271028.0","@flowfuse/nr-tables-nodes":"0.3.1-6a9b104-202608271027.0","@flowfuse/nr-project-nodes":"0.7.9-bf0f95b-202608130858.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.33.3-c618d0e-202608271041.0_1787827286322_0.12919875552756932","host":"s3://npm-registry-packages-npm-production"}},"2.33.3-c618d0e-202608271310.0":{"name":"@flowfuse/nr-launcher","version":"2.33.3-c618d0e-202608271310.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.33.3-c618d0e-202608271310.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"e9ae58e81142abc4152038f603a323585e300dcd","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.33.3-c618d0e-202608271310.0.tgz","fileCount":50,"integrity":"sha512-MwPeysCzzfAu8mZCwMIXecjig2KXA53iOC2Nwe7naW2wB0KblwYOw2qPuT+BzH2EoCfOOaxqp7NajqfMmQcP+w==","signatures":[{"sig":"MEUCIQC8l9DZhHkibgDHMX4r7vBN8zT0oGOpOP8PixSIT6ZfEQIgK+JyHAMeIWxPszgFDrnWn4CcNDHBgvA7mh9Gppus9Bg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":671976},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"c618d0e138ea20f9cabc229f25bab8dbc3e51cad","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.17.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.19.1-13712ff-202608260936.0","@flowfuse/nr-file-nodes":"0.0.11-e3aa398-202608051100.0","@flowfuse/nr-mqtt-nodes":"0.4.1-9a82d26-202608271028.0","@flowfuse/nr-tables-nodes":"0.3.1-6a9b104-202608271027.0","@flowfuse/nr-project-nodes":"0.7.10-5ef4d46-202608271309.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.33.3-c618d0e-202608271310.0_1787836240054_0.4584713620052916","host":"s3://npm-registry-packages-npm-production"}},"2.33.3-3f32e44-202608271311.0":{"name":"@flowfuse/nr-launcher","version":"2.33.3-3f32e44-202608271311.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@2.33.3-3f32e44-202608271311.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"56dfe5e64e6f3cb262c02c01574c407a5dce213f","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-2.33.3-3f32e44-202608271311.0.tgz","fileCount":50,"integrity":"sha512-OM65nTjLlQODZzzfm2S62JT8kyvX9hp8j+wgF8kABWveV70oUKddkyJRabgNoHGgLKrobyhDUeEv9EYjzIwhlA==","signatures":[{"sig":"MEYCIQDXP2bR+1geI4u1Z458LqhZODl2TRYRe9QOc8md6tK7+wIhAIa/0QQ9NrK6yWy/lfva8PbEU1K632qLIFNlDeIUZnZ+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":671976},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"3f32e44c547031180c174cf4f32856d6af1940fb","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.17.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.19.1-13712ff-202608260936.0","@flowfuse/nr-file-nodes":"0.0.11-e3aa398-202608051100.0","@flowfuse/nr-mqtt-nodes":"0.4.1-9a82d26-202608271028.0","@flowfuse/nr-tables-nodes":"0.3.1-6a9b104-202608271027.0","@flowfuse/nr-project-nodes":"0.7.10-5ef4d46-202608271309.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_2.33.3-3f32e44-202608271311.0_1787836330092_0.7076242095840337","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"@flowfuse/nr-launcher","version":"3.0.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@3.0.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"be7d54a32b47c9a1a2fc3f35d87359082ba12ffe","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-3.0.0.tgz","fileCount":50,"integrity":"sha512-X9P6rPaY+WZOuTk745prFT2ZwnZXD3EzqE2UC5g9D/wZnU1IyC1l2OX+t6inMh8XgmSAWsWlFV9vPt1lJd9d9g==","signatures":[{"sig":"MEQCIH4n1+VDQGqb+KfkwWsgFG3p1z73WTnmEIvv2RTxyUfrAiBlZzdShQSTOpVgt7p/gJNYDpPB9V00HFHw10SdtvqsGA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":671865},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"e35ace81e093616a9d3cfd399660c7606d8e3f17","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.17.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"^0.19.0","@flowfuse/nr-file-nodes":"^0.0.10","@flowfuse/nr-mqtt-nodes":"^0.4.0","@flowfuse/nr-tables-nodes":"^0.3.0","@flowfuse/nr-project-nodes":"^0.7.9","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_3.0.0_1787836515766_0.6188108223197435","host":"s3://npm-registry-packages-npm-production"}},"3.0.1-e35ace8-202608271315.0":{"name":"@flowfuse/nr-launcher","version":"3.0.1-e35ace8-202608271315.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@3.0.1-e35ace8-202608271315.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"da7e90cc625d74d2ad5db8774e8b5cb324371a0f","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-3.0.1-e35ace8-202608271315.0.tgz","fileCount":50,"integrity":"sha512-bH0v54ave1E+o41EMApLKfMWLaD8/XclsaSVHkduCwHYTBPhfnVno/IDkteERftGR8fjZVBKPoU7qC8AALFzPw==","signatures":[{"sig":"MEQCIHg5h4SwAgwirYO1PWReUdBQmnEe7yFVEG6HSqldb+W8AiA3aMvoJIfiBX3R+RnUMVPgIKQy3yrD5BpWuUZxFxGUIA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":671997},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"e35ace81e093616a9d3cfd399660c7606d8e3f17","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.17.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.19.1-13712ff-202608260936.0","@flowfuse/nr-file-nodes":"0.0.11-e3aa398-202608051100.0","@flowfuse/nr-mqtt-nodes":"0.4.1-9a82d26-202608271028.0","@flowfuse/nr-tables-nodes":"0.3.1-6a9b104-202608271027.0","@flowfuse/nr-project-nodes":"0.7.10-5ef4d46-202608271309.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_3.0.1-e35ace8-202608271315.0_1787836518019_0.5974367197182577","host":"s3://npm-registry-packages-npm-production"}},"3.0.1":{"name":"@flowfuse/nr-launcher","version":"3.0.1","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@3.0.1","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"7ac4b9831946422468ffbc1ba00f8c18af7bd6ff","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-3.0.1.tgz","fileCount":50,"integrity":"sha512-mP7z1OHoC5fhv2HbsSLsoP3UHeKGCDlbm0pOvpSmKw/d2KoGJPN6/TzC4MRqlNXv92iHcPI16w3Qgc31zSx9og==","signatures":[{"sig":"MEUCIQDeA6j7Lc7+6n7wX9Pu8XRn1t7Bx5QszivgGSW0OnMjogIgKxbY98h6ohFs+Xy0fJpIiFrejWNbV5iOGXKtBV3UYHI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":671887},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"20f1499409fca26e8fef6be096cedc5cd676807b","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.17.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"^0.19.0","@flowfuse/nr-file-nodes":"^0.0.10","@flowfuse/nr-mqtt-nodes":"^0.4.0","@flowfuse/nr-tables-nodes":"^0.3.0","@flowfuse/nr-project-nodes":"^0.7.9","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_3.0.1_1788344216088_0.6622868776352897","host":"s3://npm-registry-packages-npm-production"}},"3.0.2-20f1499-202609070548.0":{"name":"@flowfuse/nr-launcher","version":"3.0.2-20f1499-202609070548.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@3.0.2-20f1499-202609070548.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"3802fde968215dd97cd915acfaafaae7e399db8b","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-3.0.2-20f1499-202609070548.0.tgz","fileCount":50,"integrity":"sha512-CUioRsaj8SYYXDOSueiPQQCCPBKft3bk56yc9n+LS2x9TE8lY6JM3+mN9qfCyLJoMkuy0brCjg3Bfjo34sTX/A==","signatures":[{"sig":"MEQCICODDBgI4akmbJoZArmgoxCJGJEWPGgGsJcZYcG0RZw/AiBZAp5GAFEw1/B7R1/WghxUYci0IIRkay2YJscuzIoL3Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":672019},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"20f1499409fca26e8fef6be096cedc5cd676807b","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.19.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.19.1-ed0ef6c-202609070547.0","@flowfuse/nr-file-nodes":"0.0.11-e3aa398-202608051100.0","@flowfuse/nr-mqtt-nodes":"0.4.1-9a82d26-202608271028.0","@flowfuse/nr-tables-nodes":"0.3.1-6a9b104-202608271027.0","@flowfuse/nr-project-nodes":"0.7.10-5ef4d46-202608271309.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_3.0.2-20f1499-202609070548.0_1788760137287_0.34660872120404007","host":"s3://npm-registry-packages-npm-production"}},"3.0.2":{"name":"@flowfuse/nr-launcher","version":"3.0.2","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@3.0.2","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"024250bc1d0997cb5dbcbf7bd81cf71e887effc9","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-3.0.2.tgz","fileCount":50,"integrity":"sha512-7z4LMgGSI5EQ5MWavsrn1JwpCjK4tjqOt7K/xz/BWq1kaksLjr3HHgDbCV4PqHnVf7GDETToo3EBmpFXkvgWNA==","signatures":[{"sig":"MEUCIC650TvkMlH7YD9e7k7TcRP/WWOccFfyKmCruwlvMuXQAiEAvJtghbmB2bX41NdQ0pBQcXbgmanB797q79B5VZNGXX8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":671909},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"73ecfa9bc6552fe7e5d6dfbab7e0f5a135a1e4aa","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.19.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"^0.19.0","@flowfuse/nr-file-nodes":"^0.0.10","@flowfuse/nr-mqtt-nodes":"^0.4.0","@flowfuse/nr-tables-nodes":"^0.3.0","@flowfuse/nr-project-nodes":"^0.7.9","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_3.0.2_1788943862394_0.3686110287228761","host":"s3://npm-registry-packages-npm-production"}},"3.0.3-73ecfa9-202609090851.0":{"name":"@flowfuse/nr-launcher","version":"3.0.3-73ecfa9-202609090851.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@3.0.3-73ecfa9-202609090851.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"fae12630e9d90eeef7ed48bbbb680c8f997eb4e7","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-3.0.3-73ecfa9-202609090851.0.tgz","fileCount":50,"integrity":"sha512-zyBw0oEEf7fRvGs6x+6n9vUd5lvlkGi8AmGQfYAk2V/gu0kkBmO6eeiAAB7om27/2zUgAGIantRnbM2FvNijkw==","signatures":[{"sig":"MEQCIEM8sMNdldV2B22yb/lB1Cm3BFA5PpkVFGpfCiIkW3QDAiB+XHY3j7YsGzGTezjRi0uFLLy+nsS7mg3auJzy7qk5mQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":672041},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"73ecfa9bc6552fe7e5d6dfbab7e0f5a135a1e4aa","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.19.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.19.1-ed0ef6c-202609070547.0","@flowfuse/nr-file-nodes":"0.0.11-e3aa398-202608051100.0","@flowfuse/nr-mqtt-nodes":"0.4.1-9a82d26-202608271028.0","@flowfuse/nr-tables-nodes":"0.3.1-6a9b104-202608271027.0","@flowfuse/nr-project-nodes":"0.7.10-5ef4d46-202608271309.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_3.0.3-73ecfa9-202609090851.0_1788943873526_0.6170350606967641","host":"s3://npm-registry-packages-npm-production"}},"3.0.3-83e48a2-202609110915.0":{"name":"@flowfuse/nr-launcher","version":"3.0.3-83e48a2-202609110915.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@3.0.3-83e48a2-202609110915.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"fbd65d24983c1e4ca38d74e1015324419b76e8ee","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-3.0.3-83e48a2-202609110915.0.tgz","fileCount":50,"integrity":"sha512-5+EfdQpZ1BpkcOqWKij2XtjiI2q5TKVDtZPIRKHcz1TLK2m4UumxqkUHBOAf2G6ifMLJb9u1jPiyAWCTw9ec8Q==","signatures":[{"sig":"MEUCIAHCNiYiRLNYDRc8dmtE6XpKNLKMJOQ+noC+QjS2Lh/VAiEA0pcQwzA22l4zbb6TerXyMXErT/DjNeliY8mhWufOqn0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":672041},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"83e48a22d4c6946a9b428f379529376999d77edd","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.19.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.19.1-ed0ef6c-202609070547.0","@flowfuse/nr-file-nodes":"0.0.11-b7cfd74-202609110913.0","@flowfuse/nr-mqtt-nodes":"0.4.1-9a82d26-202608271028.0","@flowfuse/nr-tables-nodes":"0.3.1-6a9b104-202608271027.0","@flowfuse/nr-project-nodes":"0.7.10-5ef4d46-202608271309.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_3.0.3-83e48a2-202609110915.0_1789118115486_0.8906699668966753","host":"s3://npm-registry-packages-npm-production"}},"3.0.3-fc2fc40-202609110916.0":{"name":"@flowfuse/nr-launcher","version":"3.0.3-fc2fc40-202609110916.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@3.0.3-fc2fc40-202609110916.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"5014bf3c09e9f5aac6368a94336b903d3a9bd017","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-3.0.3-fc2fc40-202609110916.0.tgz","fileCount":50,"integrity":"sha512-5A17FPrx5sQpqdgK+kGEMiE8k9yqB6VsXFXCOZPieWWZyy3oATX/l+MvVmszIaP46J80T9UE3LF9uD6HFnPwoQ==","signatures":[{"sig":"MEQCIHqeiA7ltrhvVcm1tDJPQ6Tu8vWCJyTSZzh3qQwkc/0lAiBRCp58ELEA3tFBbSAT9O849GwwYl7LLF9BPnFeUdFd9Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":672041},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"fc2fc400a8602c7f7659f79457a633d8fa29236c","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.19.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.19.1-ed0ef6c-202609070547.0","@flowfuse/nr-file-nodes":"0.0.11-4e7d8b2-202609110916.0","@flowfuse/nr-mqtt-nodes":"0.4.1-9a82d26-202608271028.0","@flowfuse/nr-tables-nodes":"0.3.1-6a9b104-202608271027.0","@flowfuse/nr-project-nodes":"0.7.10-5ef4d46-202608271309.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_3.0.3-fc2fc40-202609110916.0_1789118217548_0.5378496938114388","host":"s3://npm-registry-packages-npm-production"}},"3.0.3-cd36f96-202609110918.0":{"name":"@flowfuse/nr-launcher","version":"3.0.3-cd36f96-202609110918.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@3.0.3-cd36f96-202609110918.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"5919d7ca556ad59d8691c7421c8e74d1db685e72","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-3.0.3-cd36f96-202609110918.0.tgz","fileCount":50,"integrity":"sha512-K8FF4nzfS6+YDJszjdG3wE+s8HdPlNkch07+Kt37Ue7JNCa/H+LjKc0qTAuNF1Ztm3AUadkAWp2+/Q8WBImU/A==","signatures":[{"sig":"MEQCIG7bzTxY1cl3m9gGJzGmEI91Fk6FlwB2rT51kb6hUdKyAiAF70vefpgCcVh6BE1NgqRG2uluGZJ+Y+7jN9+tgnX6Ew==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":672041},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"cd36f968f9660b996c3a454ba19500dc0ee1838d","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.19.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.19.1-ed0ef6c-202609070547.0","@flowfuse/nr-file-nodes":"0.0.11-4e7d8b2-202609110916.0","@flowfuse/nr-mqtt-nodes":"0.4.1-9a82d26-202608271028.0","@flowfuse/nr-tables-nodes":"0.3.1-6a9b104-202608271027.0","@flowfuse/nr-project-nodes":"0.7.10-5ef4d46-202608271309.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_3.0.3-cd36f96-202609110918.0_1789118334334_0.1854221128309883","host":"s3://npm-registry-packages-npm-production"}},"3.0.3-3130d00-202609110920.0":{"name":"@flowfuse/nr-launcher","version":"3.0.3-3130d00-202609110920.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@3.0.3-3130d00-202609110920.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"cb236e4cb0a4e9cdcd939aa5bf7b47e932a8c19e","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-3.0.3-3130d00-202609110920.0.tgz","fileCount":50,"integrity":"sha512-dLMcH8+cMZYurEtVVd317AjhjNc3ecpvOqoov6ejfRSPPkPzpIHqnyx1xsuZGGBsjhhNyG9SzrmAGrLovkLjzg==","signatures":[{"sig":"MEQCIHd1BRpgSYmcAC/emZeqzPVAormdV9+Lb+jDXfe6pJ7kAiAbSr2gF7Bjo1boAxdLy8CeyrTXYJcJXRwovJshXyPfTA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":672041},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"3130d00f95e46941237e312054d5f095d27c52ed","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.19.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.19.1-ed0ef6c-202609070547.0","@flowfuse/nr-file-nodes":"0.0.11-4e7d8b2-202609110916.0","@flowfuse/nr-mqtt-nodes":"0.4.1-9a82d26-202608271028.0","@flowfuse/nr-tables-nodes":"0.3.1-6a9b104-202608271027.0","@flowfuse/nr-project-nodes":"0.7.10-5ef4d46-202608271309.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_3.0.3-3130d00-202609110920.0_1789118439168_0.9642911764259281","host":"s3://npm-registry-packages-npm-production"}},"3.0.3-936207b-202609110949.0":{"name":"@flowfuse/nr-launcher","version":"3.0.3-936207b-202609110949.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@3.0.3-936207b-202609110949.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"c3c5556ef5818898547831a0fe061f12ae159f6c","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-3.0.3-936207b-202609110949.0.tgz","fileCount":50,"integrity":"sha512-pVqiPm+KXsihoJ32yZ5nhQTPQTPseWR/Rq54234BxY9QiXgm0ggAIH/6mN6O8Jjz8C4ut3877YGhvhK4QjaVtA==","signatures":[{"sig":"MEUCIQDFq5PDZ4AJ18aOoVxiTp5VUIwZyei4xgfmy0cBB3UtOAIgBrN5opHLM1VcsC8a/4RPS7EpOdxr3tGm6PzjjqXBc04=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":672041},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"936207b66713f6d764d01f569c2e352018548aee","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.19.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.19.1-ed0ef6c-202609070547.0","@flowfuse/nr-file-nodes":"0.0.11-4e7d8b2-202609110916.0","@flowfuse/nr-mqtt-nodes":"0.4.1-9a82d26-202608271028.0","@flowfuse/nr-tables-nodes":"0.3.1-6a9b104-202608271027.0","@flowfuse/nr-project-nodes":"0.7.10-5ef4d46-202608271309.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_3.0.3-936207b-202609110949.0_1789120161148_0.6366146967559765","host":"s3://npm-registry-packages-npm-production"}},"3.0.3-86c2ce2-202609110958.0":{"name":"@flowfuse/nr-launcher","version":"3.0.3-86c2ce2-202609110958.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@3.0.3-86c2ce2-202609110958.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"1a060ea176059b9ce803cf2e48fb07f2dfb5a44c","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-3.0.3-86c2ce2-202609110958.0.tgz","fileCount":50,"integrity":"sha512-++0vYjb4bmbawO5AFq3Gt1b4FwVVZKP+EUsV8qWBzLjiZZLTPrwTTGPZrVBZuwXo6AjL4wRg+c+EgtM6MbhHYw==","signatures":[{"sig":"MEUCIQCfeZ0Sbu3gqa6oSJkT9TD2swFc8WZwTIL1hvLTpSNrfgIgGbcJOjO0iqRTwS3XLE4Ng2jv+o1QENDKDEWD6ByKplY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":672041},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"86c2ce28ee8c544b4270dff4054421f25ffbc45c","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.19.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.19.1-ed0ef6c-202609070547.0","@flowfuse/nr-file-nodes":"0.0.11-4e7d8b2-202609110916.0","@flowfuse/nr-mqtt-nodes":"0.4.1-9a82d26-202608271028.0","@flowfuse/nr-tables-nodes":"0.3.1-6a9b104-202608271027.0","@flowfuse/nr-project-nodes":"0.7.10-5ef4d46-202608271309.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_3.0.3-86c2ce2-202609110958.0_1789120747720_0.20378294381012463","host":"s3://npm-registry-packages-npm-production"}},"3.0.3-86c2ce2-202609111444.0":{"name":"@flowfuse/nr-launcher","version":"3.0.3-86c2ce2-202609111444.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@3.0.3-86c2ce2-202609111444.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"8b6e7f0efc8b734dde32508b4c9e1178985dc3c4","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-3.0.3-86c2ce2-202609111444.0.tgz","fileCount":50,"integrity":"sha512-FSYSA56hy5xLPWw0KMpam25kYhkgbkF3KtQDtl/PoJBDlc+kGwGnd8Q3D6lnB2RV+syd3tv5MEs53LAYY7+BQg==","signatures":[{"sig":"MEQCIDnUuJIahSxwZOaBMXwo+693MuvIsX8NBLH/ReBH1kIGAiB6aWVWiFm0uLLKYS+Ox/RHhqOaai0347Tm2wvZ5lZi5w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":672041},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"86c2ce28ee8c544b4270dff4054421f25ffbc45c","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.19.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.19.1-ed0ef6c-202609070547.0","@flowfuse/nr-file-nodes":"0.0.11-a0ae1f0-202609111053.0","@flowfuse/nr-mqtt-nodes":"0.4.1-1c12bc2-202609111444.0","@flowfuse/nr-tables-nodes":"0.3.1-6a9b104-202608271027.0","@flowfuse/nr-project-nodes":"0.7.10-5ef4d46-202608271309.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_3.0.3-86c2ce2-202609111444.0_1789137900357_0.25128818295264477","host":"s3://npm-registry-packages-npm-production"}},"3.0.3-86c2ce2-202609111446.0":{"name":"@flowfuse/nr-launcher","version":"3.0.3-86c2ce2-202609111446.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@3.0.3-86c2ce2-202609111446.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"af8659674a3ec423be17eef182e3a37e76b7be76","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-3.0.3-86c2ce2-202609111446.0.tgz","fileCount":50,"integrity":"sha512-74ZQHCBAxfJvK9C1yqX9cyDpCnfU7N+C6uO6jRscdiYI5JY1gGAOTnVFkfUIvdWKB7wCd2bCIvo9sfUnVv5Y8w==","signatures":[{"sig":"MEYCIQCZ76Si6krJ8hF0iZcqUnu9la2wt+xJ+SnWUAs2Nn/MzwIhAMNrbAypBSr5tq99OEt3dPN19deDiZjTW2DMoQ4/t1g4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":672041},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"86c2ce28ee8c544b4270dff4054421f25ffbc45c","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.19.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.19.1-ed0ef6c-202609070547.0","@flowfuse/nr-file-nodes":"0.0.11-a0ae1f0-202609111053.0","@flowfuse/nr-mqtt-nodes":"0.4.1-1c12bc2-202609111444.0","@flowfuse/nr-tables-nodes":"0.3.1-6a9b104-202608271027.0","@flowfuse/nr-project-nodes":"0.7.10-5ef4d46-202608271309.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_3.0.3-86c2ce2-202609111446.0_1789138016215_0.8600415607482765","host":"s3://npm-registry-packages-npm-production"}},"3.0.3-86c2ce2-202609111450.0":{"name":"@flowfuse/nr-launcher","version":"3.0.3-86c2ce2-202609111450.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@3.0.3-86c2ce2-202609111450.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"6c9b2b8716d9394b597a1739eaf30a6a0d2db4de","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-3.0.3-86c2ce2-202609111450.0.tgz","fileCount":50,"integrity":"sha512-bHu+vZ4dtxfVO7I5C/SuMn/U40aAgFYAC8OZqNJfTlQz/AgskxnoeZZIqUFE39Sng41ShMxwxpjxF1RlrXiAIw==","signatures":[{"sig":"MEUCIFMfpi1EeHoL7BFipbo+TWPRCfYCYtFnnATcRdFJAtZJAiEAy+lWbJ7cGZ90bXZGUY/1QS3XIvUThG7vQcYhcRmdy1U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":672041},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"86c2ce28ee8c544b4270dff4054421f25ffbc45c","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.19.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.19.1-ed0ef6c-202609070547.0","@flowfuse/nr-file-nodes":"0.0.11-a0ae1f0-202609111053.0","@flowfuse/nr-mqtt-nodes":"0.4.1-3181816-202609111447.0","@flowfuse/nr-tables-nodes":"0.3.1-6a9b104-202608271027.0","@flowfuse/nr-project-nodes":"0.7.10-5ef4d46-202608271309.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_3.0.3-86c2ce2-202609111450.0_1789138210027_0.36466288538667246","host":"s3://npm-registry-packages-npm-production"}},"3.0.3-86c2ce2-202609140658.0":{"name":"@flowfuse/nr-launcher","version":"3.0.3-86c2ce2-202609140658.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@3.0.3-86c2ce2-202609140658.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"987f0b1783138cbcc65ac5f104f9bedbcb527221","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-3.0.3-86c2ce2-202609140658.0.tgz","fileCount":50,"integrity":"sha512-M+cfQyVXruDIMaRsFF/KROGUtHl1FPIDiBObLcivakkn+uTBAohZ0SOx2zuXFDyTrNh/RB/BQaljI8VA+VPOqA==","signatures":[{"sig":"MEYCIQDL7jLbi75ttOnCYF2edB7FfgsW8av6Hwon9HFLz837SwIhAJf3bUWCQAx6liCXZ+z7z2g7Kh331jEEcMGwGikIG1Gr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":672041},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"86c2ce28ee8c544b4270dff4054421f25ffbc45c","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.19.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.19.1-6ed1b3f-202609140657.0","@flowfuse/nr-file-nodes":"0.0.11-a0ae1f0-202609111053.0","@flowfuse/nr-mqtt-nodes":"0.4.1-3181816-202609111447.0","@flowfuse/nr-tables-nodes":"0.3.1-6a9b104-202608271027.0","@flowfuse/nr-project-nodes":"0.7.10-5ef4d46-202608271309.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_3.0.3-86c2ce2-202609140658.0_1789369131375_0.8602754661720515","host":"s3://npm-registry-packages-npm-production"}},"3.0.3-86c2ce2-202609140703.0":{"name":"@flowfuse/nr-launcher","version":"3.0.3-86c2ce2-202609140703.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@3.0.3-86c2ce2-202609140703.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"60515e6396de615c51105fbbd2d769a97c470a02","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-3.0.3-86c2ce2-202609140703.0.tgz","fileCount":50,"integrity":"sha512-hdYkVKKUUUciraYGBhTClBwsq2YuMQTeHIFIcRGGn7303FttyxH+Qo0qMevSU6MMLW9Qc7KliOArMrcm4qL+bw==","signatures":[{"sig":"MEUCIFHVcb+9acYfrlihNPwjAo+rxOTgBnwGpqOcOAs2G9Z9AiEAwwb/FqAqMvYKGbEc5mmWPwUhYarQVL46nR8iwpXPNLg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":672041},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"86c2ce28ee8c544b4270dff4054421f25ffbc45c","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.19.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.19.1-5337b66-202609140701.0","@flowfuse/nr-file-nodes":"0.0.11-a0ae1f0-202609111053.0","@flowfuse/nr-mqtt-nodes":"0.4.1-3181816-202609111447.0","@flowfuse/nr-tables-nodes":"0.3.1-6a9b104-202608271027.0","@flowfuse/nr-project-nodes":"0.7.10-5ef4d46-202608271309.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^10.2.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_3.0.3-86c2ce2-202609140703.0_1789369417242_0.19180818399386568","host":"s3://npm-registry-packages-npm-production"}},"3.0.3-50da849-202609141037.0":{"name":"@flowfuse/nr-launcher","version":"3.0.3-50da849-202609141037.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@3.0.3-50da849-202609141037.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"ef08fb72a3908eb92a60a658b29dd151214d1638","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-3.0.3-50da849-202609141037.0.tgz","fileCount":50,"integrity":"sha512-KhIcP3ogmlHJgHB5A4Nb0tAduMeQgaSAG1Owp/OYfMyA2PbEoytM5mNSvEavr3uI3IkOhPJ08s9Nc1x+VDYcyQ==","signatures":[{"sig":"MEUCIEQHCN2JwTYHMM2C+fCJBfuO3BS+xeqH/FYRAeaaIqV5AiEA150DnXZI5Yvptr+a/tQ12whWd5/6H+nc7UafrLcrpso=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":672030},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"50da849d59f0297c564864aba9f8584b4aab4f4b","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.19.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.19.1-5337b66-202609140701.0","@flowfuse/nr-file-nodes":"0.0.11-a0ae1f0-202609111053.0","@flowfuse/nr-mqtt-nodes":"0.4.1-3181816-202609111447.0","@flowfuse/nr-tables-nodes":"0.3.1-6a9b104-202608271027.0","@flowfuse/nr-project-nodes":"0.7.10-5ef4d46-202608271309.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^12.0.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_3.0.3-50da849-202609141037.0_1789382257601_0.01869076872651121","host":"s3://npm-registry-packages-npm-production"}},"3.0.3-3b301ba-202609141307.0":{"name":"@flowfuse/nr-launcher","version":"3.0.3-3b301ba-202609141307.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@3.0.3-3b301ba-202609141307.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"012704980f7f861a26f85ce7ca22e89160748b13","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-3.0.3-3b301ba-202609141307.0.tgz","fileCount":50,"integrity":"sha512-luyHp+DNGC5McOo9RMDl1foEsyJv1GecyiqEGox4vwRT5r6i2a5FXqUA2TqBshMz7wDvZU+o68crFRGA4K25kQ==","signatures":[{"sig":"MEUCIQCUk8+p1Q7x/ytSgu5IEAHQs4uAOMsSbafYzYo3EJyClQIgGYteGnQRvlUgm1LC8tYv7DXprsUryTB2FuWFe9fw5yA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":672030},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"3b301baa5908a65afbde1c6997eb0f0f3b761f62","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.19.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.19.1-5337b66-202609140701.0","@flowfuse/nr-file-nodes":"0.0.11-a0ae1f0-202609111053.0","@flowfuse/nr-mqtt-nodes":"0.4.1-3181816-202609111447.0","@flowfuse/nr-tables-nodes":"0.3.1-6a9b104-202608271027.0","@flowfuse/nr-project-nodes":"0.7.10-5ef4d46-202608271309.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^12.0.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_3.0.3-3b301ba-202609141307.0_1789391229867_0.6286265841026224","host":"s3://npm-registry-packages-npm-production"}},"3.0.3-d4fbd76-202609141321.0":{"name":"@flowfuse/nr-launcher","version":"3.0.3-d4fbd76-202609141321.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@3.0.3-d4fbd76-202609141321.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"806332f26a9cbf1a2a66bba3a711c7b69a9b37ea","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-3.0.3-d4fbd76-202609141321.0.tgz","fileCount":50,"integrity":"sha512-rdi16hQG7YTRW+XIYK2Xqp9sJdcwngzcovaQmjhPyKVt7Zhpqw1O4JvhTaiJ1cKQXpaJF27ngxwzSdlCN1UMtQ==","signatures":[{"sig":"MEUCIAFccVr1LQCAJ55zVIkuoW00/XfScSVpP+sn52tyvg+gAiEAnnmSF51V8/35UZplLTqKQV2ewfYrV96E/sbDz+mK6k0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":672030},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"d4fbd76fdb3515b038f9e03ebcd296c357040421","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.19.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.19.1-5337b66-202609140701.0","@flowfuse/nr-file-nodes":"0.0.11-a0ae1f0-202609111053.0","@flowfuse/nr-mqtt-nodes":"0.4.1-3181816-202609111447.0","@flowfuse/nr-tables-nodes":"0.3.1-6a9b104-202608271027.0","@flowfuse/nr-project-nodes":"0.7.10-5ef4d46-202608271309.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^12.0.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_3.0.3-d4fbd76-202609141321.0_1789392102653_0.711532365725428","host":"s3://npm-registry-packages-npm-production"}},"3.0.3-d8d81cd-202609141324.0":{"name":"@flowfuse/nr-launcher","version":"3.0.3-d8d81cd-202609141324.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@3.0.3-d8d81cd-202609141324.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"f94b7a4e3080eff45bd2828a6cdfae8753d436ca","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-3.0.3-d8d81cd-202609141324.0.tgz","fileCount":50,"integrity":"sha512-v1NMq45+2CW5eGv7WiA2kb75oOZIlYSfFRBgL+Xt5XYGQgeG8ig/gPOdqSUmUVXmYGp06V8tOanpCXlxiAcsfA==","signatures":[{"sig":"MEYCIQDKZUfZTSuQhDWPyIJb1jJ8EPzZYIApLvNuOhEXeCEwcQIhANSUOxWvF45KoMq4mNoEMM1W5DZeqjCbP2AEX8cRUujw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":672030},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"d8d81cd0599b8d61beb7b65738e18ec3cd6e4220","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.19.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.19.1-5337b66-202609140701.0","@flowfuse/nr-file-nodes":"0.0.11-a0ae1f0-202609111053.0","@flowfuse/nr-mqtt-nodes":"0.4.1-3181816-202609111447.0","@flowfuse/nr-tables-nodes":"0.3.1-6a9b104-202608271027.0","@flowfuse/nr-project-nodes":"0.7.10-5ef4d46-202608271309.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^12.0.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_3.0.3-d8d81cd-202609141324.0_1789392270725_0.8094662328611983","host":"s3://npm-registry-packages-npm-production"}},"3.0.3-d8d81cd-202609141558.0":{"name":"@flowfuse/nr-launcher","version":"3.0.3-d8d81cd-202609141558.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@3.0.3-d8d81cd-202609141558.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"712f2f5544cff7e4c9ba1e3917f2ed316f63596c","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-3.0.3-d8d81cd-202609141558.0.tgz","fileCount":50,"integrity":"sha512-CEt+QxaESthkGEwrZjF60uWm+b8oouOppWMtxSUPjuDfjajT5GY/UTPdWJHr/f67pWq2yQ4VjSt7MynmxsSsrQ==","signatures":[{"sig":"MEUCIFg18Qr4rx/MW9GewxTdWB6lA2VABQ9qs9Lk7sz5oQ8oAiEA6QkBd31gdS3sxx68OiBblMxyrfFskTn/DLiXu5xESlk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":672030},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"d8d81cd0599b8d61beb7b65738e18ec3cd6e4220","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.19.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.19.1-5337b66-202609140701.0","@flowfuse/nr-file-nodes":"0.0.11-a0ae1f0-202609111053.0","@flowfuse/nr-mqtt-nodes":"0.4.1-9a6e598-202609141556.0","@flowfuse/nr-tables-nodes":"0.3.1-6a9b104-202608271027.0","@flowfuse/nr-project-nodes":"0.7.10-5ef4d46-202608271309.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^12.0.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_3.0.3-d8d81cd-202609141558.0_1789401531550_0.8813095352089235","host":"s3://npm-registry-packages-npm-production"}},"3.0.3-d8d81cd-202609141604.0":{"name":"@flowfuse/nr-launcher","version":"3.0.3-d8d81cd-202609141604.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@3.0.3-d8d81cd-202609141604.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"f0cbcac064395fd7616c5e9bd166100495057b98","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-3.0.3-d8d81cd-202609141604.0.tgz","fileCount":50,"integrity":"sha512-IiE1mqb9En9f2u8R+T1/OQPwlOv9gS9H06it62xw/0elyrlDL4GLdTLRsh99gbdQZ9CNw32fPxZo632Lc4KmQg==","signatures":[{"sig":"MEQCIH3jH9ewQ7RMEHidFcMIjg9iBAhqKcNwXuK7J3tPJWDzAiAYrGVmI1y5YReYLnhb9ri+ToP9UljjLzOkAvSLLM/a+w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":672030},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"d8d81cd0599b8d61beb7b65738e18ec3cd6e4220","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.19.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.19.1-5337b66-202609140701.0","@flowfuse/nr-file-nodes":"0.0.11-a0ae1f0-202609111053.0","@flowfuse/nr-mqtt-nodes":"0.4.1-933f130-202609141602.0","@flowfuse/nr-tables-nodes":"0.3.1-6a9b104-202608271027.0","@flowfuse/nr-project-nodes":"0.7.10-5ef4d46-202608271309.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^12.0.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_3.0.3-d8d81cd-202609141604.0_1789401878881_0.670410665444866","host":"s3://npm-registry-packages-npm-production"}},"3.0.3-d8d81cd-202609161238.0":{"name":"@flowfuse/nr-launcher","version":"3.0.3-d8d81cd-202609161238.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@3.0.3-d8d81cd-202609161238.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"e354f44be79afe37138566c2dd272d667059cd2c","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-3.0.3-d8d81cd-202609161238.0.tgz","fileCount":50,"integrity":"sha512-3DtFM1stshhH+5yQ8Ufp5f+HDUPp5qjo0eznfiVVKpvA756MRz4hsc2oWl7ccjg4acGOqlw7GGlHa4PCmZF9sw==","signatures":[{"sig":"MEUCIQC7f0hAGh2sx3GNU2tsDZsgOJxv7FmYrIKkwSrckAsEvgIgG14GWlAdWeMhbNra63uwfck6OuWuNv6Tv1QeuGB8bCI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":672030},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"d8d81cd0599b8d61beb7b65738e18ec3cd6e4220","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.19.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.19.1-5337b66-202609140701.0","@flowfuse/nr-file-nodes":"0.0.11-a0ae1f0-202609111053.0","@flowfuse/nr-mqtt-nodes":"0.4.1-933f130-202609141602.0","@flowfuse/nr-tables-nodes":"0.3.1-6a9b104-202608271027.0","@flowfuse/nr-project-nodes":"0.7.10-9e46bfc-202609161234.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^12.0.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_3.0.3-d8d81cd-202609161238.0_1789562322003_0.8078151163204579","host":"s3://npm-registry-packages-npm-production"}},"3.0.3-d8d81cd-202609161253.0":{"name":"@flowfuse/nr-launcher","version":"3.0.3-d8d81cd-202609161253.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@3.0.3-d8d81cd-202609161253.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"bb0d73e8b3ff18f12ef1b0b0239d421d16c4f461","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-3.0.3-d8d81cd-202609161253.0.tgz","fileCount":50,"integrity":"sha512-+YSSHTLTK+umLVduHPQ5xX5Dx2BrofGmj2uQBbSpUeMgSpYAO97w6mjfWOzqFj0ehGabYhuC/eoWvg90gT+WFw==","signatures":[{"sig":"MEUCIH5iSYr7D+7nEgZ4r5FxJo4Uk6QzcC9NPLukuTDTs25oAiEAtfSe1EcXRSLGK/JGfyqSsqLR0GnJdNWH1s8dVQyjE7U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":672030},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"d8d81cd0599b8d61beb7b65738e18ec3cd6e4220","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.19.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.19.1-5337b66-202609140701.0","@flowfuse/nr-file-nodes":"0.0.11-a0ae1f0-202609111053.0","@flowfuse/nr-mqtt-nodes":"0.4.1-933f130-202609141602.0","@flowfuse/nr-tables-nodes":"0.3.1-6a9b104-202608271027.0","@flowfuse/nr-project-nodes":"0.7.10-8ddd6d4-202609161249.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^12.0.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_3.0.3-d8d81cd-202609161253.0_1789563222630_0.46002099415069586","host":"s3://npm-registry-packages-npm-production"}},"3.0.3-d8d81cd-202609161305.0":{"name":"@flowfuse/nr-launcher","version":"3.0.3-d8d81cd-202609161305.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@3.0.3-d8d81cd-202609161305.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"0e0ef0e1b22b27bf31bd88bf82d9c6f81b07f694","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-3.0.3-d8d81cd-202609161305.0.tgz","fileCount":50,"integrity":"sha512-kQ3tnjc5S/Ueb0VTuSiQySbzo6HjvGDUS6pCTdj3nZUZu62tJSWcjYisxxlykpdLmwwJImUStQd77iTgAlbUPg==","signatures":[{"sig":"MEUCIQDJdkXS7np8z7cdXNYvtnHFCJTsGi+9wov4xDIzYmWfRQIgGuhKRWvo7w5kPjR66PwigRrl5h6+eVxxg0m3l1C+Oos=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":672030},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"d8d81cd0599b8d61beb7b65738e18ec3cd6e4220","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.19.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.19.1-5337b66-202609140701.0","@flowfuse/nr-file-nodes":"0.0.11-a0ae1f0-202609111053.0","@flowfuse/nr-mqtt-nodes":"0.4.1-933f130-202609141602.0","@flowfuse/nr-tables-nodes":"0.3.1-2a24fe5-202609161302.0","@flowfuse/nr-project-nodes":"0.7.10-8ddd6d4-202609161249.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^12.0.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_3.0.3-d8d81cd-202609161305.0_1789563911426_0.7205602307260044","host":"s3://npm-registry-packages-npm-production"}},"3.0.3-d8d81cd-202609161309.0":{"name":"@flowfuse/nr-launcher","version":"3.0.3-d8d81cd-202609161309.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@3.0.3-d8d81cd-202609161309.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"4685bd455cb9ecf9ae358adbb2bfb4339f753687","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-3.0.3-d8d81cd-202609161309.0.tgz","fileCount":50,"integrity":"sha512-oKvChjXJlqtZ7WBk05tePBtPeK09RwLZOkAVPfj+Sq0SAhAOVxWY6QxLWTvnsyeyHKy6M5LuwP5+KAB04NNKfQ==","signatures":[{"sig":"MEQCIFZ6g6y9hksXuO2ElaapsOTw53P9I7jxWkF5zjSt1VPlAiBy/IADAC+GsBbIINwDMPaIev0LoU/yMT1mGaOEUJy3Ow==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":672030},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"d8d81cd0599b8d61beb7b65738e18ec3cd6e4220","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.19.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.19.1-5337b66-202609140701.0","@flowfuse/nr-file-nodes":"0.0.11-a0ae1f0-202609111053.0","@flowfuse/nr-mqtt-nodes":"0.4.1-933f130-202609141602.0","@flowfuse/nr-tables-nodes":"0.3.1-70ac869-202609161307.0","@flowfuse/nr-project-nodes":"0.7.10-8ddd6d4-202609161249.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^12.0.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_3.0.3-d8d81cd-202609161309.0_1789564182484_0.6704527852858715","host":"s3://npm-registry-packages-npm-production"}},"3.0.3-d8d81cd-202609161327.0":{"name":"@flowfuse/nr-launcher","version":"3.0.3-d8d81cd-202609161327.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@3.0.3-d8d81cd-202609161327.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"5db47eacfb47d476eadfe5af054b571d0aae1c39","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-3.0.3-d8d81cd-202609161327.0.tgz","fileCount":50,"integrity":"sha512-XdPBa8G+ENw2eUJur/4JXc7L2Buq76aXp8yEZfFCYLxPxP3GTBYByJ6xkbW8ke25i6RNFWiNOcaO4DBtPCRKdg==","signatures":[{"sig":"MEUCIDLMAvPWreYAZtuYTfAYd6XdDIThIcFXpcbrGvLaofTAAiEAvCYs8Zmj7UgU+OzkQWwRyIQ7fwEf3u2llLQP9zygbNI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":672030},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"d8d81cd0599b8d61beb7b65738e18ec3cd6e4220","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.19.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.19.1-5337b66-202609140701.0","@flowfuse/nr-file-nodes":"0.0.11-a0ae1f0-202609111053.0","@flowfuse/nr-mqtt-nodes":"0.4.1-933f130-202609141602.0","@flowfuse/nr-tables-nodes":"0.3.1-8e57b35-202609161326.0","@flowfuse/nr-project-nodes":"0.7.10-8ddd6d4-202609161249.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^12.0.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_3.0.3-d8d81cd-202609161327.0_1789565286218_0.6276530484148133","host":"s3://npm-registry-packages-npm-production"}},"3.0.3-d8d81cd-202609161436.0":{"name":"@flowfuse/nr-launcher","version":"3.0.3-d8d81cd-202609161436.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@3.0.3-d8d81cd-202609161436.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"4379bc220004fa8d2210268f349c2904f6180ffb","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-3.0.3-d8d81cd-202609161436.0.tgz","fileCount":50,"integrity":"sha512-fk3+EkLeIrdiXpRXJNI49UGfxyHPjCK34KnAoPpgvlygmBaQrQVFzFkBN2ldrorQkTKbymH3Klq3S+yiOWZbYg==","signatures":[{"sig":"MEUCIQDixNG6YQjEM7QdhM2QYfV/pDSwCJaJ6WyE1I9V2lNITgIgKhtY4tWzQB7yhTCG5sn8lW4MRqwH8FFMn1EuUu8v8sg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":672030},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"d8d81cd0599b8d61beb7b65738e18ec3cd6e4220","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.19.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.19.1-5337b66-202609140701.0","@flowfuse/nr-file-nodes":"0.0.11-a0ae1f0-202609111053.0","@flowfuse/nr-mqtt-nodes":"0.4.1-933f130-202609141602.0","@flowfuse/nr-tables-nodes":"0.3.1-90f34e8-202609161433.0","@flowfuse/nr-project-nodes":"0.7.10-8ddd6d4-202609161249.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^12.0.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_3.0.3-d8d81cd-202609161436.0_1789569376002_0.7531500932603516","host":"s3://npm-registry-packages-npm-production"}},"3.0.3-d8d81cd-202609161513.0":{"name":"@flowfuse/nr-launcher","version":"3.0.3-d8d81cd-202609161513.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@3.0.3-d8d81cd-202609161513.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"9f746f968a1213a76dcbb855d500de40c72163a6","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-3.0.3-d8d81cd-202609161513.0.tgz","fileCount":50,"integrity":"sha512-e+GhAcDgkG1WyAkESQx5hZrhZdDLY8sxfjtDhBlAgnT5UXQI7Up5mAlKc1Z554l4Lsrrod6nFBvBXB6akI+oCA==","signatures":[{"sig":"MEYCIQCOK4RpBzHmCTyYGIr6Z029ovyyT2lcjm6urGGfs3X96AIhALNLY0rt1cmlauioO+thnOh5eY6O1A4LinVaHIFQyM3R","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":672030},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"d8d81cd0599b8d61beb7b65738e18ec3cd6e4220","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.19.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.19.1-7dfd44e-202609161511.0","@flowfuse/nr-file-nodes":"0.0.11-a0ae1f0-202609111053.0","@flowfuse/nr-mqtt-nodes":"0.4.1-933f130-202609141602.0","@flowfuse/nr-tables-nodes":"0.3.1-90f34e8-202609161433.0","@flowfuse/nr-project-nodes":"0.7.10-8ddd6d4-202609161249.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^12.0.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_3.0.3-d8d81cd-202609161513.0_1789571601913_0.06064818701203745","host":"s3://npm-registry-packages-npm-production"}},"3.0.3-d8d81cd-202609180957.0":{"name":"@flowfuse/nr-launcher","version":"3.0.3-d8d81cd-202609180957.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@3.0.3-d8d81cd-202609180957.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"bd2d35f2030dd5f714182fac98fc634a4d0a9a81","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-3.0.3-d8d81cd-202609180957.0.tgz","fileCount":50,"integrity":"sha512-BeuI9N3OAwuXifh+8yYiXe6CA79dED7vS59+aiY7cwYWfR28h4eg/H/CU9EcYVTs33osxrTfTbwrzJAsikbDRw==","signatures":[{"sig":"MEUCIFZJpbsd2IBMHLK65vnIluLJ283FeNRJEN9a53/Ow+d/AiEA8wCyvEYAo/pnNGn50P2ip/GEbFRenZeCPD/F/yuYAIU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIFUoUFLnahJZHGaCf3VJ5drkFOy5LluW5zhHV2iYEYiuAiA4xYgXwqrAZZHxzfYdSGjHDU8oA/vZBJ8ixUR9HTp7Yw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":672030},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"d8d81cd0599b8d61beb7b65738e18ec3cd6e4220","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.19.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.19.1-ecee681-202609180956.0","@flowfuse/nr-file-nodes":"0.0.11-a0ae1f0-202609111053.0","@flowfuse/nr-mqtt-nodes":"0.4.1-933f130-202609141602.0","@flowfuse/nr-tables-nodes":"0.3.1-90f34e8-202609161433.0","@flowfuse/nr-project-nodes":"0.7.10-8ddd6d4-202609161249.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^12.0.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_3.0.3-d8d81cd-202609180957.0_1789725546703_0.875913304516249","host":"s3://npm-registry-packages-npm-production"}},"3.0.3-d8d81cd-202609181030.0":{"name":"@flowfuse/nr-launcher","version":"3.0.3-d8d81cd-202609181030.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@3.0.3-d8d81cd-202609181030.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"1f7d6514a4e15cf00ea71ba8de7d5ae12a80b63e","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-3.0.3-d8d81cd-202609181030.0.tgz","fileCount":50,"integrity":"sha512-uHfi7eE42ZJM14QwuvWTtLWcfug4WwTLy84M08Df1uDVC6AHPLYsjnNL5V2kJ3lQK9fpe4wNEGrUIu/hvdZBbg==","signatures":[{"sig":"MEYCIQC866hDtarZGax9TvuXZZ3Ue8xg7mD/ZTl/XO9ch8PENQIhALXy9jt+tiKIGq33madCAlICAfPRL4Rq4lW+fdZPrMKA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQD37W/aIUbMFDE2VCJCl/JP+fXC3yRdWrqv2T4JGVfMiAIhAI7W2Z5X18G8sMnzqm9DtTYjux3QEfQ9YW2Q7NBY/FyL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":672030},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"d8d81cd0599b8d61beb7b65738e18ec3cd6e4220","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.19.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.19.1-7cd6f08-202609181026.0","@flowfuse/nr-file-nodes":"0.0.11-a0ae1f0-202609111053.0","@flowfuse/nr-mqtt-nodes":"0.4.1-933f130-202609141602.0","@flowfuse/nr-tables-nodes":"0.3.1-90f34e8-202609161433.0","@flowfuse/nr-project-nodes":"0.7.10-8ddd6d4-202609161249.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^12.0.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_3.0.3-d8d81cd-202609181030.0_1789727562561_0.9300982415213326","host":"s3://npm-registry-packages-npm-production"}},"3.0.3-d8d81cd-202609181336.0":{"name":"@flowfuse/nr-launcher","version":"3.0.3-d8d81cd-202609181336.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@3.0.3-d8d81cd-202609181336.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"82b643f93e08355442e534e58770628e023ab54a","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-3.0.3-d8d81cd-202609181336.0.tgz","fileCount":50,"integrity":"sha512-28MJMxdF7lJxJMhV51nLdyjmLpJ1Sh5wQUBvkY+XwOcCxRCJmDD4MZDdeJuVMc5Hhuv78LPCVWMUzsQVUZa5AA==","signatures":[{"sig":"MEYCIQD3ggTV86rb6frIXV8D+TtWlkXTb58yj++TT/ERnat8aQIhAJ1GD7wWn6WFVWqRwaXfiKH37AfZG4fetVqqoidblPsC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIGByvns21bgjto9vCxfI6NHEPaHs7yhqtnnlj0Ix0qpHAiEA7cW725wNutY1qopPzzE/G24dXYyy4VOWC4PnnUvVkp8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":672030},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"d8d81cd0599b8d61beb7b65738e18ec3cd6e4220","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.19.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.20.1-6de5715-202609181332.0","@flowfuse/nr-file-nodes":"0.0.11-a0ae1f0-202609111053.0","@flowfuse/nr-mqtt-nodes":"0.4.1-933f130-202609141602.0","@flowfuse/nr-tables-nodes":"0.3.1-90f34e8-202609161433.0","@flowfuse/nr-project-nodes":"0.7.10-8ddd6d4-202609161249.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^12.0.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_3.0.3-d8d81cd-202609181336.0_1789738665421_0.8477151260170832","host":"s3://npm-registry-packages-npm-production"}},"3.0.3-e6c47a7-202609221213.0":{"name":"@flowfuse/nr-launcher","version":"3.0.3-e6c47a7-202609221213.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@3.0.3-e6c47a7-202609221213.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"d47cea1a09acfd2f2bb4973a578146dc3e3aa6ec","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-3.0.3-e6c47a7-202609221213.0.tgz","fileCount":50,"integrity":"sha512-jzh3xPfDi3n/MirREgLfs9VTBV/1kWoRqUmRAISLs8BgmZ99+p7N+MwXc9B/YyDF7NDtVCMNjEsI/0T2k1ncOA==","signatures":[{"sig":"MEYCIQDc4mYkxUl0yHuYei/u91wph5nlwA7H8i0uvdrXRKF13wIhAMw/X2XzGrrY+TMcU9wXT36LghaiWIL3MiG6WJ9KPWdQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDD3rzwlK/ZoJsmQUQk+O87LKkn3hwZEzZ/MD80ZO1IZAIhAKjGQShdzw4E9dNyT1Ad4oBsiXzppymEkrkBVoMaUOwv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":672030},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"e6c47a70f1389b181c0686cd61c728d86269426f","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.19.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.21.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.20.1-6de5715-202609181332.0","@flowfuse/nr-file-nodes":"0.0.11-a0ae1f0-202609111053.0","@flowfuse/nr-mqtt-nodes":"0.4.1-933f130-202609141602.0","@flowfuse/nr-tables-nodes":"0.3.1-90f34e8-202609161433.0","@flowfuse/nr-project-nodes":"0.7.10-8ddd6d4-202609161249.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^12.0.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_3.0.3-e6c47a7-202609221213.0_1790079285478_0.11247779370277122","host":"s3://npm-registry-packages-npm-production"}},"3.0.3-e6c47a7-202609241248.0":{"name":"@flowfuse/nr-launcher","version":"3.0.3-e6c47a7-202609241248.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@3.0.3-e6c47a7-202609241248.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"0e0ce4169c722097c0b066420e987d8dd7fc26aa","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-3.0.3-e6c47a7-202609241248.0.tgz","fileCount":50,"integrity":"sha512-Z22BDzWyjxWHgQmDsYRTzgqmajPR6rmMF+sbxLCwMzgFj16+85dAdS5+TRC7Runqr2c9nRZQg/qKsTULTiWxeg==","signatures":[{"sig":"MEUCIQDulB3U7Bdgw7H3vEQRTWnNeYWXhRlak+bOvzzokdwQpwIgW6ucG73eTvVX62iRfX67cEi4miLhZ7is13Dkcify11s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIA5SIwyhXi/koahwZqGQakK0cfqMponoyzEcF0KwzPAxAiBR8vXke5JxIkO3ivskeJMI8u/n6f6SLmza4yxmiJPCvw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":672030},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"e6c47a70f1389b181c0686cd61c728d86269426f","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.19.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.21.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.20.1-6de5715-202609181332.0","@flowfuse/nr-file-nodes":"0.0.11-a0ae1f0-202609111053.0","@flowfuse/nr-mqtt-nodes":"0.4.1-933f130-202609141602.0","@flowfuse/nr-tables-nodes":"0.3.1-90f34e8-202609161433.0","@flowfuse/nr-project-nodes":"0.7.10-8212286-202609241245.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^12.0.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_3.0.3-e6c47a7-202609241248.0_1790254270333_0.593018841152599","host":"s3://npm-registry-packages-npm-production"}},"3.0.3-70d1e28-202609241316.0":{"name":"@flowfuse/nr-launcher","version":"3.0.3-70d1e28-202609241316.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@3.0.3-70d1e28-202609241316.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"44d3425da5ccdf17a233eba8781520df31e0e4d7","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-3.0.3-70d1e28-202609241316.0.tgz","fileCount":50,"integrity":"sha512-FGeCUj69Ua2THXqErRpxh3VApNrZDBlUldl7tq8N4T44V+vqxPW992av2hRORxYkYIDr4LQuJ/D+C1G+U5gFbg==","signatures":[{"sig":"MEUCICEnNBKzf1hzt/uB50GrvUkYGttcAWj3RAHdbF0fHLHrAiEAreYCp393Ul46NQU0KyuoTcqkRgwarP47Ci7oYzDLJiE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCuluytxOgo5vK8uEl+BtedppqSaUotwO31z3viX8yDxwIhAOEUkmdiLNW3ZZP3to0ffGEzgBCwQVDYkRxaDtBi9nBM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":672030},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"70d1e28c8c6f8469a3d11b137c2e2891f1d1be66","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.19.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.21.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.20.1-6de5715-202609181332.0","@flowfuse/nr-file-nodes":"0.0.11-a0ae1f0-202609111053.0","@flowfuse/nr-mqtt-nodes":"0.4.1-933f130-202609141602.0","@flowfuse/nr-tables-nodes":"0.3.1-90f34e8-202609161433.0","@flowfuse/nr-project-nodes":"0.7.10-8212286-202609241245.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^12.0.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_3.0.3-70d1e28-202609241316.0_1790255872959_0.29752283946146285","host":"s3://npm-registry-packages-npm-production"}},"3.1.0":{"name":"@flowfuse/nr-launcher","version":"3.1.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@3.1.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"5f0236220804cd176e493354b731d9e59cb34a0e","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-3.1.0.tgz","fileCount":50,"integrity":"sha512-XtEOwdP7yC43cuDuRH0PYO9nP2enYOpnbvndvHTzdDCQ1wTT1gMJGTD1J0ahBQf63pgvXhVpodejkvk3F/QQYA==","signatures":[{"sig":"MEUCIQDlq6gVbT6lBCLWk3ZL28XSXoAifWmpSaUWNQFRZ1DolwIgLXQf2PjM1W5autMPSGyCoKAgD0shQBdoPHRPFWZLIVU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIBESmOCtjm6tkFLFAaJ1Piz3VHrWO9IKHLyYK1bUfqarAiABGqxmg5f7luRSPO200+WINOvtGncLKiZMXOtdpk/7RA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":672521},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"cb93a55fdfbcf6c189830a57cd850d165e971edd","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.19.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.21.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"^0.20.0","@flowfuse/nr-file-nodes":"^0.0.10","@flowfuse/nr-mqtt-nodes":"^0.4.0","@flowfuse/nr-tables-nodes":"^0.3.0","@flowfuse/nr-project-nodes":"^0.7.9","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^12.0.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_3.1.0_1790256012161_0.943122994078377","host":"s3://npm-registry-packages-npm-production"}},"3.1.1-cb93a55-202609241319.0":{"name":"@flowfuse/nr-launcher","version":"3.1.1-cb93a55-202609241319.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@3.1.1-cb93a55-202609241319.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"b4b96d613ac7ba486cea9230a3bf45b6caa39b8b","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-3.1.1-cb93a55-202609241319.0.tgz","fileCount":50,"integrity":"sha512-XWoKZPsbXdIZpCZS63YVNJqc/UWaVdQlJqJxyfS4SQ4WM2eySpn4pcbvCgAh0RU1kdR2zyq5QG1nfTehrZunQA==","signatures":[{"sig":"MEUCIQDr5x+JDIfHEoErcTG7s0dKJRi2Z693kA0lL1ikiRa31gIgIuWVMUROh2rlaNkj/u4UkI/IyhEEWb4jK1bDZJIYPhE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCICb6c+CyF801IyQtNjU3cYi6OZHj4dAlQZEnQklU64AIAiEA4LruB907TyUo69biyOVHH7RLc6FJ67MTY+trOg0T/A8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":672653},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"cb93a55fdfbcf6c189830a57cd850d165e971edd","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.19.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.21.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.20.1-6de5715-202609181332.0","@flowfuse/nr-file-nodes":"0.0.11-a0ae1f0-202609111053.0","@flowfuse/nr-mqtt-nodes":"0.4.1-933f130-202609141602.0","@flowfuse/nr-tables-nodes":"0.3.1-90f34e8-202609161433.0","@flowfuse/nr-project-nodes":"0.7.10-8212286-202609241245.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^12.0.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_3.1.1-cb93a55-202609241319.0_1790256137217_0.13986952464387015","host":"s3://npm-registry-packages-npm-production"}},"3.1.1-4300708-202609250854.0":{"name":"@flowfuse/nr-launcher","version":"3.1.1-4300708-202609250854.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@3.1.1-4300708-202609250854.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"178fc3d77a0931c342258505c4a0c8f75c0b69b2","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-3.1.1-4300708-202609250854.0.tgz","fileCount":50,"integrity":"sha512-aTf5hmOp0zJg3L1brfJ75UNrm9OYydlXEbkP3VIELjb9yrmSCr9KLBoKQ9jNo6BmCnFEorgIhlE7d7Tz3IVKMA==","signatures":[{"sig":"MEUCIDe2n088aSgpTmBRGRkd4CALp++5+Y678kmTnU/Co52MAiEAvzKSAkuLSVl9WSued2WFp3xmZJRcacTNCyj9kzrqd/I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDInniQSCEjeKWd0inP+IIfgV4Jd2beO6edmmo7ymTCrAIhAN0ntv0hPQ+++ff4Hgj2A2D90C7ko7mnRfD+gXmu/TSm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":672653},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"430070872019016f5eec6f89444f1ad07884303a","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.19.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.21.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.20.1-6de5715-202609181332.0","@flowfuse/nr-file-nodes":"0.0.11-a0ae1f0-202609111053.0","@flowfuse/nr-mqtt-nodes":"0.4.1-933f130-202609141602.0","@flowfuse/nr-tables-nodes":"0.3.1-90f34e8-202609161433.0","@flowfuse/nr-project-nodes":"0.7.10-8212286-202609241245.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^12.0.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_3.1.1-4300708-202609250854.0_1790326818124_0.2534003289768254","host":"s3://npm-registry-packages-npm-production"}},"3.1.1-4300708-202609251210.0":{"name":"@flowfuse/nr-launcher","version":"3.1.1-4300708-202609251210.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@3.1.1-4300708-202609251210.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"80bce67fa1c5e508cfd39ed1e827834ffb5eb942","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-3.1.1-4300708-202609251210.0.tgz","fileCount":50,"integrity":"sha512-42zBy5KZTqlrUg28rq9/LFKb0jehbD03eZO0u/J/n0ThNu3ml81SoHAxV5ql4Yp1KCZmEKBdEb8169Z4Y0N3uQ==","signatures":[{"sig":"MEYCIQCNDfRLUfnKnK9tN2o4dw8Fqiiz5IzZc1sI7aXZ4PUWmwIhAOEhIRfYecNVDcnCGWKf1+X8SHIMKIcGiZ5SoK4dqEwL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIHd77Zm5tjso1FTCutgb/OiZBm8+AIsFlkKCPKw7UtkOAiBSMF7XXg8kc4chddYZvkVLPvxtdWv43GqMraEckrvAWw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":672653},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"430070872019016f5eec6f89444f1ad07884303a","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.19.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.21.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.20.1-6de5715-202609181332.0","@flowfuse/nr-file-nodes":"0.0.11-8a6e1e1-202609251207.0","@flowfuse/nr-mqtt-nodes":"0.4.1-933f130-202609141602.0","@flowfuse/nr-tables-nodes":"0.3.1-90f34e8-202609161433.0","@flowfuse/nr-project-nodes":"0.7.10-8212286-202609241245.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^12.0.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_3.1.1-4300708-202609251210.0_1790338585661_0.6297132673283281","host":"s3://npm-registry-packages-npm-production"}},"3.1.1-4300708-202609251745.0":{"name":"@flowfuse/nr-launcher","version":"3.1.1-4300708-202609251745.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@3.1.1-4300708-202609251745.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"c74dc65cf86baa2812aa048e501ac89a504e5ad2","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-3.1.1-4300708-202609251745.0.tgz","fileCount":50,"integrity":"sha512-MkvFOQGzMZeu7N3bhngQC1G0Yg79QFohBsIA5F9I/l+8OqJ5Wz7yP8IgChVaL5DCsLXprIsHFE47mfFC5+NKDA==","signatures":[{"sig":"MEUCIQDinDcYkCmOpkvbrLYtMR958Ca95fvGmxtLLufJP+WNwAIgE5iRiH3jBbuE17gBypDSqn8l0Pctwa/NJ2FL1IIWYVE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIGVuPysIsR/80ic1JkL5mUXir7u9oPwP/OTznCZ+7cGgAiEAhYgzBuLHyX11mgJ9Q5rlDIb22zlcyVFggr5tr6kUh+8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":672653},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"430070872019016f5eec6f89444f1ad07884303a","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.19.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.21.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.20.1-6de5715-202609181332.0","@flowfuse/nr-file-nodes":"0.0.11-8a6e1e1-202609251207.0","@flowfuse/nr-mqtt-nodes":"0.4.1-933f130-202609141602.0","@flowfuse/nr-tables-nodes":"0.3.1-e244cb6-202609251743.0","@flowfuse/nr-project-nodes":"0.7.10-3071de1-202609251742.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^12.0.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_3.1.1-4300708-202609251745.0_1790358433670_0.14203005816513548","host":"s3://npm-registry-packages-npm-production"}},"3.1.1-4300708-202609251746.0":{"name":"@flowfuse/nr-launcher","version":"3.1.1-4300708-202609251746.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@3.1.1-4300708-202609251746.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"4a12526494f8a5e5608cd137482b2ece382813ac","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-3.1.1-4300708-202609251746.0.tgz","fileCount":50,"integrity":"sha512-uFtlj6A9s2qnXbBFwSHIZpl75t5LlTvHOHKkK5BSHMDdhCa4d7NV7okMutt/uyjXkd2wtca94YuMpWoQLlg8WA==","signatures":[{"sig":"MEUCIGLz8UADarjixliBThm0diC2qkQZak9fU994R2mlE0xJAiEAu8uksRbvns8IsdtXbTltliup0+9kqjZzUf1SRT3VIHk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIEaZTdnxOwDaNdxhKx1MXaaYtsds+vbyVSFVczcIPkfSAiBnk9FYsBD4eqObUYVPCrA2CVU7DW/b9Roo/H/VfOiAaw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":672653},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"430070872019016f5eec6f89444f1ad07884303a","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.19.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.21.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.20.1-6de5715-202609181332.0","@flowfuse/nr-file-nodes":"0.0.11-8a6e1e1-202609251207.0","@flowfuse/nr-mqtt-nodes":"0.4.1-933f130-202609141602.0","@flowfuse/nr-tables-nodes":"0.3.1-e244cb6-202609251743.0","@flowfuse/nr-project-nodes":"0.7.10-3071de1-202609251742.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^12.0.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_3.1.1-4300708-202609251746.0_1790358587032_0.47918655096507146","host":"s3://npm-registry-packages-npm-production"}},"3.1.1-4300708-202609251748.0":{"name":"@flowfuse/nr-launcher","version":"3.1.1-4300708-202609251748.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@3.1.1-4300708-202609251748.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"75f0fc34f753b240262b6ae60f76d69d6b868a76","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-3.1.1-4300708-202609251748.0.tgz","fileCount":50,"integrity":"sha512-evEta+k7onRqooWAimMp4+iJ8qGpEPDvebl2NrKt38xnymbPo05mnui12xp9K0mR+5USiCYEqMwEaKFzCu0ePA==","signatures":[{"sig":"MEYCIQDuyXIXgNLip4nuhoHahEOG3I7n5SE8aDoxURK0Z8mIYwIhAIK4U5JYmLdT/syqwKKxvhlEHYaRVxVePfgxC+oJw2LX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQD+EmFhPBtVSJzCzgxp5I+5MdsfKTGn6mTawMSZBHAcTAIhAOmGPI+cFOEqzlVIyEy1FVrKExgMZXcA/HowwS8fDKo7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":672653},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"430070872019016f5eec6f89444f1ad07884303a","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.19.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.21.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.20.1-1afb399-202609251744.0","@flowfuse/nr-file-nodes":"0.0.11-8a6e1e1-202609251207.0","@flowfuse/nr-mqtt-nodes":"0.4.1-933f130-202609141602.0","@flowfuse/nr-tables-nodes":"0.3.1-e244cb6-202609251743.0","@flowfuse/nr-project-nodes":"0.7.10-3071de1-202609251742.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^12.0.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_3.1.1-4300708-202609251748.0_1790358619028_0.7167733340624618","host":"s3://npm-registry-packages-npm-production"}},"3.1.1-4300708-202609281453.0":{"name":"@flowfuse/nr-launcher","version":"3.1.1-4300708-202609281453.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@3.1.1-4300708-202609281453.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"42c27eedda3488ea2aa1ce418939396e090215d3","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-3.1.1-4300708-202609281453.0.tgz","fileCount":50,"integrity":"sha512-SrwM+HKjydf9DeYCl1/j/QWu1dZDeOBYTRJ6sMeQ0wT4LeU5LK0AKhfDbMtg1jemOAsKnrEomINixGUbwIN39A==","signatures":[{"sig":"MEYCIQDvFDQSDd2xs8S3Og1MtmrGIZy5EQFONxBSTFhH8whp+gIhANQCytTtU+y/EtGAyOX5LT1rOtkZR+lcF+l8HKac5LRK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIB0zXl74B33ws/atYM1w1icPmF9ylZ/jv0YEMVxTCpkUAiEAhFwsdwRszwuquJbyaSvXYo98KrksSrrK3axPpXvGU80=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":672653},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"430070872019016f5eec6f89444f1ad07884303a","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.19.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.21.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.20.1-1afb399-202609251744.0","@flowfuse/nr-file-nodes":"0.0.11-8a6e1e1-202609251207.0","@flowfuse/nr-mqtt-nodes":"0.4.1-f75b5bd-202609281449.0","@flowfuse/nr-tables-nodes":"0.3.1-51767ab-202609281449.0","@flowfuse/nr-project-nodes":"0.7.10-3071de1-202609251742.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^12.0.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_3.1.1-4300708-202609281453.0_1790607306834_0.909346897168668","host":"s3://npm-registry-packages-npm-production"}},"3.1.1-4300708-202609281605.0":{"name":"@flowfuse/nr-launcher","version":"3.1.1-4300708-202609281605.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@3.1.1-4300708-202609281605.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"919d629ab86973febbcbed1e03466d8d6eecd29e","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-3.1.1-4300708-202609281605.0.tgz","fileCount":50,"integrity":"sha512-aXAXJVsx8ZuJmUQ+A4QxiGtSCF6xIQvlSOtX6YM1Bvgb5cCEs2DFWrSdnvMzb6MtUUetOf1F5tDMVyZiro411A==","signatures":[{"sig":"MEQCIG9N4hw3umJrfYlwzVoIjAeh5FznbC28M2LEiRvV2CghAiACdycw75C6ZuJRonEfHJe8CxzNQ0vKxvmXX10jhL4yeQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCmXl4F9XYVtDfP+efQeGkQs4BERANiCmxVb5W5j/Uv2AIhANnF5hoj5Vf7Ewp8OMsqXOrwWALk8QJZMWqQGnOn3hTR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":672653},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"430070872019016f5eec6f89444f1ad07884303a","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.19.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.21.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.20.1-1afb399-202609251744.0","@flowfuse/nr-file-nodes":"0.0.11-8a6e1e1-202609251207.0","@flowfuse/nr-mqtt-nodes":"0.4.2-b683633-202609281601.0","@flowfuse/nr-tables-nodes":"0.3.2-a8a03da-202609281601.0","@flowfuse/nr-project-nodes":"0.7.10-3071de1-202609251742.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^12.0.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"github:FlowFuse/file-server","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_3.1.1-4300708-202609281605.0_1790611870974_0.2718636786277233","host":"s3://npm-registry-packages-npm-production"}},"3.1.1-df4cf86-202609281615.0":{"name":"@flowfuse/nr-launcher","version":"3.1.1-df4cf86-202609281615.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@3.1.1-df4cf86-202609281615.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"d550e2506c0d576395d9dadfb42a66e0882e3391","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-3.1.1-df4cf86-202609281615.0.tgz","fileCount":50,"integrity":"sha512-1sutVyGOTCIS7lE2Hxbi/8ylQA89dqMSGctairOfH5cOGk901gOxTxcTnnt8LQUSgWboWwEV9B1d1bsYkwawHg==","signatures":[{"sig":"MEYCIQDo/cU/8NfOLEQs9/+57IiUTpvP7Y4tkMH6psRrT40AmAIhALZwbBF0zzYMdceFkFMQW+/e6M/zvqWjLCfwGhc3tLG0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDfn37qzrCD3LBkEI0cHdsFRrnwcmmgFk/F4iOL+cTvLAIhAJTOfFVAPi7bEW0Qs3TiPmSvtge9KWiuLsy9bgkWN6vD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":672632},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"df4cf86532099811fd224f076d3318d240ce0117","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.19.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.21.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.20.1-1afb399-202609251744.0","@flowfuse/nr-file-nodes":"0.0.11-8a6e1e1-202609251207.0","@flowfuse/nr-mqtt-nodes":"0.4.2-b683633-202609281601.0","@flowfuse/nr-tables-nodes":"0.3.2-a8a03da-202609281601.0","@flowfuse/nr-project-nodes":"0.7.10-3071de1-202609251742.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^12.0.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"^3.1.0","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_3.1.1-df4cf86-202609281615.0_1790612380483_0.6781500285339497","host":"s3://npm-registry-packages-npm-production"}},"3.1.1-789fb02-202609290846.0":{"name":"@flowfuse/nr-launcher","version":"3.1.1-789fb02-202609290846.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@3.1.1-789fb02-202609290846.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"dcbe62f582e7936db4466151d5bb81e3b8ac111c","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-3.1.1-789fb02-202609290846.0.tgz","fileCount":50,"integrity":"sha512-LdCJ3L4KiWRua2MBXfjSXVzF+bS5H46YdDsP4JIN0myZFu9WM+w3+NcnTRK8ebcOeK9mSEsuJZVcRiDCcm/VAw==","signatures":[{"sig":"MEQCIAX8dbXJEYNtGPr3JFFivfxxiw9Q/7/J4H07zEpy/6btAiBAQbf97m9j8aKkrnjzy0Q+rfTXRUxpCKcRZ91r7c0jFA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDatTCtirRY9UiM/1+l7mcol5tUc8nHTsAuCj8EthUD1gIhAMiOKpH+zwasZCVjtE3pQzY2bdngLkosP3aQDr0kcIBO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":672632},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"789fb0241c15b36b8aa61b3a411339a4acf3d9c8","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.19.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.21.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.20.1-1afb399-202609251744.0","@flowfuse/nr-file-nodes":"0.0.11-8a6e1e1-202609251207.0","@flowfuse/nr-mqtt-nodes":"0.4.2-b683633-202609281601.0","@flowfuse/nr-tables-nodes":"0.3.2-a8a03da-202609281601.0","@flowfuse/nr-project-nodes":"0.7.10-3071de1-202609251742.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^12.0.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"^3.1.0","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_3.1.1-789fb02-202609290846.0_1790671682803_0.768966828874077","host":"s3://npm-registry-packages-npm-production"}},"3.1.1-789fb02-202609290852.0":{"name":"@flowfuse/nr-launcher","version":"3.1.1-789fb02-202609290852.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@3.1.1-789fb02-202609290852.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"f074306b2d3e2bdcaf05e48029c043aeda374980","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-3.1.1-789fb02-202609290852.0.tgz","fileCount":50,"integrity":"sha512-cPwvY2UI51HCdU+oxzM/lNtwMy0QGGCQGGNQMteZw/zidzzAqGPHDQpqBkF84L00wbKmFAZpm9lreu2Q5E7kgA==","signatures":[{"sig":"MEUCIHUa5hDs8En8TmL/cUSE5ltQrcIcSzUrmvOdjwzekbxAAiEA4E0vDcprqDvuc9V1SbRKXna5Sn7gO+wGIccCmtvrT0o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIDS1CNQ5qJZvLqEMua0fu6PB+y9QHDM3AZ44CEYgZG46AiA82lk/NdqJqg9VlMKbfaM1rGwc0qaD9nSOwcySuUyjog==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":672632},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"789fb0241c15b36b8aa61b3a411339a4acf3d9c8","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.19.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.21.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.20.1-1afb399-202609251744.0","@flowfuse/nr-file-nodes":"0.0.11-9885bd5-202609290847.0","@flowfuse/nr-mqtt-nodes":"0.4.2-b683633-202609281601.0","@flowfuse/nr-tables-nodes":"0.3.2-a8a03da-202609281601.0","@flowfuse/nr-project-nodes":"0.7.10-3071de1-202609251742.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^12.0.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"^3.1.0","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_3.1.1-789fb02-202609290852.0_1790672083168_0.4360256039595931","host":"s3://npm-registry-packages-npm-production"}},"3.1.1-789fb02-202609290856.0":{"name":"@flowfuse/nr-launcher","version":"3.1.1-789fb02-202609290856.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@3.1.1-789fb02-202609290856.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"de0d7f7a110fd6da13b648e35c1a09c5c055c4fd","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-3.1.1-789fb02-202609290856.0.tgz","fileCount":50,"integrity":"sha512-AvXoy9uQVcF8nNacXzmbCRT4Ld4ZQUdPsR3Xn2RL0jNhfWEultEme9C6BzbScrkilz04BJNVHnAfLAU+Jjn5vw==","signatures":[{"sig":"MEQCIAMfPs5x4zK7OO88RuAc5PJmAAoD5tlF3dtB7yhMfIJAAiBdQGBCMjWgrZNCUPC8brL5+UiQEB2+LrsTTiKG3H6FxQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIBVXVa6x8J3pInbVREfV3UbEOHsgxzWAk7NEXbjA/DQyAiAc54QuPiWU946ST1GAHWwJrSi1AJcAX01KMGOb3uI+IQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":672632},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"789fb0241c15b36b8aa61b3a411339a4acf3d9c8","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.19.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.21.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.20.1-a917a9c-202609290848.0","@flowfuse/nr-file-nodes":"0.0.11-9885bd5-202609290847.0","@flowfuse/nr-mqtt-nodes":"0.4.2-b683633-202609281601.0","@flowfuse/nr-tables-nodes":"0.3.2-a8a03da-202609281601.0","@flowfuse/nr-project-nodes":"0.7.10-3071de1-202609251742.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^12.0.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"^3.1.0","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_3.1.1-789fb02-202609290856.0_1790672385827_0.34384935229418345","host":"s3://npm-registry-packages-npm-production"}},"3.1.1-789fb02-202609291136.0":{"name":"@flowfuse/nr-launcher","version":"3.1.1-789fb02-202609291136.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@3.1.1-789fb02-202609291136.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"4e76f4bb64ebc60913be0b82ab75c4ca846d3a2a","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-3.1.1-789fb02-202609291136.0.tgz","fileCount":50,"integrity":"sha512-KpCvJNa7tv0GXqriQGWWJpN2yDCHVBbrkZbfvhRiQVFJL28lWoBHKNihMEFuTkWbWRQOB8H/xOG4TD8j9z96MA==","signatures":[{"sig":"MEUCIQDo3K0x8y8bNOFB9pZN5TSSt+AnqQOpzvoB0bTgl2+MrQIgekjXKL3L2pjJBSaSvRAwi6z7pD4bRbyrLC2jcKgFdU0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIG3P7h+e/H4PcA4XI4u6iFkajz36iDSIPT/JloySFxYpAiEAzB+4zF8/hw6jawagqhBmV2j6Kw7jpxb8GyYyseKVZSg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":672632},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"789fb0241c15b36b8aa61b3a411339a4acf3d9c8","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.19.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.21.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.20.1-a917a9c-202609290848.0","@flowfuse/nr-file-nodes":"0.0.11-c68daea-202609291133.0","@flowfuse/nr-mqtt-nodes":"0.4.2-b683633-202609281601.0","@flowfuse/nr-tables-nodes":"0.3.2-4119a6b-202609291132.0","@flowfuse/nr-project-nodes":"0.7.10-791da65-202609291133.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^12.0.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"^3.1.0","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_3.1.1-789fb02-202609291136.0_1790681834507_0.38103632611085336","host":"s3://npm-registry-packages-npm-production"}},"3.1.1-789fb02-202609291138.0":{"name":"@flowfuse/nr-launcher","version":"3.1.1-789fb02-202609291138.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@3.1.1-789fb02-202609291138.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"e25c9c3440be631e8eff342dc151690653c19149","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-3.1.1-789fb02-202609291138.0.tgz","fileCount":50,"integrity":"sha512-aMBB0pDyRhHe94CHm3nvSj4sq8ZugoPU2ub95YivxJZyhccOdL+w4Q1UMYSaB6YTnVxy7aiiitaMo+NV7AbY4w==","signatures":[{"sig":"MEUCICdmwVaM7Bg6XxFs8fM3Bbf04k2ZM2xIG3MdD6QPgZg0AiEAmZXrtaEwZTooOwn4al1RQ60IzRTm6i3UD4t7Esd2to0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIBbPwwesS16cl+6RmOnEn9WQ1VAUeFnf7KWMeFHWJGAgAiEAtdp1iV5NBqtNf1BXFXS97vZjwfuVaonJc8viCTkrtz8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":672632},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"789fb0241c15b36b8aa61b3a411339a4acf3d9c8","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.19.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.21.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.20.1-cf60165-202609291133.0","@flowfuse/nr-file-nodes":"0.0.11-c68daea-202609291133.0","@flowfuse/nr-mqtt-nodes":"0.4.2-f152b83-202609291134.0","@flowfuse/nr-tables-nodes":"0.3.2-4119a6b-202609291132.0","@flowfuse/nr-project-nodes":"0.7.10-791da65-202609291133.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^12.0.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"^3.1.0","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_3.1.1-789fb02-202609291138.0_1790681946692_0.9833291951691814","host":"s3://npm-registry-packages-npm-production"}},"3.1.1-5dcdb01-202610011603.0":{"name":"@flowfuse/nr-launcher","version":"3.1.1-5dcdb01-202610011603.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@3.1.1-5dcdb01-202610011603.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"235e2702a663a8893ae8255f2eba9b0466932f54","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-3.1.1-5dcdb01-202610011603.0.tgz","fileCount":50,"integrity":"sha512-uXzVJzgtcMQ9MLPvSpilAKE8Iw/bqZFn5ta7AAM1A5PkQMM/lRI/PkuAeIz8FgpKR8CjYysdSL5JifjvsSAW8A==","signatures":[{"sig":"MEYCIQDfc2l0LCWUEX/aq8h8Y36sC/Rvn0b8kZ5cqVXI6SeXTgIhAOHmDMRceafWzjj7OcjBgptwZmIscTGFHThj0+C81uU+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIGhE1EhUn8tjC0YaeTGIjh8Q5pLusSs+e0sRgkoPNHKEAiB+VzbVAi+yxSOkB2kjlag776+ta3eGTOWwNW8NlM+rNA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":672632},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"5dcdb016942379d4ccd1e40f65e34823126dcd33","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.19.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.21.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.20.1-cf60165-202609291133.0","@flowfuse/nr-file-nodes":"0.0.11-c68daea-202609291133.0","@flowfuse/nr-mqtt-nodes":"0.4.2-f152b83-202609291134.0","@flowfuse/nr-tables-nodes":"0.3.2-4119a6b-202609291132.0","@flowfuse/nr-project-nodes":"0.7.10-791da65-202609291133.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^12.0.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"^3.1.0","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_3.1.1-5dcdb01-202610011603.0_1790871852417_0.48750861790899247","host":"s3://npm-registry-packages-npm-production"}},"3.1.1-13a3741-202610011558.0":{"name":"@flowfuse/nr-launcher","version":"3.1.1-13a3741-202610011558.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@3.1.1-13a3741-202610011558.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"752b32868633ee4e28433acff74821e97c938b45","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-3.1.1-13a3741-202610011558.0.tgz","fileCount":50,"integrity":"sha512-dxoxxl4bnjOhhyBFRagwM1Qvl5nsou/IqYv9G835Tel+Eek9cCKAYf14jIfnD//Z5vwxOdt7xs2k6lFhecxPKg==","signatures":[{"sig":"MEUCIFYO4AxXi0vDdnFleA+CGZveugePJtPlLQez+tDDYtxsAiEA5+eLu3WmevlgYBkpGMe/YKpZPdjD+eZWY5CpWdkHoj0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDZWVrRqqjM7dyXD5G8DMI1dDq20B2If1BR1Wi+pwFpSwIgesw76EecK0npW1BImgbz6x+mRfAoDIvqcvFTNKlZ830=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":672632},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"13a3741aaa0faca11e1a652d684fc5e971544aab","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.19.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.21.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.20.1-cf60165-202609291133.0","@flowfuse/nr-file-nodes":"0.0.11-c68daea-202609291133.0","@flowfuse/nr-mqtt-nodes":"0.4.2-f152b83-202609291134.0","@flowfuse/nr-tables-nodes":"0.3.2-4119a6b-202609291132.0","@flowfuse/nr-project-nodes":"0.7.10-791da65-202609291133.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^12.0.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"^3.1.0","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_3.1.1-13a3741-202610011558.0_1790871877669_0.5899838974192675","host":"s3://npm-registry-packages-npm-production"}},"3.1.1-6cf2879-202610011606.0":{"name":"@flowfuse/nr-launcher","version":"3.1.1-6cf2879-202610011606.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@3.1.1-6cf2879-202610011606.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"1e40922b14ea906acd9e42061c62f0e02823565d","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-3.1.1-6cf2879-202610011606.0.tgz","fileCount":50,"integrity":"sha512-uwQeclYEO3W9pEpC0lHCFumtsxdYqCA/bFZ0gZYGb9UBpXnKhVeePcBuunYy5o1GzHIncVQOHRVWvInLOPvVdQ==","signatures":[{"sig":"MEUCIHDmjNUoZaTiIfrp9nunQIonpBZjN3xHZYSQbF19RdXqAiEA69AXyUYmgN16db+6DQarnJXU44uDNgDQqutSrSVN7lo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQC9hMH8v4v1Ih8yoHe+/v3VmJL5h+9gJty5u5jcH+BKqwIhAOHE08J3oVIjG0yc8PpIVJjuzvaq6Cwv4qcAuelOkAKo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":672632},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"6cf287991a5ae6945561d923fff71c4d88b773db","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.19.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.21.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.20.1-cf60165-202609291133.0","@flowfuse/nr-file-nodes":"0.0.11-c68daea-202609291133.0","@flowfuse/nr-mqtt-nodes":"0.4.2-f152b83-202609291134.0","@flowfuse/nr-tables-nodes":"0.3.2-4119a6b-202609291132.0","@flowfuse/nr-project-nodes":"0.7.10-791da65-202609291133.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^12.0.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"^3.1.0","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_3.1.1-6cf2879-202610011606.0_1790871910595_0.06783710028537393","host":"s3://npm-registry-packages-npm-production"}},"3.1.1-6cf2879-202610011617.0":{"name":"@flowfuse/nr-launcher","version":"3.1.1-6cf2879-202610011617.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@3.1.1-6cf2879-202610011617.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"49c968bee752b76cc83d2f491ddf08d61b518146","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-3.1.1-6cf2879-202610011617.0.tgz","fileCount":50,"integrity":"sha512-VX6adXcRJWU028XA9+jAx6FTAuKyEXOzGndNl/mejY0xnBIOgxs5nWFKRbM1AAyNRZ3WVC4cJS3lOa394iDT9g==","signatures":[{"sig":"MEUCIQDPKxpzZbcxUbE1sYgCKPoX9pSdUPAq2GtxlMR5xFinDQIgGeYvLFr8rNfiD9PHS4fVQxfg8Q8kOf7wivkas1oYPME=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCID3hjjS7jq6o3kZ8a33Cdjcsw8bD9i2QTLTtg/OijeLiAiBvOdZQs48yQr1VCXrQ6n6sWE6yhOsb1VvOLVYkaUux8g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":672632},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"6cf287991a5ae6945561d923fff71c4d88b773db","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.19.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.21.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.20.1-5f1ab00-202610011552.0","@flowfuse/nr-file-nodes":"0.0.11-c68daea-202609291133.0","@flowfuse/nr-mqtt-nodes":"0.4.2-f152b83-202609291134.0","@flowfuse/nr-tables-nodes":"0.3.2-4119a6b-202609291132.0","@flowfuse/nr-project-nodes":"0.7.10-791da65-202609291133.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^12.0.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"^3.1.0","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_3.1.1-6cf2879-202610011617.0_1790872457893_0.3306647466160575","host":"s3://npm-registry-packages-npm-production"}},"3.1.1-ba573fb-202610011648.0":{"name":"@flowfuse/nr-launcher","version":"3.1.1-ba573fb-202610011648.0","keywords":["FlowFuse"],"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","_id":"@flowfuse/nr-launcher@3.1.1-ba573fb-202610011648.0","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"homepage":"https://github.com/FlowFuse/nr-launcher#readme","bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"dist":{"shasum":"019d11a681d12c5401fc10af44d9c21d50f198c8","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-3.1.1-ba573fb-202610011648.0.tgz","fileCount":50,"integrity":"sha512-9K8B/0VVQrqMtkvv7BnKMUKfKVgdH6ZGI0lTOCPQpF5hrWr2uDP1J/kDgJFOz2kT55kTdjx0b3RZSd0W/M3NwQ==","signatures":[{"sig":"MEUCIQCpwaOpmV/UcGo+ynKuLqeEulvu16/gn96aXlMn1KCgnwIgHxXairghA64lpRuyPrKMCgRXo2E5yj41MNKSa3HT1vg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIBCAe48lgeOJl6eIfQHY19TAD+PylW0NEgkdSiXPw1aoAiBdGe7Z2hVBxPWiYEO3nBl28DDhTfxZAE4fdi5xkQ9jcA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":672685},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"ba573fbd67238d5645a0a67d00e7ad7784ae3d3b","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"overrides":{"uuid@8":"11.1.1"},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.19.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"_nodeVersion":"24.21.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.20.1-5f1ab00-202610011552.0","@flowfuse/nr-file-nodes":"0.0.11-c68daea-202609291133.0","@flowfuse/nr-mqtt-nodes":"0.4.2-f152b83-202609291134.0","@flowfuse/nr-tables-nodes":"0.3.2-4119a6b-202609291132.0","@flowfuse/nr-project-nodes":"0.7.10-791da65-202609291133.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^12.0.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"^3.1.0","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"tmp":"tmp/nr-launcher_3.1.1-ba573fb-202610011648.0_1790873479281_0.08355648722635278","host":"s3://npm-registry-packages-npm-production"}},"3.1.1-933ab2b-202610011653.0":{"_id":"@flowfuse/nr-launcher@3.1.1-933ab2b-202610011653.0","bin":{"flowfuse-node-red":"index.js","flowforge-node-red":"index.js"},"bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"dist":{"shasum":"dcfba52dd912a6db7f5b967a8264e6b60c3b4024","tarball":"https://registry.npmjs.org/@flowfuse/nr-launcher/-/nr-launcher-3.1.1-933ab2b-202610011653.0.tgz","fileCount":50,"integrity":"sha512-r5mdJTT0kkhHp3CK10/JwCMX5c9uTb0XEbPIZbG8VLUFboh2y2G3h1JarnEvXptlCd3Ltq20VFKvQMMNv48o6w==","signatures":[{"sig":"MEUCIEs5GZcQO/g4xfkSZF3pf6UvJ3Dj+TADWmylHvBJ+xV8AiEA8m/XZq5SDn28Gf8n++o0lg725aCwrIP/2TIiECZ8vJo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDqrUAmmZvpp76zwixW/3N5Gnst8lVjdq2ndD/0mR2MwAIgJ38oHzxKDTdBsX0DAa5OhrpEmKEdrgj36aCuiRbUxtE="}],"unpackedSize":672721},"name":"@flowfuse/nr-launcher","author":{"name":"FlowFuse Inc."},"exports":{"./context":"./lib/context/index.js","./storage":"./lib/storage/index.js","./adminAuth":"./lib/auth/adminAuth.js","./auditLogger":"./lib/auditLogger/index.js","./metricsLogger":"./lib/metricsLogger/index.js","./authMiddleware":"./lib/auth/httpAuthMiddleware.js"},"gitHead":"933ab2b8fa7be23aff228639d6af3cf8c4547f7c","license":"Apache-2.0","scripts":{"lint":"eslint -c eslint.config.mjs","test":"mocha 'test/unit/**/*_spec.js'","lint:fix":"eslint -c eslint.config.mjs --fix","build-theme":"node lib/theme/scripts/build.js "},"version":"3.1.1-933ab2b-202610011653.0","_npmUser":{"name":"flowfuse-user","email":"nick@flowfuse.com"},"homepage":"https://github.com/FlowFuse/nr-launcher#readme","keywords":["FlowFuse"],"node-red":{"plugins":{"forge":"lib/theme/forge/forge.js","forge-dark":"lib/theme/forge-dark/forge-dark.js","forge-light":"lib/theme/forge-light/forge-light.js","flowfuse-auth":"lib/auth/httpAuthPlugin.js","flowfuse-common":"lib/theme/common/flowfuse-common.js","forge-resources":"lib/resources/resourcePlugin.js","flowfuse-library":"lib/storage/libraryPlugin.js","flowfuse-blueprint-library":"lib/storage/blueprintPlugin.js"}},"overrides":{"uuid@8":"11.1.1","moment@<2.31.0":"2.31.0"},"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"_npmVersion":"11.19.0","description":"FlowFuse Launcher for running Node-RED","directories":{},"maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"_nodeVersion":"24.21.0","dependencies":{"ws":"^8.7.0","got":"^11.8.6","bytes":"^3.1.2","oauth":"^0.9.15","multer":"^2.0.0","express":"^4.21.0","passport":"0.6.0","mnemonist":"0.40.3","express-ws":"^5.0.2","body-parser":"^1.20.2","memorystore":"^1.6.7","prom-client":"^15.0.0","express-session":"^1.18.0","passport-oauth2":"^1.6.1","command-line-args":"^5.2.1","json-stringify-safe":"5.0.1","@flowfuse/nr-assistant":"0.20.1-5f1ab00-202610011552.0","@flowfuse/nr-file-nodes":"0.0.11-c68daea-202609291133.0","@flowfuse/nr-mqtt-nodes":"0.4.2-f152b83-202609291134.0","@flowfuse/nr-tables-nodes":"0.3.2-4119a6b-202609291132.0","@flowfuse/nr-project-nodes":"0.7.10-791da65-202609291133.0","@flowfuse/nr-subflow-export":"^1.0.2","parse-prometheus-text-format":"^1.1.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"1.66.1","yaml":"^2.1.3","mocha":"^12.0.0","sinon":"^17.0.1","eslint":"^9.39.2","should":"^13.2.3","globals":"^16.5.0","@eslint/js":"^9.39.2","neostandard":"^0.13.0","@flowfuse/file-server":"^3.1.0","eslint-plugin-no-only-tests":"^3.3.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/nr-launcher_3.1.1-933ab2b-202610011653.0_1790873814911_0.48956260692611697"}}},"time":{"created":"2023-11-22T13:24:59.486Z","modified":"2026-10-01T16:56:55.259Z","1.13.3":"2023-11-22T13:24:59.861Z","1.13.4-cca7609-202311221351.0":"2023-11-22T13:51:49.524Z","1.13.4-cca7609-202311221358.0":"2023-11-22T13:58:39.658Z","1.13.4-cca7609-202311221508.0":"2023-11-22T15:08:30.342Z","1.13.4-cca7609-202311221658.0":"2023-11-22T16:58:35.179Z","1.13.4-4a71898-202311221717.0":"2023-11-22T17:17:12.351Z","1.13.4-4a71898-202311231106.0":"2023-11-23T11:06:23.068Z","1.13.4-4a71898-202311231108.0":"2023-11-23T11:08:57.392Z","1.13.4-131eaab-202311231112.0":"2023-11-23T11:12:30.163Z","1.14.1-f1b879d-202311231141.0":"2023-11-23T11:41:05.226Z","1.14.0":"2023-11-23T11:41:18.732Z","1.14.1-f1b879d-202312012119.0":"2023-12-01T21:19:13.988Z","1.15.0":"2023-12-21T13:29:53.377Z","1.15.1-1b93058-202312211330.0":"2023-12-21T13:30:06.093Z","1.15.1-5fb135d-202401101716.0":"2024-01-10T17:16:37.351Z","2.0.1-b167221-202401181021.0":"2024-01-18T10:21:22.748Z","2.0.0":"2024-01-18T10:21:54.622Z","2.0.1-84536b8-202401230954.0":"2024-01-23T09:54:30.588Z","2.0.2-493aff9-202401231350.0":"2024-01-23T13:51:01.709Z","2.0.1":"2024-01-23T14:00:09.047Z","2.0.2-2e86caf-202402071013.0":"2024-02-07T10:13:44.620Z","2.1.1-671ae76-202402151353.0":"2024-02-15T13:54:05.413Z","2.1.0":"2024-02-15T13:54:37.336Z","2.1.1-9177509-202402210912.0":"2024-02-21T09:12:35.725Z","2.1.1-9177509-202402210914.0":"2024-02-21T09:15:01.813Z","2.1.1-e48f900-202402271756.0":"2024-02-27T17:56:47.341Z","2.1.2-3739f00-202402281119.0":"2024-02-28T11:19:22.174Z","2.1.1":"2024-02-28T11:20:23.450Z","2.1.2-d51c68c-202403111507.0":"2024-03-11T15:07:32.245Z","2.1.2-6ff015e-202403131147.0":"2024-03-13T11:48:02.490Z","2.1.2-a15d6db-202403131205.0":"2024-03-13T12:05:48.689Z","2.2.0":"2024-03-14T13:25:49.125Z","2.2.1-5e18fa4-202403141325.0":"2024-03-14T13:26:02.973Z","2.2.1-5e18fa4-202403151659.0":"2024-03-15T16:59:13.248Z","2.2.1-5e18fa4-202403170753.0":"2024-03-17T07:53:26.337Z","2.2.1-8ddbd6f-202403191416.0":"2024-03-19T14:17:37.270Z","2.2.1-8ddbd6f-202403191728.0":"2024-03-19T17:28:49.117Z","2.2.1-8ddbd6f-202403191731.0":"2024-03-19T17:31:08.520Z","2.2.1-8ddbd6f-202403201006.0":"2024-03-20T10:06:16.468Z","2.2.2-18aed0e-202403201047.0":"2024-03-20T10:47:03.505Z","2.2.1":"2024-03-20T10:52:08.056Z","2.2.2-0731092-202403261049.0":"2024-03-26T10:49:57.067Z","2.2.2-c2d964c-202403301030.0":"2024-03-30T10:30:20.856Z","2.2.2-da98a6c-202404051250.0":"2024-04-05T12:50:35.073Z","2.2.3-d3429f1-202404051256.0":"2024-04-05T12:57:00.865Z","2.2.2":"2024-04-05T12:59:20.109Z","2.2.3-d3429f1-202404091252.0":"2024-04-09T12:52:06.303Z","2.3.1-8c7a5b8-202404110845.0":"2024-04-11T08:45:41.703Z","2.3.0":"2024-04-11T08:46:03.532Z","2.3.1-c545748-202404120925.0":"2024-04-12T09:25:51.341Z","2.3.1-6e36168-202404181140.0":"2024-04-18T11:41:00.904Z","2.3.1-279538d-202404181430.0":"2024-04-18T14:31:03.732Z","2.3.1-64d2704-202405011537.0":"2024-05-01T15:37:13.910Z","2.3.1-64d2704-202405021651.0":"2024-05-02T16:53:40.986Z","2.3.1-64d2704-202405030941.0":"2024-05-03T09:41:06.736Z","2.3.1-64d2704-202405031014.0":"2024-05-03T10:14:48.706Z","2.3.1-64d2704-202405031022.0":"2024-05-03T10:22:57.517Z","2.4.0":"2024-05-09T08:41:52.038Z","2.4.1-d1519b3-202405090841.0":"2024-05-09T08:42:00.491Z","2.4.1-d1519b3-202405240910.0":"2024-05-24T09:10:22.342Z","2.4.1-5d685d8-202405241315.0":"2024-05-24T13:15:39.388Z","2.4.1-9049358-202405241320.0":"2024-05-24T13:20:16.205Z","2.4.1-5852519-202405241605.0":"2024-05-24T16:05:37.370Z","2.4.1-e0f1ec8-202405241606.0":"2024-05-24T16:06:28.535Z","2.4.1-e0f1ec8-202405281103.0":"2024-05-28T11:03:39.927Z","2.4.1-e0f1ec8-202405281106.0":"2024-05-28T11:06:18.499Z","2.4.1-8236ce9-202406041311.0":"2024-06-04T13:11:39.812Z","2.4.1-8236ce9-202406041412.0":"2024-06-04T14:12:28.323Z","2.4.1-8236ce9-202406041414.0":"2024-06-04T14:14:12.663Z","2.4.1-8236ce9-202406041415.0":"2024-06-04T14:15:32.867Z","2.4.1-fdea052-202406041459.0":"2024-06-04T14:59:26.535Z","2.4.1-b566ffa-202406041511.0":"2024-06-04T15:11:23.745Z","2.5.0":"2024-06-06T09:29:16.087Z","2.5.1-5e16aa8-202406060929.0":"2024-06-06T09:29:20.593Z","2.5.1-5e16aa8-202406101202.0":"2024-06-10T12:02:47.368Z","2.5.1-5e16aa8-202406101510.0":"2024-06-10T15:10:38.136Z","2.5.1-476487d-202406111100.0":"2024-06-11T11:00:13.436Z","2.5.1-476487d-202406120903.0":"2024-06-12T09:03:38.865Z","2.5.1-476487d-202406120917.0":"2024-06-12T09:17:21.951Z","2.5.1-476487d-202406121023.0":"2024-06-12T10:23:58.716Z","2.5.1-5d73c7c-202406141027.0":"2024-06-14T10:27:21.675Z","2.5.2-a7caec4-202406141042.0":"2024-06-14T10:42:48.757Z","2.5.1":"2024-06-14T10:46:30.728Z","2.5.2-a7caec4-202406141121.0":"2024-06-14T11:21:26.837Z","2.5.2-a7caec4-202406141343.0":"2024-06-14T13:44:15.713Z","2.5.2-a7caec4-202406170822.0":"2024-06-17T08:23:03.415Z","2.5.2-fc3e12e-202406170825.0":"2024-06-17T08:25:45.750Z","2.5.2-5843274-202406170826.0":"2024-06-17T08:26:58.140Z","2.5.2-2f3c495-202407020855.0":"2024-07-02T08:55:23.694Z","2.5.2-41924f9-202407031215.0":"2024-07-03T12:15:41.565Z","2.5.2-b205186-202407031612.0":"2024-07-03T16:12:42.552Z","2.5.2-b205186-202407031619.0":"2024-07-03T16:19:38.621Z","2.5.2-b205186-202407040813.0":"2024-07-04T08:13:45.199Z","2.5.2-e666cd8-202407040813.0":"2024-07-04T08:13:45.484Z","2.5.2-a5ba57e-202407040907.0":"2024-07-04T09:07:26.304Z","2.6.1-09f7a02-202407041023.0":"2024-07-04T10:23:46.088Z","2.6.0":"2024-07-04T10:23:54.221Z","2.6.1-fb5956f-202407081350.0":"2024-07-08T13:50:49.797Z","2.6.1-fb5956f-202407081400.0":"2024-07-08T14:00:07.901Z","2.6.1-3c2ef20-202407081404.0":"2024-07-08T14:04:20.234Z","2.6.1-3c2ef20-202407081411.0":"2024-07-08T14:11:54.666Z","2.6.1-3c2ef20-202407081415.0":"2024-07-08T14:15:08.696Z","2.6.1-3c2ef20-202407081556.0":"2024-07-08T15:56:16.544Z","2.6.1-3c2ef20-202407091342.0":"2024-07-09T13:42:29.263Z","2.6.1-44d0b7e-202407091714.0":"2024-07-09T17:14:55.826Z","2.6.1-44d0b7e-202407101152.0":"2024-07-10T11:52:59.647Z","2.6.1-1c84d64-202407111405.0":"2024-07-11T14:05:56.294Z","2.6.1-f757df7-202407111425.0":"2024-07-11T14:25:09.526Z","2.6.1-f757df7-202407111429.0":"2024-07-11T14:29:46.940Z","2.6.1-08b4ad0-202407151012.0":"2024-07-15T10:12:27.391Z","2.6.1-08b4ad0-202407151013.0":"2024-07-15T10:13:40.515Z","2.6.1-08b4ad0-202407151303.0":"2024-07-15T13:03:22.154Z","2.6.1-08b4ad0-202407160720.0":"2024-07-16T07:20:12.177Z","2.6.1-08b4ad0-202407161044.0":"2024-07-16T10:44:05.377Z","2.6.1-08b4ad0-202407161309.0":"2024-07-16T13:09:41.111Z","2.6.1-08b4ad0-202407161340.0":"2024-07-16T13:40:44.813Z","2.6.1-08b4ad0-202407170855.0":"2024-07-17T08:55:16.098Z","2.6.1-08b4ad0-202407171312.0":"2024-07-17T13:12:16.105Z","2.6.1-d92228c-202407261025.0":"2024-07-26T10:25:47.593Z","2.6.1-865fa96-202407261158.0":"2024-07-26T11:58:39.817Z","2.6.1-865fa96-202408010829.0":"2024-08-01T08:29:17.209Z","2.6.1-086b7f8-202408010855.0":"2024-08-01T08:55:43.266Z","2.7.1-a1fcc4b-202408010913.0":"2024-08-01T09:13:18.468Z","2.7.0":"2024-08-01T09:13:44.049Z","2.7.1-eb9c703-202408051433.0":"2024-08-05T14:33:16.152Z","2.7.1-eb9c703-202408140931.0":"2024-08-14T09:31:59.181Z","2.7.1-eb9c703-202408140935.0":"2024-08-14T09:35:17.933Z","2.7.1-a97648a-202408230936.0":"2024-08-23T09:36:26.256Z","2.7.1-0c05f78-202408281639.0":"2024-08-28T16:39:44.830Z","2.7.1-0c05f78-202408290828.0":"2024-08-29T08:28:52.674Z","2.7.1-0c05f78-202408290830.0":"2024-08-29T08:30:46.064Z","2.7.1-d3425c8-202408290940.0":"2024-08-29T09:40:22.613Z","2.8.1-4e03127-202408290944.0":"2024-08-29T09:44:53.598Z","2.8.0":"2024-08-29T09:45:19.605Z","2.8.1-4e03127-202409021243.0":"2024-09-02T12:43:24.374Z","2.8.1-4e03127-202409021257.0":"2024-09-02T12:57:16.419Z","2.8.1-4e03127-202409021541.0":"2024-09-02T15:41:07.845Z","2.8.1-4e03127-202409021638.0":"2024-09-02T16:38:37.491Z","2.8.1-4e03127-202409021647.0":"2024-09-02T16:47:56.067Z","2.8.1-4e03127-202409021648.0":"2024-09-02T16:48:21.090Z","2.8.1-4e03127-202409021649.0":"2024-09-02T16:49:08.118Z","2.8.1-bef9854-202409021708.0":"2024-09-02T17:08:07.244Z","2.8.1-bef9854-202409091312.0":"2024-09-09T13:12:53.659Z","2.8.1-bef9854-202409091740.0":"2024-09-09T17:40:15.854Z","2.8.1-9b9a95d-202409100638.0":"2024-09-10T06:38:02.825Z","2.8.1-9b9a95d-202409110904.0":"2024-09-11T09:04:57.577Z","2.8.1-9b9a95d-202409160624.0":"2024-09-16T06:24:52.326Z","2.8.1-27ea96b-202409171251.0":"2024-09-17T12:51:37.271Z","2.8.1-27ea96b-202409181458.0":"2024-09-18T14:58:43.618Z","2.8.1-ad84321-202409191202.0":"2024-09-19T12:02:03.062Z","2.8.1-ad84321-202409211738.0":"2024-09-21T17:38:15.683Z","2.8.1-ad84321-202409230630.0":"2024-09-23T06:30:07.712Z","2.8.1-ad84321-202409231428.0":"2024-09-23T14:28:36.633Z","2.8.1-44eb2a4-202409231501.0":"2024-09-23T15:01:06.806Z","2.8.1-44eb2a4-202409231723.0":"2024-09-23T17:23:57.929Z","2.8.1-8810adc-202409231942.0":"2024-09-23T19:42:05.338Z","2.8.1-eba36e5-202409252052.0":"2024-09-25T20:52:22.032Z","2.8.1-eba36e5-202409252058.0":"2024-09-25T20:58:44.877Z","2.8.1-eba36e5-202409260625.0":"2024-09-26T06:25:25.679Z","2.9.1-a333efa-202409260916.0":"2024-09-26T09:16:14.081Z","2.9.0":"2024-09-26T09:20:11.505Z","2.9.1-a333efa-202409271300.0":"2024-09-27T13:01:00.173Z","2.9.1-09bdecb-202410031717.0":"2024-10-03T17:18:03.993Z","2.9.1-09bdecb-202410031936.0":"2024-10-03T19:36:27.803Z","2.8.1-eba36e5-202410032038.0":"2024-10-03T20:38:45.716Z","2.8.1-eba36e5-202410040846.0":"2024-10-04T08:46:12.557Z","2.9.1-cbc2aa1-202410072008.0":"2024-10-07T20:08:26.131Z","2.9.1-cbc2aa1-202410101246.0":"2024-10-10T12:46:44.136Z","2.9.1-cbc2aa1-202410101248.0":"2024-10-10T12:48:28.668Z","2.9.1-cbc2aa1-202410101251.0":"2024-10-10T12:51:13.929Z","2.9.1-cbc2aa1-202410101252.0":"2024-10-10T12:52:59.417Z","2.9.1-e0ce291-202410101254.0":"2024-10-10T12:54:52.814Z","2.9.1-e0ce291-202410101258.0":"2024-10-10T12:58:22.782Z","2.9.1-e0ce291-202410141524.0":"2024-10-14T15:24:30.180Z","2.9.1-e0ce291-202410210623.0":"2024-10-21T06:23:47.555Z","2.9.1-e0ce291-202410211153.0":"2024-10-21T11:53:13.069Z","2.9.1-432156e-202410220938.0":"2024-10-22T09:38:47.303Z","2.9.1-432156e-202410240852.0":"2024-10-24T08:52:45.859Z","2.9.1-8b37a65-202410240918.0":"2024-10-24T09:18:30.961Z","2.10.0":"2024-10-24T09:48:27.522Z","2.10.1-82e6311-202410240948.0":"2024-10-24T09:48:31.316Z","2.10.1-82e6311-202411041329.0":"2024-11-04T13:30:00.249Z","2.10.1-82e6311-202411041503.0":"2024-11-04T15:04:02.658Z","2.10.1-056b0ad-202411051035.0":"2024-11-05T10:35:16.728Z","2.10.1-fc0f674-202411201514.0":"2024-11-20T15:14:59.838Z","2.11.0":"2024-11-21T10:17:34.151Z","2.11.1-fb7f034-202411211017.0":"2024-11-21T10:17:42.846Z","2.8.1-eba36e5-202412041214.0":"2024-12-04T12:14:51.430Z","2.8.1-eba36e5-202412041306.0":"2024-12-04T13:06:52.255Z","2.8.1-eba36e5-202412041338.0":"2024-12-04T13:38:44.504Z","2.8.1-eba36e5-202412041754.0":"2024-12-04T17:54:56.651Z","2.8.1-eba36e5-202412041808.0":"2024-12-04T18:08:22.766Z","2.8.1-eba36e5-202412041838.0":"2024-12-04T18:38:29.341Z","2.8.1-eba36e5-202412051327.0":"2024-12-05T13:27:06.220Z","2.11.1-72b8105-202412051444.0":"2024-12-05T14:44:06.745Z","2.8.1-eba36e5-202412051531.0":"2024-12-05T15:31:16.416Z","2.8.1-eba36e5-202412051538.0":"2024-12-05T15:38:25.960Z","2.8.1-eba36e5-202412051735.0":"2024-12-05T17:35:54.785Z","2.8.1-eba36e5-202412051802.0":"2024-12-05T18:02:58.220Z","2.8.1-eba36e5-202412051848.0":"2024-12-05T18:48:04.309Z","2.8.1-eba36e5-202412061201.0":"2024-12-06T12:01:58.216Z","2.11.1-72b8105-202412091857.0":"2024-12-09T18:57:43.235Z","2.11.1-10980df-202412092125.0":"2024-12-09T21:26:05.705Z","2.11.1-c6e5d88-202412121104.0":"2024-12-12T11:04:54.708Z","2.11.1-31ab49b-202412121112.0":"2024-12-12T11:12:52.585Z","2.11.1-4bbf9cd-202412131015.0":"2024-12-13T10:15:57.448Z","2.11.1-4bbf9cd-202412161052.0":"2024-12-16T10:52:42.053Z","2.11.1-c3a1b52-202412161706.0":"2024-12-16T17:07:03.799Z","2.11.1-4bacf40-202412181407.0":"2024-12-18T14:07:26.965Z","2.11.1-9e1d5ff-202412181739.0":"2024-12-18T17:40:05.169Z","2.11.1-9e1d5ff-202412191019.0":"2024-12-19T10:20:00.479Z","2.11.1-eb0c577-202412191024.0":"2024-12-19T10:24:57.527Z","2.12.0":"2024-12-19T10:26:53.061Z","2.12.1-b590868-202412191026.0":"2024-12-19T10:27:03.527Z","2.12.1-b590868-202501021116.0":"2025-01-02T11:16:46.472Z","2.12.1-b590868-202501021203.0":"2025-01-02T12:03:07.646Z","2.12.1-b590868-202501021228.0":"2025-01-02T12:28:47.029Z","2.12.1-dc5fec7-202501022046.0":"2025-01-02T20:46:04.914Z","2.12.1-dc5fec7-202501022059.0":"2025-01-02T20:59:08.722Z","2.12.1-b590868-202501022109.0":"2025-01-02T21:09:50.246Z","2.12.1-b590868-202501022118.0":"2025-01-02T21:18:38.054Z","2.12.1-b590868-202501031009.0":"2025-01-03T10:10:02.255Z","2.12.1-dc5fec7-202501031020.0":"2025-01-03T10:21:03.940Z","2.12.1-b590868-202501081844.0":"2025-01-08T18:44:22.046Z","2.12.1-b590868-202501081951.0":"2025-01-08T19:51:34.758Z","2.12.1-b590868-202501082036.0":"2025-01-08T20:36:13.828Z","2.12.1-b590868-202501082042.0":"2025-01-08T20:42:45.758Z","2.12.1-b590868-202501082055.0":"2025-01-08T20:55:30.975Z","2.12.1-b590868-202501101506.0":"2025-01-10T15:06:59.784Z","2.13.1-37cb723-202501161010.0":"2025-01-16T10:10:54.650Z","2.13.0":"2025-01-16T10:11:09.684Z","2.13.1-ddcf488-202502121639.0":"2025-02-12T16:39:24.308Z","2.14.1-d724ae4-202502131018.0":"2025-02-13T10:18:50.058Z","2.14.0":"2025-02-13T10:18:59.608Z","2.14.1-3b93b2c-202502140941.0":"2025-02-14T09:41:21.604Z","2.14.1-92f852a-202502141631.0":"2025-02-14T16:32:03.768Z","2.14.2-9b7518b-202502170954.0":"2025-02-17T09:54:59.495Z","2.14.1":"2025-02-17T09:55:22.454Z","2.14.2-9b7518b-202502181639.0":"2025-02-18T16:39:44.713Z","2.14.2-9b7518b-202502200858.0":"2025-02-20T08:58:34.384Z","2.14.2-53fd496-202503051813.0":"2025-03-05T18:13:16.497Z","2.15.1-48a41d3-202503131046.0":"2025-03-13T10:46:11.376Z","2.15.0":"2025-03-13T10:46:15.185Z","2.15.1-48a41d3-202503250945.0":"2025-03-25T09:45:52.192Z","2.15.1-48a41d3-202503251001.0":"2025-03-25T10:01:35.692Z","2.15.1-48a41d3-202503251009.0":"2025-03-25T10:09:23.188Z","2.15.1-036d714-202503251009.0":"2025-03-25T10:09:59.503Z","2.15.1-036d714-202503251613.0":"2025-03-25T16:13:10.819Z","2.15.1-036d714-202503251614.0":"2025-03-25T16:14:34.448Z","2.15.1-0e7e2a6-202504011636.0":"2025-04-01T16:36:49.112Z","2.15.1-944d84b-202504021310.0":"2025-04-02T13:10:23.591Z","2.15.1-944d84b-202504040810.0":"2025-04-04T08:10:19.364Z","2.15.1-944d84b-202504041532.0":"2025-04-04T15:32:16.918Z","2.15.1-9ba80c1-202504081440.0":"2025-04-08T14:40:13.854Z","2.16.0":"2025-04-10T09:13:40.126Z","2.16.1-65c3522-202504100913.0":"2025-04-10T09:13:45.440Z","2.16.1-65c3522-202504140624.0":"2025-04-14T06:24:27.413Z","2.16.1-65c3522-202504141227.0":"2025-04-14T12:28:00.010Z","2.16.1-65c3522-202504141657.0":"2025-04-14T16:57:08.030Z","2.16.1-c4da47b-202504150617.0":"2025-04-15T06:17:44.344Z","2.16.1-e5e5139-202504301540.0":"2025-04-30T15:40:48.641Z","2.16.1-e5e5139-202505051644.0":"2025-05-05T16:45:00.467Z","2.17.0":"2025-05-08T09:35:16.478Z","2.17.1-3e29caa-202505141115.0":"2025-05-14T11:15:54.079Z","2.17.1-3e29caa-202505141124.0":"2025-05-14T11:24:32.900Z","2.17.1-3e29caa-202505141240.0":"2025-05-14T12:40:51.602Z","2.17.1-3e29caa-202505141403.0":"2025-05-14T14:03:58.939Z","2.17.1-e862c84-202505271335.0":"2025-05-27T13:36:03.269Z","2.17.1-0a0b6ca-202505291600.0":"2025-05-29T16:00:24.376Z","2.17.1-281fc44-202505301314.0":"2025-05-30T13:14:43.816Z","2.17.1-fcd8951-202506050902.0":"2025-06-05T09:02:55.456Z","2.17.1-50ce18e-202506051025.0":"2025-06-05T10:25:40.178Z","2.18.0":"2025-06-05T10:39:47.330Z","2.18.1-ddffe27-202506051039.0":"2025-06-05T10:39:57.271Z","2.18.1-ddffe27-202506061020.0":"2025-06-06T10:20:50.276Z","2.18.1-ddffe27-202506061022.0":"2025-06-06T10:23:11.226Z","2.18.1-ddffe27-202506061023.0":"2025-06-06T10:24:00.553Z","2.18.1-ddffe27-202506111911.0":"2025-06-11T19:11:27.994Z","2.18.1-ddffe27-202506111916.0":"2025-06-11T19:16:52.434Z","2.18.1-ddffe27-202506121248.0":"2025-06-12T12:49:02.148Z","2.18.1-ddffe27-202506121513.0":"2025-06-12T15:14:03.129Z","2.18.1-ddffe27-202506121536.0":"2025-06-12T15:36:12.160Z","2.18.1-ddffe27-202506131430.0":"2025-06-13T14:30:46.573Z","2.18.1-ddffe27-202506131700.0":"2025-06-13T17:00:55.713Z","2.18.1-ddffe27-202506131704.0":"2025-06-13T17:04:48.549Z","2.18.1-ddffe27-202506171456.0":"2025-06-17T14:56:30.495Z","2.18.1-ddffe27-202506180949.0":"2025-06-18T09:49:42.875Z","2.18.1-ddffe27-202506241235.0":"2025-06-24T12:36:05.477Z","2.18.1-5a67a91-202506251400.0":"2025-06-25T14:00:25.411Z","2.18.1-5a67a91-202506271715.0":"2025-06-27T17:15:48.084Z","2.18.1-5a67a91-202506300805.0":"2025-06-30T08:05:29.980Z","2.18.1-5a67a91-202506301632.0":"2025-06-30T16:32:11.900Z","2.18.1-5a67a91-202506301749.0":"2025-06-30T17:49:24.057Z","2.18.1-69e9fe4-202507011822.0":"2025-07-01T18:22:16.309Z","2.18.1-a601b96-202507021405.0":"2025-07-02T14:05:56.793Z","2.18.1-3516120-202507030845.0":"2025-07-03T08:45:46.936Z","2.18.1-7337182-202507030905.0":"2025-07-03T09:05:39.268Z","2.19.0":"2025-07-03T09:26:58.293Z","2.19.1-4eb7794-202507030927.0":"2025-07-03T09:27:08.416Z","2.19.1-4eb7794-202507071026.0":"2025-07-07T10:26:43.030Z","2.19.1-4eb7794-202507071158.0":"2025-07-07T11:59:03.447Z","2.19.1-4eb7794-202507071744.0":"2025-07-07T17:44:43.584Z","2.19.1-4eb7794-202507160926.0":"2025-07-16T09:26:07.082Z","2.19.1-82953c5-202507171229.0":"2025-07-17T12:30:06.203Z","2.19.1-4832e24-202507181013.0":"2025-07-18T10:13:26.201Z","2.19.1-b1c5db7-202507181016.0":"2025-07-18T10:16:30.365Z","2.19.2-0fdb7aa-202507221405.0":"2025-07-22T14:05:53.424Z","2.19.1":"2025-07-22T14:05:58.246Z","2.19.2-0fdb7aa-202507240836.0":"2025-07-24T08:36:07.801Z","2.19.2-6bf0827-202507300858.0":"2025-07-30T08:58:28.479Z","2.19.2-63af933-202507300928.0":"2025-07-30T09:28:35.815Z","2.19.2-bc7207b-202507301023.0":"2025-07-30T10:23:21.000Z","2.19.2-bc7207b-202507301241.0":"2025-07-30T12:42:05.831Z","2.19.2-584542b-202507301512.0":"2025-07-30T15:12:27.709Z","2.19.2-23238d8-202507301542.0":"2025-07-30T15:42:16.085Z","2.19.2-23238d8-202507301552.0":"2025-07-30T15:52:50.645Z","2.19.2-23238d8-202507310847.0":"2025-07-31T08:47:18.257Z","2.19.2-d2ea289-202507310850.0":"2025-07-31T08:50:53.239Z","2.20.1-04225a2-202507310919.0":"2025-07-31T09:19:43.201Z","2.20.0":"2025-07-31T09:19:57.662Z","2.20.1-04225a2-202507311230.0":"2025-07-31T12:30:08.793Z","2.20.1-04225a2-202507311233.0":"2025-07-31T12:33:55.638Z","2.20.1-8cdf7d4-202508011331.0":"2025-08-01T13:31:11.345Z","2.20.1-0e12655-202508070738.0":"2025-08-07T07:38:44.022Z","2.20.1-0e12655-202508111008.0":"2025-08-11T10:08:46.322Z","2.20.1-7a494ed-202508120844.0":"2025-08-12T08:44:57.186Z","2.20.1-c835553-202508120847.0":"2025-08-12T08:48:06.822Z","2.20.1-c835553-202508120849.0":"2025-08-12T08:49:05.286Z","2.20.1-61f2396-202508121034.0":"2025-08-12T10:35:12.622Z","2.20.1-f15bf37-202508130847.0":"2025-08-13T08:47:36.915Z","2.20.1-f15bf37-202508131027.0":"2025-08-13T10:27:23.574Z","2.20.1-25c598d-202508180707.0":"2025-08-18T07:08:04.632Z","2.20.1-25c598d-202508180710.0":"2025-08-18T07:10:19.127Z","2.20.1-25c598d-202508180832.0":"2025-08-18T08:33:02.953Z","2.20.1-25c598d-202508180853.0":"2025-08-18T08:53:53.043Z","2.20.1-b7a2a7e-202508180933.0":"2025-08-18T09:33:57.983Z","2.20.1-b7a2a7e-202508180948.0":"2025-08-18T09:49:07.933Z","2.20.1-b7a2a7e-202508190630.0":"2025-08-19T06:30:46.881Z","2.20.1-b7a2a7e-202508190631.0":"2025-08-19T06:31:06.796Z","2.20.1-46f9b29-202508260940.0":"2025-08-26T09:42:17.959Z","2.20.1-46f9b29-202508261332.0":"2025-08-26T13:33:02.786Z","2.20.1-3939ee7-202508270928.0":"2025-08-27T09:29:08.747Z","2.20.1-3939ee7-202508280849.0":"2025-08-28T08:49:48.708Z","2.20.1-a5570ad-202508280914.0":"2025-08-28T09:14:39.038Z","2.21.1-9ff1a77-202508280927.0":"2025-08-28T09:27:49.910Z","2.21.0":"2025-08-28T09:28:31.221Z","2.21.1-9ff1a77-202508281120.0":"2025-08-28T11:20:19.646Z","2.21.1-83fc582-202508281143.0":"2025-08-28T11:43:56.465Z","2.21.2-e413d51-202508281155.0":"2025-08-28T11:55:56.132Z","2.21.1":"2025-08-28T11:56:06.094Z","2.21.2-2953494-202509010916.0":"2025-09-01T09:16:57.770Z","2.21.2-2953494-202509041430.0":"2025-09-04T14:30:43.723Z","2.21.2-2953494-202509051330.0":"2025-09-05T13:30:42.681Z","2.21.2-2953494-202509051341.0":"2025-09-05T13:41:23.251Z","2.21.2-2953494-202509080756.0":"2025-09-08T07:57:04.201Z","2.21.2-2953494-202509081321.0":"2025-09-08T13:22:02.994Z","2.21.2-2953494-202509081838.0":"2025-09-08T18:38:37.576Z","2.21.2-0fb91a3-202509082048.0":"2025-09-08T20:49:12.218Z","2.21.2-2045b7a-202509091732.0":"2025-09-09T17:33:04.393Z","2.21.2":"2025-09-10T08:30:56.340Z","2.21.3-0ed8e8e-202509100830.0":"2025-09-10T08:31:01.720Z","2.21.3-0ed8e8e-202509150739.0":"2025-09-15T07:39:54.109Z","2.21.3-0ed8e8e-202509151341.0":"2025-09-15T13:41:36.513Z","2.21.3-68908e9-202509160527.0":"2025-09-16T05:28:08.691Z","2.21.3-b6b69a5-202509160939.0":"2025-09-16T09:39:52.796Z","2.21.3-c479fcc-202509161022.0":"2025-09-16T10:23:02.183Z","2.21.3-c479fcc-202509220522.0":"2025-09-22T05:22:15.544Z","2.21.3-c479fcc-202509221215.0":"2025-09-22T12:16:23.533Z","2.21.3-c479fcc-202509221417.0":"2025-09-22T14:18:08.306Z","2.21.3-614c862-202509230519.0":"2025-09-23T05:19:45.771Z","2.21.3-0e47128-202509250928.0":"2025-09-25T09:29:04.328Z","2.22.1-f5d7050-202509250947.0":"2025-09-25T09:47:26.649Z","2.22.0":"2025-09-25T09:47:52.169Z","2.22.1-f5d7050-202509290620.0":"2025-09-29T06:21:02.675Z","2.22.1-622de46-202509291346.0":"2025-09-29T13:46:37.686Z","2.22.1-622de46-202509291722.0":"2025-09-29T17:23:00.424Z","2.22.1-622de46-202509291723.0":"2025-09-29T17:23:16.782Z","2.22.1-b9d3fbb-202509300816.0":"2025-09-30T08:16:57.897Z","2.22.1":"2025-10-14T12:14:52.771Z","2.22.2-9e7224a-202510141214.0":"2025-10-14T12:15:00.190Z","2.22.2-9e7224a-202510200728.0":"2025-10-20T07:28:48.391Z","2.22.2-9e7224a-202510201317.0":"2025-10-20T13:17:37.775Z","2.22.2-18a4111-202510211104.0":"2025-10-21T11:04:35.137Z","2.22.2-18a4111-202510211105.0":"2025-10-21T11:05:23.020Z","2.22.2-18a4111-202510221043.0":"2025-10-22T10:43:34.730Z","2.22.2-18a4111-202510221120.0":"2025-10-22T11:20:22.962Z","2.22.2-18a4111-202510221546.0":"2025-10-22T15:46:35.831Z","2.22.2-18a4111-202510221646.0":"2025-10-22T16:46:41.324Z","2.22.2-18a4111-202510230816.0":"2025-10-23T08:16:38.124Z","2.22.2-18a4111-202510230926.0":"2025-10-23T09:27:14.470Z","2.22.2-18a4111-202510230931.0":"2025-10-23T09:31:48.501Z","2.22.2-a144d37-202510230933.0":"2025-10-23T09:33:34.070Z","2.23.1-f9447f5-202510230939.0":"2025-10-23T09:39:51.664Z","2.23.0":"2025-10-23T09:40:53.955Z","2.23.1-f9447f5-202510270718.0":"2025-10-27T07:19:11.418Z","2.23.1":"2025-10-27T10:32:05.936Z","2.23.2-94fe1db-202510271031.0":"2025-10-27T10:32:09.462Z","2.23.2-94fe1db-202510271325.0":"2025-10-27T13:25:26.455Z","2.23.2-94fe1db-202510271908.0":"2025-10-27T19:08:38.791Z","2.23.2-e040092-202510280700.0":"2025-10-28T07:00:23.647Z","2.23.2-b18c3c1-202510281643.0":"2025-10-28T16:43:10.185Z","2.23.2-b18c3c1-202510311500.0":"2025-10-31T15:00:38.912Z","2.23.2-b18c3c1-202510311558.0":"2025-10-31T15:59:01.797Z","2.23.2-b18c3c1-202511051641.0":"2025-11-05T16:41:19.847Z","2.23.2-b18c3c1-202511051717.0":"2025-11-05T17:17:23.739Z","2.23.2-ee4d365-202511170923.0":"2025-11-17T09:23:26.728Z","2.23.2-ee4d365-202511170926.0":"2025-11-17T09:26:54.073Z","2.23.2-1d9cc21-202511180858.0":"2025-11-18T08:58:40.191Z","2.23.2-c04c8ba-202511181108.0":"2025-11-18T11:08:18.576Z","2.23.2-c04c8ba-202511181127.0":"2025-11-18T11:27:36.281Z","2.23.2-c04c8ba-202511181317.0":"2025-11-18T13:17:51.012Z","2.23.2-c04c8ba-202511181722.0":"2025-11-18T17:22:21.697Z","2.23.2-c04c8ba-202511181737.0":"2025-11-18T17:37:24.332Z","2.23.2-c04c8ba-202511181828.0":"2025-11-18T18:28:27.270Z","2.23.2-c04c8ba-202511181927.0":"2025-11-18T19:28:00.411Z","2.23.2-c04c8ba-202511191025.0":"2025-11-19T10:25:38.998Z","2.23.2-374c15f-202511191114.0":"2025-11-19T11:14:59.435Z","2.23.2-c04c8ba-202511191119.0":"2025-11-19T11:19:18.151Z","2.23.2-685bfa0-202511201023.0":"2025-11-20T10:23:34.257Z","2.24.0":"2025-11-20T10:42:10.844Z","2.24.1-fbe9ae3-202511201042.0":"2025-11-20T10:42:23.709Z","2.24.2-a746e88-202511211430.0":"2025-11-21T14:30:22.858Z","2.24.1":"2025-11-21T14:30:25.256Z","2.24.2-a746e88-202511240927.0":"2025-11-24T09:27:45.196Z","2.24.2-a746e88-202511240932.0":"2025-11-24T09:32:42.145Z","2.24.2-a746e88-202511241303.0":"2025-11-24T13:03:50.444Z","2.24.2-a746e88-202511241635.0":"2025-11-24T16:35:57.452Z","2.24.2-d5d1f6a-202511242052.0":"2025-11-24T20:52:26.948Z","2.24.2":"2025-11-26T10:53:42.541Z","2.24.3-37bf244-202511261053.0":"2025-11-26T10:53:47.589Z","2.24.3":"2025-11-28T13:23:53.947Z","2.24.4-54d6778-202511281323.0":"2025-11-28T13:24:04.980Z","2.24.4-54d6778-202511281457.0":"2025-11-28T14:58:07.228Z","2.24.4-54d6778-202511281500.0":"2025-11-28T15:01:00.927Z","2.24.4-54d6778-202511281501.0":"2025-11-28T15:01:44.243Z","2.24.4-54d6778-202511281503.0":"2025-11-28T15:03:26.251Z","2.24.4-54d6778-202511281504.0":"2025-11-28T15:04:43.613Z","2.24.4-54d6778-202511281507.0":"2025-11-28T15:07:42.451Z","2.24.4":"2025-12-01T11:19:06.662Z","2.24.5-fe3b485-202512011118.0":"2025-12-01T11:19:12.993Z","2.24.5-01ebe41-202512021000.0":"2025-12-02T10:01:02.291Z","2.24.5-01ebe41-202512021005.0":"2025-12-02T10:05:14.343Z","2.24.5-01ebe41-202512021007.0":"2025-12-02T10:07:17.428Z","2.24.5-01ebe41-202512021105.0":"2025-12-02T11:05:49.886Z","2.24.5-01ebe41-202512021109.0":"2025-12-02T11:09:44.891Z","2.24.5-01ebe41-202512021113.0":"2025-12-02T11:13:37.126Z","2.24.5-01ebe41-202512021114.0":"2025-12-02T11:14:30.423Z","2.24.5-f6f2f13-202512031033.0":"2025-12-03T10:33:32.483Z","2.24.5-f6f2f13-202512031035.0":"2025-12-03T10:35:54.127Z","2.24.5-bc998b6-202512041110.0":"2025-12-04T11:10:51.748Z","2.24.5-bc998b6-202512041354.0":"2025-12-04T13:54:43.526Z","2.24.5-bc998b6-202512080750.0":"2025-12-08T07:50:58.212Z","2.24.5-bc998b6-202512080752.0":"2025-12-08T07:52:25.593Z","2.24.5-bc998b6-202512081148.0":"2025-12-08T11:48:23.749Z","2.24.5-bc998b6-202512081149.0":"2025-12-08T11:49:13.543Z","2.24.5-bc998b6-202512081218.0":"2025-12-08T12:18:59.430Z","2.24.5-bc998b6-202512081222.0":"2025-12-08T12:22:33.470Z","2.24.5-bc998b6-202512081419.0":"2025-12-08T14:19:57.864Z","2.24.5-bc998b6-202512081421.0":"2025-12-08T14:21:31.956Z","2.24.5-316d27e-202512082047.0":"2025-12-08T20:47:11.143Z","2.24.5-68d286f-202512082049.0":"2025-12-08T20:49:19.026Z","2.24.5-0dd1b86-202512091014.0":"2025-12-09T10:14:30.495Z","2.24.5":"2025-12-09T11:36:03.546Z","2.24.6-486a5d3-202512091136.0":"2025-12-09T11:36:20.242Z","2.24.6-486a5d3-202512091447.0":"2025-12-09T14:48:10.750Z","2.24.6-486a5d3-202512091640.0":"2025-12-09T16:40:46.669Z","2.24.6-486a5d3-202512091720.0":"2025-12-09T17:20:11.284Z","2.24.6-486a5d3-202512091727.0":"2025-12-09T17:28:00.789Z","2.24.6-486a5d3-202512101557.0":"2025-12-10T15:57:22.461Z","2.24.6-486a5d3-202512150752.0":"2025-12-15T07:52:21.739Z","2.24.6-486a5d3-202512151054.0":"2025-12-15T10:54:54.458Z","2.24.6-486a5d3-202512151254.0":"2025-12-15T12:54:30.186Z","2.24.6-486a5d3-202512151255.0":"2025-12-15T12:55:11.984Z","2.24.6-486a5d3-202512151612.0":"2025-12-15T16:12:30.341Z","2.24.6-7529a19-202512160905.0":"2025-12-16T09:05:40.241Z","2.24.6-7529a19-202512181007.0":"2025-12-18T10:07:19.780Z","2.24.6-7529a19-202512181014.0":"2025-12-18T10:14:10.921Z","2.24.6-1d62a6d-202512181034.0":"2025-12-18T10:34:42.631Z","2.24.6-45e3836-202512181051.0":"2025-12-18T10:51:45.077Z","2.25.1-69815db-202512181053.0":"2025-12-18T10:53:36.022Z","2.25.0":"2025-12-18T10:59:50.499Z","2.25.1-69815db-202512191113.0":"2025-12-19T11:13:31.945Z","2.25.1-69815db-202512220911.0":"2025-12-22T09:11:54.393Z","2.25.1-69815db-202512221600.0":"2025-12-22T16:00:22.790Z","2.25.1-69815db-202512221835.0":"2025-12-22T18:35:35.869Z","2.25.1-d54c8ad-202512231013.0":"2025-12-23T10:13:52.692Z","2.25.1-53a6f2f-202512231014.0":"2025-12-23T10:14:10.809Z","2.25.1-53a6f2f-202512231018.0":"2025-12-23T10:18:06.719Z","2.25.1-ee35e1b-202512301715.0":"2025-12-30T17:16:10.496Z","2.25.1-ee35e1b-202512301831.0":"2025-12-30T18:31:43.556Z","2.25.1-ee35e1b-202601011949.0":"2026-01-01T19:49:24.927Z","2.25.1-ee35e1b-202601050930.0":"2026-01-05T09:31:00.084Z","2.25.1-ee35e1b-202601051110.0":"2026-01-05T11:10:54.093Z","2.25.1-ee35e1b-202601051113.0":"2026-01-05T11:14:08.425Z","2.25.1-ee35e1b-202601051153.0":"2026-01-05T11:53:34.482Z","2.25.1-6ae36ca-202601051155.0":"2026-01-05T11:55:35.907Z","2.25.1-6ae36ca-202601051212.0":"2026-01-05T12:12:29.904Z","2.25.1-6ae36ca-202601051310.0":"2026-01-05T13:11:03.956Z","2.25.1-6ae36ca-202601060959.0":"2026-01-06T09:59:46.383Z","2.25.1-6ae36ca-202601061000.0":"2026-01-06T10:00:09.621Z","2.25.1-6ae36ca-202601061001.0":"2026-01-06T10:01:43.395Z","2.25.1-6ae36ca-202601120754.0":"2026-01-12T07:55:09.937Z","2.25.1-6ae36ca-202601121520.0":"2026-01-12T15:20:25.981Z","2.25.1-6ae36ca-202601130748.0":"2026-01-13T07:48:10.717Z","2.25.1-2fd27ee-202601130750.0":"2026-01-13T07:50:23.935Z","2.25.1-2fd27ee-202601141111.0":"2026-01-14T11:11:42.386Z","2.25.1-2fd27ee-202601141125.0":"2026-01-14T11:26:09.927Z","2.25.1-2fd27ee-202601141231.0":"2026-01-14T12:31:54.111Z","2.25.1-2fd27ee-202601141504.0":"2026-01-14T15:04:37.688Z","2.25.1-2fd27ee-202601141513.0":"2026-01-14T15:13:53.548Z","2.25.1-2fd27ee-202601141536.0":"2026-01-14T15:36:47.028Z","2.25.1-2fd27ee-202601150952.0":"2026-01-15T09:52:44.723Z","2.25.1-0a3ba85-202601151038.0":"2026-01-15T10:38:47.561Z","2.26.1-014ba92-202601151043.0":"2026-01-15T10:44:01.888Z","2.26.0":"2026-01-15T10:46:57.460Z","2.26.1-014ba92-202601190653.0":"2026-01-19T06:53:24.576Z","2.26.1-014ba92-202601190654.0":"2026-01-19T06:54:52.738Z","2.26.1-014ba92-202601191434.0":"2026-01-19T14:34:28.060Z","2.26.1-014ba92-202601192005.0":"2026-01-19T20:05:32.378Z","2.26.1-014ba92-202601200803.0":"2026-01-20T08:03:57.899Z","2.26.1-e7239e0-202601200804.0":"2026-01-20T08:04:31.317Z","2.26.1-8078ad1-202601200804.0":"2026-01-20T08:04:52.539Z","2.26.1-8078ad1-202601200805.0":"2026-01-20T08:05:13.350Z","2.26.1-8078ad1-202601221338.0":"2026-01-22T13:38:23.600Z","2.26.1-be44012-202601221339.0":"2026-01-22T13:39:36.658Z","2.26.1-be44012-202601221340.0":"2026-01-22T13:40:10.709Z","2.26.1-be44012-202601230816.0":"2026-01-23T08:16:49.610Z","2.26.1-be44012-202601241142.0":"2026-01-24T11:42:19.345Z","2.26.1-be44012-202601260750.0":"2026-01-26T07:50:27.698Z","2.26.1-be44012-202601260751.0":"2026-01-26T07:51:27.782Z","2.26.1-be44012-202601260752.0":"2026-01-26T07:52:58.428Z","2.26.1-be44012-202601261059.0":"2026-01-26T10:59:13.903Z","2.26.1-be44012-202601261101.0":"2026-01-26T11:01:40.429Z","2.26.1-be44012-202601261103.0":"2026-01-26T11:03:42.895Z","2.26.1-7de0415-202601261118.0":"2026-01-26T11:18:21.844Z","2.26.1-7de0415-202601261136.0":"2026-01-26T11:36:44.138Z","2.26.1-af4a9bc-202601261146.0":"2026-01-26T11:46:20.793Z","2.26.1-af4a9bc-202601261154.0":"2026-01-26T11:54:29.942Z","2.26.1-af4a9bc-202601261157.0":"2026-01-26T11:57:55.241Z","2.26.1-af4a9bc-202601261158.0":"2026-01-26T11:58:28.583Z","2.26.1-af4a9bc-202601261321.0":"2026-01-26T13:21:48.225Z","2.26.1-af4a9bc-202601261323.0":"2026-01-26T13:23:46.217Z","2.26.1-af4a9bc-202601261626.0":"2026-01-26T16:26:38.822Z","2.26.1-af4a9bc-202601261627.0":"2026-01-26T16:27:19.436Z","2.26.1-af4a9bc-202601261640.0":"2026-01-26T16:40:28.758Z","2.26.1-b1cf834-202601270828.0":"2026-01-27T08:28:58.004Z","2.26.1-b1cf834-202601271125.0":"2026-01-27T11:25:26.531Z","2.26.1-07f1141-202601271205.0":"2026-01-27T12:05:49.505Z","2.26.2-d1b6738-202601271459.0":"2026-01-27T14:59:07.978Z","2.26.1":"2026-01-27T15:00:35.263Z","2.26.2-a78254b-202601271714.0":"2026-01-27T17:14:21.441Z","2.26.2-a78254b-202601280957.0":"2026-01-28T09:57:10.945Z","2.26.2-3b1a466-202601282124.0":"2026-01-28T21:25:08.398Z","2.26.2-c4d6715-202601282125.0":"2026-01-28T21:25:22.386Z","2.26.2-c4d6715-202601301150.0":"2026-01-30T11:50:44.940Z","2.26.2-c4d6715-202601301151.0":"2026-01-30T11:51:14.665Z","2.26.2-c4d6715-202601301223.0":"2026-01-30T12:24:04.438Z","2.26.2-c4d6715-202602021409.0":"2026-02-02T14:09:29.808Z","2.26.2":"2026-02-03T10:26:27.654Z","2.26.3-37c9365-202602031411.0":"2026-02-03T14:11:27.705Z","2.26.3-7b713e2-202602050944.0":"2026-02-05T09:44:45.926Z","2.26.3-ed3f6a5-202602051506.0":"2026-02-05T15:06:40.753Z","2.26.3-ed3f6a5-202602090639.0":"2026-02-09T06:39:35.117Z","2.26.3-ed3f6a5-202602091806.0":"2026-02-09T18:06:14.679Z","2.26.3-ed3f6a5-202602091807.0":"2026-02-09T18:08:04.807Z","2.26.3-ed3f6a5-202602091815.0":"2026-02-09T18:15:23.849Z","2.26.3-645d390-202602100624.0":"2026-02-10T06:25:04.085Z","2.26.3-4f4c865-202602100625.0":"2026-02-10T06:25:36.598Z","2.26.3-4f86cfb-202602100653.0":"2026-02-10T06:53:39.244Z","2.26.3-4f86cfb-202602100656.0":"2026-02-10T06:56:14.108Z","2.26.3-4f86cfb-202602100658.0":"2026-02-10T06:58:20.163Z","2.26.3-4f86cfb-202602101631.0":"2026-02-10T16:32:01.952Z","2.26.3-4f86cfb-202602101645.0":"2026-02-10T16:45:15.313Z","2.26.3-4f86cfb-202602101652.0":"2026-02-10T16:52:18.990Z","2.26.3-4f86cfb-202602111002.0":"2026-02-11T10:02:59.805Z","2.26.3-4f86cfb-202602121012.0":"2026-02-12T10:12:27.314Z","2.26.3-4f86cfb-202602121026.0":"2026-02-12T10:27:01.627Z","2.26.3-4f86cfb-202602121049.0":"2026-02-12T10:49:20.467Z","2.26.3-0ed2fc7-202602121104.0":"2026-02-12T11:04:22.718Z","2.26.3-c298c2b-202602121113.0":"2026-02-12T11:13:59.904Z","2.27.0":"2026-02-12T11:16:47.896Z","2.27.1-9b1d4d9-202602121116.0":"2026-02-12T11:17:02.847Z","2.27.1-9b1d4d9-202602160657.0":"2026-02-16T06:57:12.601Z","2.27.1-9b1d4d9-202602160705.0":"2026-02-16T07:05:20.795Z","2.27.1-9b1d4d9-202602161019.0":"2026-02-16T10:19:34.379Z","2.27.1-fca0ce6-202602161109.0":"2026-02-16T11:09:32.637Z","2.27.1-fca0ce6-202602161110.0":"2026-02-16T11:10:07.689Z","2.27.1-e8f9e0b-202602161134.0":"2026-02-16T11:34:07.833Z","2.27.1-326cb1c-202602161147.0":"2026-02-16T11:47:43.730Z","2.27.1-326cb1c-202602161153.0":"2026-02-16T11:53:15.606Z","2.27.1-326cb1c-202602161155.0":"2026-02-16T11:55:38.079Z","2.27.1-326cb1c-202602161159.0":"2026-02-16T11:59:49.112Z","2.27.1-326cb1c-202602161320.0":"2026-02-16T13:21:02.380Z","2.27.1-326cb1c-202602161321.0":"2026-02-16T13:21:15.314Z","2.27.1-326cb1c-202602161352.0":"2026-02-16T13:52:33.874Z","2.27.1-326cb1c-202602161504.0":"2026-02-16T15:04:39.740Z","2.27.1-326cb1c-202602161604.0":"2026-02-16T16:04:20.612Z","2.27.1-10e05f2-202602162042.0":"2026-02-16T20:42:22.772Z","2.27.1-43173f6-202602162049.0":"2026-02-16T20:50:02.305Z","2.27.1-43173f6-202602162050.0":"2026-02-16T20:50:17.475Z","2.27.1-43173f6-202602170703.0":"2026-02-17T07:03:42.453Z","2.27.1-43173f6-202602171108.0":"2026-02-17T11:09:03.467Z","2.27.1-43173f6-202602171129.0":"2026-02-17T11:29:15.184Z","2.27.1-43173f6-202602171636.0":"2026-02-17T16:36:09.164Z","2.27.1-43173f6-202602190704.0":"2026-02-19T07:04:54.358Z","2.27.1-43173f6-202602190733.0":"2026-02-19T07:33:35.062Z","2.27.1-43173f6-202602190923.0":"2026-02-19T09:23:49.190Z","2.27.1-43173f6-202602190929.0":"2026-02-19T09:29:49.506Z","2.27.1-d0412a6-202602190932.0":"2026-02-19T09:32:15.944Z","2.27.1-d0412a6-202602190933.0":"2026-02-19T09:33:24.284Z","2.27.1-d0412a6-202602190935.0":"2026-02-19T09:35:51.852Z","2.27.1-d0412a6-202602261302.0":"2026-02-26T13:02:36.906Z","2.27.1-d0412a6-202602261456.0":"2026-02-26T14:56:43.504Z","2.27.1-d0412a6-202602261608.0":"2026-02-26T16:08:37.402Z","2.27.1-d0412a6-202602261629.0":"2026-02-26T16:29:59.396Z","2.27.1-d0412a6-202602261647.0":"2026-02-26T16:47:40.500Z","2.27.1-d0412a6-202602261701.0":"2026-02-26T17:01:33.690Z","2.27.1-d0412a6-202602261709.0":"2026-02-26T17:09:09.671Z","2.27.1-d0412a6-202602261711.0":"2026-02-26T17:11:44.118Z","2.27.1-d0412a6-202602261714.0":"2026-02-26T17:14:39.173Z","2.27.1-d0412a6-202602261717.0":"2026-02-26T17:17:26.800Z","2.27.1-d0412a6-202602261723.0":"2026-02-26T17:23:33.331Z","2.27.1-38e7a9e-202602270831.0":"2026-02-27T08:31:41.688Z","2.27.1-97d7a48-202602270835.0":"2026-02-27T08:35:31.336Z","2.27.1-f6d4170-202602270837.0":"2026-02-27T08:38:05.582Z","2.27.1":"2026-02-27T10:40:11.976Z","2.27.2-e6ed589-202602271040.0":"2026-02-27T10:40:14.397Z","2.27.2-e6ed589-202602271654.0":"2026-02-27T16:54:16.035Z","2.27.2-e6ed589-202602271656.0":"2026-02-27T16:56:16.155Z","2.27.2-e6ed589-202603020621.0":"2026-03-02T06:21:25.779Z","2.27.2-e6ed589-202603020622.0":"2026-03-02T06:22:43.083Z","2.27.2-e6ed589-202603021320.0":"2026-03-02T13:20:43.980Z","2.27.2-e6ed589-202603021328.0":"2026-03-02T13:28:38.244Z","2.27.2-e6ed589-202603021332.0":"2026-03-02T13:32:19.118Z","2.27.2-e6ed589-202603021343.0":"2026-03-02T13:44:04.890Z","2.27.2-e6ed589-202603021345.0":"2026-03-02T13:46:05.083Z","2.27.2-e6ed589-202603021346.0":"2026-03-02T13:46:19.830Z","2.27.2-e6ed589-202603021601.0":"2026-03-02T16:01:33.946Z","2.27.2-e6ed589-202603021602.0":"2026-03-02T16:02:59.276Z","2.27.2-e6ed589-202603021603.0":"2026-03-02T16:03:35.425Z","2.27.2-d184699-202603031219.0":"2026-03-03T12:19:52.626Z","2.27.2-d184699-202603031220.0":"2026-03-03T12:20:21.087Z","2.27.2-b33f0d9-202603031408.0":"2026-03-03T14:08:59.094Z","2.27.2-fd3c3b7-202603052151.0":"2026-03-05T21:51:42.295Z","2.27.2-bad5b34-202603052153.0":"2026-03-05T21:53:22.724Z","2.27.2-aaa03c6-202603052154.0":"2026-03-05T21:54:36.111Z","2.27.2-792de3d-202603052156.0":"2026-03-05T21:56:07.765Z","2.27.2-7a2b643-202603052159.0":"2026-03-05T21:59:21.032Z","2.27.2-7a2b643-202603052207.0":"2026-03-05T22:07:24.746Z","2.27.2-7a2b643-202603052208.0":"2026-03-05T22:08:25.834Z","2.27.2-b74ef8d-202603060628.0":"2026-03-06T06:28:51.708Z","2.27.2-b74ef8d-202603060630.0":"2026-03-06T06:30:50.521Z","2.27.2-b74ef8d-202603060631.0":"2026-03-06T06:31:06.860Z","2.27.2-b74ef8d-202603061034.0":"2026-03-06T10:34:51.525Z","2.27.2-b74ef8d-202603061539.0":"2026-03-06T15:39:31.560Z","2.27.2-b74ef8d-202603091031.0":"2026-03-09T10:31:25.059Z","2.27.2-b74ef8d-202603091139.0":"2026-03-09T11:39:09.445Z","2.27.2-b74ef8d-202603091145.0":"2026-03-09T11:45:16.778Z","2.27.2-b74ef8d-202603091151.0":"2026-03-09T11:51:58.710Z","2.27.2-b74ef8d-202603091153.0":"2026-03-09T11:53:42.291Z","2.27.2-b74ef8d-202603091203.0":"2026-03-09T12:04:07.576Z","2.27.2-b74ef8d-202603091213.0":"2026-03-09T12:13:31.636Z","2.27.2-b74ef8d-202603091216.0":"2026-03-09T12:17:03.719Z","2.27.2-b74ef8d-202603091256.0":"2026-03-09T12:56:18.771Z","2.27.2-b74ef8d-202603091257.0":"2026-03-09T12:58:00.348Z","2.27.2-b74ef8d-202603091259.0":"2026-03-09T12:59:09.080Z","2.27.2-b74ef8d-202603091306.0":"2026-03-09T13:07:03.696Z","2.27.2-b74ef8d-202603091308.0":"2026-03-09T13:09:06.716Z","2.27.2-b74ef8d-202603091846.0":"2026-03-09T18:46:14.838Z","2.27.2-b74ef8d-202603101803.0":"2026-03-10T18:04:04.047Z","2.27.2-628a494-202603110643.0":"2026-03-11T06:44:03.066Z","2.27.2-f5aba9b-202603110924.0":"2026-03-11T09:24:42.791Z","2.27.2-0a2735e-202603110928.0":"2026-03-11T09:28:24.806Z","2.27.2-0a2735e-202603110938.0":"2026-03-11T09:38:54.267Z","2.27.2-0a2735e-202603110939.0":"2026-03-11T09:39:13.469Z","2.27.2-0a2735e-202603110940.0":"2026-03-11T09:40:16.521Z","2.27.2-0a2735e-202603110941.0":"2026-03-11T09:41:31.649Z","2.27.2-0a2735e-202603110942.0":"2026-03-11T09:42:22.446Z","2.27.2-0a2735e-202603110943.0":"2026-03-11T09:43:36.062Z","2.27.2-0a2735e-202603110944.0":"2026-03-11T09:45:01.883Z","2.27.2-0a2735e-202603111533.0":"2026-03-11T15:34:07.766Z","2.27.2-716dc93-202603120958.0":"2026-03-12T09:58:31.352Z","2.28.1-1e935d0-202603121026.0":"2026-03-12T10:26:29.178Z","2.28.0":"2026-03-12T10:26:33.798Z","2.28.1-1e935d0-202603121626.0":"2026-03-12T16:26:15.594Z","2.28.1-1e935d0-202603131025.0":"2026-03-13T10:25:21.989Z","2.28.1-e588b7b-202603131025.0":"2026-03-13T10:25:48.493Z","2.28.1-e588b7b-202603131026.0":"2026-03-13T10:26:58.346Z","2.28.1-e588b7b-202603131027.0":"2026-03-13T10:27:44.398Z","2.28.1-e588b7b-202603131334.0":"2026-03-13T13:34:19.088Z","2.28.1-e588b7b-202603131341.0":"2026-03-13T13:41:14.542Z","2.28.1-e588b7b-202603131349.0":"2026-03-13T13:49:42.899Z","2.28.1-e588b7b-202603131354.0":"2026-03-13T13:54:14.434Z","2.28.1-e588b7b-202603131558.0":"2026-03-13T15:59:04.371Z","2.28.1-f24e07c-202603131600.0":"2026-03-13T16:00:43.240Z","2.28.1-f24e07c-202603191741.0":"2026-03-19T17:41:43.512Z","2.28.1-8f3ec9e-202603230620.0":"2026-03-23T06:20:35.656Z","2.28.1-8f3ec9e-202603231018.0":"2026-03-23T10:19:09.594Z","2.28.1-8f3ec9e-202603231020.0":"2026-03-23T10:20:13.243Z","2.28.1-f2382d2-202603231023.0":"2026-03-23T10:23:47.058Z","2.28.1-f2382d2-202603231027.0":"2026-03-23T10:27:53.196Z","2.28.1-f2382d2-202603241523.0":"2026-03-24T15:23:33.402Z","2.28.1-f2382d2-202603241524.0":"2026-03-24T15:24:22.483Z","2.28.1-f2382d2-202603241528.0":"2026-03-24T15:28:58.279Z","2.28.1-520c986-202603241530.0":"2026-03-24T15:30:30.824Z","2.28.1-fbf722c-202603250945.0":"2026-03-25T09:45:39.493Z","2.28.1-fbf722c-202603250947.0":"2026-03-25T09:47:54.649Z","2.28.2-eed5992-202603251424.0":"2026-03-25T14:24:24.183Z","2.28.1":"2026-03-25T14:25:04.601Z","2.28.2-a986558-202603261048.0":"2026-03-26T10:48:57.244Z","2.28.2-a986558-202603261050.0":"2026-03-26T10:50:25.511Z","2.28.2-a986558-202603261058.0":"2026-03-26T10:59:04.583Z","2.28.2-a986558-202603261102.0":"2026-03-26T11:02:46.390Z","2.28.2-a419958-202603261159.0":"2026-03-26T11:59:54.347Z","2.28.2-a419958-202603261257.0":"2026-03-26T12:57:17.573Z","2.28.2-a419958-202603261259.0":"2026-03-26T12:59:51.392Z","2.28.2-a419958-202603261302.0":"2026-03-26T13:02:09.638Z","2.28.2-df42ed9-202603300838.0":"2026-03-30T08:38:19.342Z","2.28.2-a1895e1-202603300840.0":"2026-03-30T08:40:31.715Z","2.28.2-a1895e1-202603300842.0":"2026-03-30T08:42:41.114Z","2.28.2-a1895e1-202603311325.0":"2026-03-31T13:25:45.585Z","2.28.2-a1895e1-202603311340.0":"2026-03-31T13:40:43.809Z","2.28.2-a1895e1-202603311349.0":"2026-03-31T13:49:29.424Z","2.28.2-f6e4794-202604010906.0":"2026-04-01T09:06:25.830Z","2.28.2-f6e4794-202604011327.0":"2026-04-01T13:27:39.506Z","2.28.2-f6e4794-202604080823.0":"2026-04-08T08:23:44.850Z","2.28.2-f6e4794-202604080827.0":"2026-04-08T08:27:31.372Z","2.28.2-61d218b-202604080831.0":"2026-04-08T08:31:18.810Z","2.28.2-6e3f41c-202604080833.0":"2026-04-08T08:33:45.421Z","2.28.2-6bf7488-202604081023.0":"2026-04-08T10:23:19.550Z","2.28.2-6bf7488-202604081639.0":"2026-04-08T16:40:08.769Z","2.28.2-970a7b6-202604081652.0":"2026-04-08T16:52:42.353Z","2.28.2-970a7b6-202604081736.0":"2026-04-08T17:37:01.595Z","2.28.2-970a7b6-202604090718.0":"2026-04-09T07:19:01.557Z","2.29.1-e5815f6-202604090909.0":"2026-04-09T09:09:15.058Z","2.29.0":"2026-04-09T09:09:47.346Z","2.29.1-4e4ab60-202604091239.0":"2026-04-09T12:39:16.679Z","2.29.1":"2026-04-09T13:55:17.617Z","2.29.2-25441fc-202604091355.0":"2026-04-09T13:55:28.900Z","2.29.2-25441fc-202604141059.0":"2026-04-14T10:59:20.294Z","2.29.2-25441fc-202604141530.0":"2026-04-14T15:30:24.252Z","2.29.2-25441fc-202604150824.0":"2026-04-15T08:25:04.790Z","2.29.2-25441fc-202604150859.0":"2026-04-15T08:59:53.025Z","2.29.2-25441fc-202604150903.0":"2026-04-15T09:04:01.887Z","2.29.2-25441fc-202604150939.0":"2026-04-15T09:39:34.421Z","2.29.2-25441fc-202604150941.0":"2026-04-15T09:41:49.742Z","2.29.2-25441fc-202604151046.0":"2026-04-15T10:47:00.697Z","2.29.2-25441fc-202604151049.0":"2026-04-15T10:49:46.741Z","2.29.2-25441fc-202604151422.0":"2026-04-15T14:22:21.751Z","2.29.2-25441fc-202604151440.0":"2026-04-15T14:40:45.398Z","2.29.2-25441fc-202604151515.0":"2026-04-15T15:15:34.813Z","2.29.2-25441fc-202604151540.0":"2026-04-15T15:41:00.213Z","2.29.2-25441fc-202604160854.0":"2026-04-16T08:54:37.927Z","2.29.2-25441fc-202604161026.0":"2026-04-16T10:26:11.327Z","2.29.2-25441fc-202604161100.0":"2026-04-16T11:00:07.630Z","2.29.2-25441fc-202604161425.0":"2026-04-16T14:25:36.053Z","2.29.2-25441fc-202604161431.0":"2026-04-16T14:31:13.054Z","2.29.2-0b855f2-202604170831.0":"2026-04-17T08:31:17.938Z","2.29.2-2689aed-202604170833.0":"2026-04-17T08:33:39.803Z","2.29.2-93d425a-202604170836.0":"2026-04-17T08:36:58.489Z","2.29.2-93d425a-202604170905.0":"2026-04-17T09:05:45.722Z","2.29.2-93d425a-202604170908.0":"2026-04-17T09:08:43.165Z","2.29.2-93d425a-202604170914.0":"2026-04-17T09:14:18.765Z","2.29.2-93d425a-202604170916.0":"2026-04-17T09:17:00.592Z","2.29.2-93d425a-202604170920.0":"2026-04-17T09:20:49.992Z","2.29.2-93d425a-202604170923.0":"2026-04-17T09:23:41.586Z","2.29.2-93d425a-202604201131.0":"2026-04-20T11:32:04.399Z","2.29.2-a9781d1-202604201133.0":"2026-04-20T11:33:46.909Z","2.29.2-a9781d1-202604201134.0":"2026-04-20T11:34:32.001Z","2.29.2-a9781d1-202604201245.0":"2026-04-20T12:45:50.760Z","2.29.2-a9781d1-202604201332.0":"2026-04-20T13:32:59.406Z","2.29.2-a9781d1-202604201620.0":"2026-04-20T16:20:35.636Z","2.29.2-f3d9a53-202604201623.0":"2026-04-20T16:23:26.127Z","2.29.2-f3d9a53-202604201635.0":"2026-04-20T16:36:00.533Z","2.29.2-f3d9a53-202604201946.0":"2026-04-20T19:46:08.556Z","2.29.2-f3d9a53-202604210528.0":"2026-04-21T05:28:39.547Z","2.29.2-f3d9a53-202604210531.0":"2026-04-21T05:31:27.769Z","2.29.2-f3d9a53-202604211103.0":"2026-04-21T11:03:56.223Z","2.29.2-f3d9a53-202604221636.0":"2026-04-22T16:36:20.729Z","2.29.2-f3d9a53-202604230516.0":"2026-04-23T05:16:52.681Z","2.29.2-f3d9a53-202604291732.0":"2026-04-29T17:32:39.934Z","2.29.2-f3d9a53-202604291802.0":"2026-04-29T18:02:40.562Z","2.29.2-e06b1be-202604291804.0":"2026-04-29T18:04:20.930Z","2.29.2-e06b1be-202604291805.0":"2026-04-29T18:05:17.681Z","2.29.2-e06b1be-202604300824.0":"2026-04-30T08:25:07.635Z","2.29.2-e06b1be-202604300847.0":"2026-04-30T08:47:19.513Z","2.29.2-aea7c7e-202604300858.0":"2026-04-30T08:58:37.029Z","2.29.2-aea7c7e-202604300859.0":"2026-04-30T08:59:41.424Z","2.29.2-aea7c7e-202604301557.0":"2026-04-30T15:57:45.813Z","2.29.2-7f1c187-202604302042.0":"2026-04-30T20:42:42.332Z","2.29.2-7f1c187-202605051243.0":"2026-05-05T12:43:14.459Z","2.29.2-7f1c187-202605051251.0":"2026-05-05T12:51:20.278Z","2.29.2-7f1c187-202605051302.0":"2026-05-05T13:02:49.625Z","2.29.2-7f1c187-202605051412.0":"2026-05-05T14:12:44.685Z","2.29.2-7f1c187-202605051437.0":"2026-05-05T14:37:59.685Z","2.29.2-7f1c187-202605051451.0":"2026-05-05T14:51:26.157Z","2.29.2-7f1c187-202605051831.0":"2026-05-05T18:31:55.005Z","2.29.2-7f1c187-202605061343.0":"2026-05-06T13:43:23.774Z","2.29.2-7f1c187-202605061404.0":"2026-05-06T14:04:34.724Z","2.29.2-936f44d-202605061617.0":"2026-05-06T16:17:58.756Z","2.29.2-936f44d-202605070539.0":"2026-05-07T05:39:27.383Z","2.29.2-936f44d-202605070845.0":"2026-05-07T08:45:52.055Z","2.29.2-936f44d-202605070849.0":"2026-05-07T08:49:28.668Z","2.29.2-936f44d-202605070853.0":"2026-05-07T08:53:54.461Z","2.29.2-936f44d-202605070856.0":"2026-05-07T08:56:40.132Z","2.29.2-a419693-202605070857.0":"2026-05-07T08:57:29.372Z","2.29.2-a419693-202605070859.0":"2026-05-07T08:59:56.073Z","2.29.2-f8c6ca9-202605070900.0":"2026-05-07T09:01:05.315Z","2.29.2-f8c6ca9-202605070902.0":"2026-05-07T09:02:46.816Z","2.29.2-f8c6ca9-202605070905.0":"2026-05-07T09:05:14.297Z","2.29.2-f8c6ca9-202605071048.0":"2026-05-07T10:48:52.202Z","2.29.2-f8c6ca9-202605071054.0":"2026-05-07T10:54:51.805Z","2.29.2-f8c6ca9-202605071230.0":"2026-05-07T12:30:15.311Z","2.29.2-f8c6ca9-202605071234.0":"2026-05-07T12:34:50.563Z","2.29.2-ba0fab4-202605071320.0":"2026-05-07T13:20:50.337Z","2.30.0":"2026-05-07T13:27:13.612Z","2.30.1-0c5d196-202605071327.0":"2026-05-07T13:27:21.389Z","2.30.2-41e98a0-202605081423.0":"2026-05-08T14:23:13.883Z","2.30.1":"2026-05-08T14:23:25.793Z","2.30.2-41e98a0-202605111556.0":"2026-05-11T15:56:23.274Z","2.30.2-5fa1ad2-202605111601.0":"2026-05-11T16:01:32.994Z","2.30.2-5fa1ad2-202605111602.0":"2026-05-11T16:02:12.642Z","2.30.2-5fa1ad2-202605111604.0":"2026-05-11T16:04:21.432Z","2.30.2-51b7c73-202605111605.0":"2026-05-11T16:05:47.937Z","2.30.2-51b7c73-202605111609.0":"2026-05-11T16:09:52.394Z","2.30.2-51b7c73-202605120837.0":"2026-05-12T08:37:24.322Z","2.30.2-51b7c73-202605121019.0":"2026-05-12T10:19:18.380Z","2.30.2-51b7c73-202605121048.0":"2026-05-12T10:48:08.392Z","2.30.2-51b7c73-202605121119.0":"2026-05-12T11:19:48.061Z","2.30.2-51b7c73-202605121414.0":"2026-05-12T14:14:11.326Z","2.30.2-51b7c73-202605121521.0":"2026-05-12T15:21:39.159Z","2.30.2-51b7c73-202605121609.0":"2026-05-12T16:09:46.259Z","2.30.2-51b7c73-202605121610.0":"2026-05-12T16:10:48.458Z","2.30.2-51b7c73-202605131103.0":"2026-05-13T11:03:47.177Z","2.30.2-e7f24e9-202605131105.0":"2026-05-13T11:05:17.157Z","2.30.2-257fe91-202605131145.0":"2026-05-13T11:45:21.263Z","2.30.2-fc85404-202605131146.0":"2026-05-13T11:47:09.762Z","2.30.2-fc85404-202605180718.0":"2026-05-18T07:18:28.865Z","2.30.2-fc85404-202605181136.0":"2026-05-18T11:36:18.373Z","2.30.2-fc85404-202605181217.0":"2026-05-18T12:17:14.538Z","2.30.2-fc85404-202605181252.0":"2026-05-18T12:52:38.655Z","2.30.2-fc85404-202605181300.0":"2026-05-18T13:00:54.034Z","2.30.2-fc85404-202605181302.0":"2026-05-18T13:02:21.661Z","2.30.2-fc85404-202605181304.0":"2026-05-18T13:04:55.028Z","2.30.2-fc85404-202605181315.0":"2026-05-18T13:15:52.785Z","2.30.2-fc85404-202605181322.0":"2026-05-18T13:22:59.788Z","2.30.2-fc85404-202605181327.0":"2026-05-18T13:27:56.403Z","2.30.2-fc85404-202605181423.0":"2026-05-18T14:24:07.388Z","2.30.2-fc85404-202605181427.0":"2026-05-18T14:28:05.997Z","2.30.2-fc85404-202605181429.0":"2026-05-18T14:29:25.254Z","2.30.2-fc85404-202605181457.0":"2026-05-18T14:57:18.807Z","2.30.2-fc85404-202605191054.0":"2026-05-19T10:54:47.974Z","2.30.2-3977246-202605191056.0":"2026-05-19T10:56:11.773Z","2.30.2-5956ac9-202605191059.0":"2026-05-19T10:59:17.174Z","2.30.2-8181517-202605191107.0":"2026-05-19T11:07:48.463Z","2.30.2-8181517-202605191141.0":"2026-05-19T11:41:13.959Z","2.30.2-8181517-202605191144.0":"2026-05-19T11:44:26.211Z","2.30.2-8181517-202605191254.0":"2026-05-19T12:54:40.998Z","2.30.2-8181517-202605201849.0":"2026-05-20T18:49:43.502Z","2.30.2-1f9c7ed-202605211246.0":"2026-05-21T12:46:31.448Z","2.30.2-1f9c7ed-202605211247.0":"2026-05-21T12:47:34.277Z","2.30.2-1f9c7ed-202605211248.0":"2026-05-21T12:49:01.306Z","2.30.2-1f9c7ed-202605211249.0":"2026-05-21T12:50:05.806Z","2.30.2-1f9c7ed-202605211258.0":"2026-05-21T12:58:42.083Z","2.30.2-17e1b56-202605231354.0":"2026-05-23T13:54:20.309Z","2.30.2-17e1b56-202605240722.0":"2026-05-24T07:23:05.986Z","2.30.2-17e1b56-202605251142.0":"2026-05-25T11:42:08.428Z","2.30.2-17e1b56-202605261353.0":"2026-05-26T13:54:10.186Z","2.30.2-17e1b56-202605261357.0":"2026-05-26T13:57:36.744Z","2.30.2-17e1b56-202605261418.0":"2026-05-26T14:18:14.035Z","2.30.2-17e1b56-202605261501.0":"2026-05-26T15:01:45.106Z","2.30.2-17e1b56-202605261504.0":"2026-05-26T15:04:57.524Z","2.30.2-17e1b56-202605270830.0":"2026-05-27T08:30:27.367Z","2.30.2-17e1b56-202605271253.0":"2026-05-27T12:53:20.206Z","2.30.2-17e1b56-202605271643.0":"2026-05-27T16:43:31.861Z","2.30.2-17e1b56-202605280557.0":"2026-05-28T05:57:24.773Z","2.30.2-17e1b56-202605280600.0":"2026-05-28T06:00:50.159Z","2.30.2-23b7795-202606020920.0":"2026-06-02T09:21:04.192Z","2.30.2-3914afb-202606041313.0":"2026-06-04T13:13:57.522Z","2.31.0":"2026-06-04T13:16:45.706Z","2.31.1-56392b5-202606041316.0":"2026-06-04T13:16:54.877Z","2.31.1-2108034-202606051039.0":"2026-06-05T10:39:42.110Z","2.31.1":"2026-06-09T13:44:21.587Z","2.31.2-6e17138-202606091344.0":"2026-06-09T13:44:36.848Z","2.31.2-e0ccb6d-202606091417.0":"2026-06-09T14:17:52.278Z","2.31.2":"2026-06-09T14:27:20.437Z","2.31.3-1aa3ebe-202606091427.0":"2026-06-09T14:27:22.399Z","2.31.3-567db72-202606161319.0":"2026-06-16T13:19:14.704Z","2.31.3":"2026-06-16T13:49:13.518Z","2.31.4-b19fcd1-202606161349.0":"2026-06-16T13:49:23.774Z","2.31.4-b19fcd1-202606161626.0":"2026-06-16T16:26:36.874Z","2.31.4-b19fcd1-202606161628.0":"2026-06-16T16:28:54.408Z","2.31.4-b19fcd1-202606161630.0":"2026-06-16T16:30:19.657Z","2.31.4-cfeb007-202606161638.0":"2026-06-16T16:38:43.932Z","2.31.4-9269338-202606161644.0":"2026-06-16T16:44:25.737Z","2.31.4-9269338-202606161707.0":"2026-06-16T17:07:42.013Z","2.31.4-9269338-202606161812.0":"2026-06-16T18:12:23.045Z","2.31.4-9269338-202606220919.0":"2026-06-22T09:20:08.371Z","2.31.4-9269338-202606220936.0":"2026-06-22T09:36:17.465Z","2.31.4-48d934a-202606221441.0":"2026-06-22T14:41:55.743Z","2.31.4-d304c3f-202606221508.0":"2026-06-22T15:08:39.293Z","2.31.4-d304c3f-202606241221.0":"2026-06-24T12:21:39.408Z","2.31.4-d304c3f-202606241245.0":"2026-06-24T12:45:09.916Z","2.31.4-d304c3f-202606241506.0":"2026-06-24T15:07:10.645Z","2.31.4-b110b25-202606251448.0":"2026-06-25T14:48:11.422Z","2.31.4-b110b25-202606261215.0":"2026-06-26T12:15:58.621Z","2.31.4-928df9b-202606261335.0":"2026-06-26T13:35:56.851Z","2.31.4-5ccdf52-202606300926.0":"2026-06-30T09:26:22.131Z","2.31.4-5ccdf52-202606300927.0":"2026-06-30T09:27:43.932Z","2.31.4-5ccdf52-202606301855.0":"2026-06-30T18:55:55.820Z","2.31.4-5ccdf52-202606301900.0":"2026-06-30T19:00:06.691Z","2.31.4-5ccdf52-202606302008.0":"2026-06-30T20:08:53.533Z","2.31.4-ada9fb2-202607011314.0":"2026-07-01T13:14:13.750Z","2.31.4-ada9fb2-202607020951.0":"2026-07-02T09:51:25.488Z","2.31.4-c83ab97-202607021318.0":"2026-07-02T13:18:12.253Z","2.32.1-6e7a7a0-202607021326.0":"2026-07-02T13:26:33.437Z","2.32.0":"2026-07-02T13:26:57.419Z","2.32.1-b23502c-202607021341.0":"2026-07-02T13:41:40.084Z","2.32.1-b23502c-202607061634.0":"2026-07-06T16:34:10.560Z","2.32.1-b23502c-202607061802.0":"2026-07-06T18:02:43.162Z","2.32.1-fc069ac-202607081326.0":"2026-07-08T13:26:55.628Z","2.32.1-5ce7a18-202607091016.0":"2026-07-09T10:16:19.545Z","2.32.1-5ce7a18-202607101343.0":"2026-07-10T13:43:25.238Z","2.32.1-1c4f794-202607141536.0":"2026-07-14T15:36:49.250Z","2.32.2-1a8cc8b-202607201417.0":"2026-07-20T14:17:44.786Z","2.32.1":"2026-07-20T14:18:00.901Z","2.32.2-49be0eb-202607211438.0":"2026-07-21T14:38:40.503Z","2.32.2-49be0eb-202607270945.0":"2026-07-27T09:45:26.004Z","2.32.2-74b62ca-202607270954.0":"2026-07-27T09:54:53.490Z","2.32.2-b07a5dd-202607270956.0":"2026-07-27T09:56:19.650Z","2.32.2-b07a5dd-202607271030.0":"2026-07-27T10:30:30.929Z","2.32.2-b07a5dd-202607271033.0":"2026-07-27T10:34:05.792Z","2.32.2-b1d34bd-202607271038.0":"2026-07-27T10:38:43.834Z","2.32.2-fd7562f-202607271043.0":"2026-07-27T10:43:32.098Z","2.32.2-fd7562f-202607271054.0":"2026-07-27T10:54:58.171Z","2.32.2-fd7562f-202607271056.0":"2026-07-27T10:56:32.020Z","2.32.2-fd7562f-202607271100.0":"2026-07-27T11:00:51.113Z","2.32.2-fd7562f-202607271101.0":"2026-07-27T11:02:01.481Z","2.32.2-fd7562f-202607271220.0":"2026-07-27T12:21:05.721Z","2.32.2-fd7562f-202607271223.0":"2026-07-27T12:23:23.064Z","2.32.2-fd7562f-202607271411.0":"2026-07-27T14:11:44.348Z","2.32.2-fd7562f-202607271417.0":"2026-07-27T14:17:32.072Z","2.32.2-fd7562f-202607271418.0":"2026-07-27T14:18:32.289Z","2.32.2-fd7562f-202607271420.0":"2026-07-27T14:20:20.881Z","2.32.2-fd7562f-202607271421.0":"2026-07-27T14:21:28.285Z","2.32.2-fd7562f-202607271422.0":"2026-07-27T14:22:36.924Z","2.32.2-54b93f4-202607271559.0":"2026-07-27T15:59:47.647Z","2.32.2-54b93f4-202607301218.0":"2026-07-30T12:19:02.673Z","2.32.2-54b93f4-202607301221.0":"2026-07-30T12:21:55.635Z","2.32.2-26137df-202607301241.0":"2026-07-30T12:41:42.355Z","2.33.0":"2026-07-30T13:20:53.627Z","2.33.1-c1145bd-202607301320.0":"2026-07-30T13:20:57.615Z","2.33.2-d6ca969-202607310859.0":"2026-07-31T08:59:16.491Z","2.33.1":"2026-07-31T08:59:19.589Z","2.33.2-d37fe81-202608050927.0":"2026-08-05T09:27:36.096Z","2.33.2-1c1129b-202608050929.0":"2026-08-05T09:29:47.395Z","2.33.2-7d4d1f4-202608050930.0":"2026-08-05T09:31:02.041Z","2.33.3-35b3a93-202608050931.0":"2026-08-05T09:32:01.857Z","2.33.2":"2026-08-05T09:32:40.398Z","2.33.3-35b3a93-202608051046.0":"2026-08-05T10:47:01.847Z","2.33.3-35b3a93-202608051048.0":"2026-08-05T10:48:15.950Z","2.33.3-35b3a93-202608051101.0":"2026-08-05T11:01:11.741Z","2.33.3-35b3a93-202608051410.0":"2026-08-05T14:10:53.614Z","2.33.3-d4a4590-202608051412.0":"2026-08-05T14:12:20.753Z","2.33.3-d4a4590-202608060823.0":"2026-08-06T08:23:38.773Z","2.33.3-d4a4590-202608060916.0":"2026-08-06T09:16:52.087Z","2.33.3-194e221-202608120800.0":"2026-08-12T08:00:33.519Z","2.33.3-194e221-202608120811.0":"2026-08-12T08:11:46.918Z","2.33.3-194e221-202608121559.0":"2026-08-12T15:59:41.870Z","2.33.3-194e221-202608121601.0":"2026-08-12T16:01:07.034Z","2.33.3-194e221-202608121634.0":"2026-08-12T16:34:44.373Z","2.33.3-45f4abe-202608130843.0":"2026-08-13T08:43:09.086Z","2.33.3-45f4abe-202608130859.0":"2026-08-13T08:59:14.478Z","2.33.3-45f4abe-202608241430.0":"2026-08-24T14:31:00.226Z","2.33.3-45f4abe-202608241435.0":"2026-08-24T14:35:25.585Z","2.33.3-45f4abe-202608251329.0":"2026-08-25T13:30:01.081Z","2.33.3-45f4abe-202608251533.0":"2026-08-25T15:33:09.911Z","2.33.3-45f4abe-202608260743.0":"2026-08-26T07:43:39.852Z","2.33.3-45f4abe-202608260937.0":"2026-08-26T09:37:10.103Z","2.33.3-45f4abe-202608261256.0":"2026-08-26T12:56:25.128Z","2.33.3-d16e4de-202608270953.0":"2026-08-27T09:53:58.743Z","2.33.3-d16e4de-202608271027.0":"2026-08-27T10:28:01.726Z","2.33.3-d16e4de-202608271028.0":"2026-08-27T10:29:01.731Z","2.33.3-7ed6e4f-202608271035.0":"2026-08-27T10:35:18.347Z","2.33.3-82f2844-202608271036.0":"2026-08-27T10:36:12.214Z","2.33.3-c618d0e-202608271041.0":"2026-08-27T10:41:26.468Z","2.33.3-c618d0e-202608271310.0":"2026-08-27T13:10:40.265Z","2.33.3-3f32e44-202608271311.0":"2026-08-27T13:12:10.236Z","3.0.0":"2026-08-27T13:15:15.919Z","3.0.1-e35ace8-202608271315.0":"2026-08-27T13:15:18.310Z","3.0.1":"2026-09-02T10:16:56.220Z","3.0.2-20f1499-202609070548.0":"2026-09-07T05:48:57.444Z","3.0.2":"2026-09-09T08:51:02.543Z","3.0.3-73ecfa9-202609090851.0":"2026-09-09T08:51:13.658Z","3.0.3-83e48a2-202609110915.0":"2026-09-11T09:15:15.685Z","3.0.3-fc2fc40-202609110916.0":"2026-09-11T09:16:57.686Z","3.0.3-cd36f96-202609110918.0":"2026-09-11T09:18:54.453Z","3.0.3-3130d00-202609110920.0":"2026-09-11T09:20:39.300Z","3.0.3-936207b-202609110949.0":"2026-09-11T09:49:21.299Z","3.0.3-86c2ce2-202609110958.0":"2026-09-11T09:59:07.897Z","3.0.3-86c2ce2-202609111444.0":"2026-09-11T14:45:00.510Z","3.0.3-86c2ce2-202609111446.0":"2026-09-11T14:46:56.383Z","3.0.3-86c2ce2-202609111450.0":"2026-09-11T14:50:10.148Z","3.0.3-86c2ce2-202609140658.0":"2026-09-14T06:58:51.555Z","3.0.3-86c2ce2-202609140703.0":"2026-09-14T07:03:37.368Z","3.0.3-50da849-202609141037.0":"2026-09-14T10:37:37.743Z","3.0.3-3b301ba-202609141307.0":"2026-09-14T13:07:10.021Z","3.0.3-d4fbd76-202609141321.0":"2026-09-14T13:21:42.780Z","3.0.3-d8d81cd-202609141324.0":"2026-09-14T13:24:30.917Z","3.0.3-d8d81cd-202609141558.0":"2026-09-14T15:58:51.682Z","3.0.3-d8d81cd-202609141604.0":"2026-09-14T16:04:39.040Z","3.0.3-d8d81cd-202609161238.0":"2026-09-16T12:38:42.162Z","3.0.3-d8d81cd-202609161253.0":"2026-09-16T12:53:42.791Z","3.0.3-d8d81cd-202609161305.0":"2026-09-16T13:05:11.589Z","3.0.3-d8d81cd-202609161309.0":"2026-09-16T13:09:42.631Z","3.0.3-d8d81cd-202609161327.0":"2026-09-16T13:28:06.366Z","3.0.3-d8d81cd-202609161436.0":"2026-09-16T14:36:16.130Z","3.0.3-d8d81cd-202609161513.0":"2026-09-16T15:13:22.041Z","3.0.3-d8d81cd-202609180957.0":"2026-09-18T09:59:06.789Z","3.0.3-d8d81cd-202609181030.0":"2026-09-18T10:32:42.641Z","3.0.3-d8d81cd-202609181336.0":"2026-09-18T13:37:45.522Z","3.0.3-e6c47a7-202609221213.0":"2026-09-22T12:14:45.590Z","3.0.3-e6c47a7-202609241248.0":"2026-09-24T12:51:10.441Z","3.0.3-70d1e28-202609241316.0":"2026-09-24T13:17:53.042Z","3.1.0":"2026-09-24T13:20:12.289Z","3.1.1-cb93a55-202609241319.0":"2026-09-24T13:22:17.334Z","3.1.1-4300708-202609250854.0":"2026-09-25T09:00:18.224Z","3.1.1-4300708-202609251210.0":"2026-09-25T12:16:25.781Z","3.1.1-4300708-202609251745.0":"2026-09-25T17:47:13.825Z","3.1.1-4300708-202609251746.0":"2026-09-25T17:49:47.133Z","3.1.1-4300708-202609251748.0":"2026-09-25T17:50:19.162Z","3.1.1-4300708-202609281453.0":"2026-09-28T14:55:06.937Z","3.1.1-4300708-202609281605.0":"2026-09-28T16:11:11.084Z","3.1.1-df4cf86-202609281615.0":"2026-09-28T16:19:40.598Z","3.1.1-789fb02-202609290846.0":"2026-09-29T08:48:02.909Z","3.1.1-789fb02-202609290852.0":"2026-09-29T08:54:43.354Z","3.1.1-789fb02-202609290856.0":"2026-09-29T08:59:45.936Z","3.1.1-789fb02-202609291136.0":"2026-09-29T11:37:14.585Z","3.1.1-789fb02-202609291138.0":"2026-09-29T11:39:06.807Z","3.1.1-5dcdb01-202610011603.0":"2026-10-01T16:24:12.521Z","3.1.1-13a3741-202610011558.0":"2026-10-01T16:24:37.805Z","3.1.1-6cf2879-202610011606.0":"2026-10-01T16:25:10.713Z","3.1.1-6cf2879-202610011617.0":"2026-10-01T16:34:17.989Z","3.1.1-ba573fb-202610011648.0":"2026-10-01T16:51:19.355Z","3.1.1-933ab2b-202610011653.0":"2026-10-01T16:56:55.003Z"},"bugs":{"url":"https://github.com/FlowFuse/nr-launcher/issues"},"author":{"name":"FlowFuse Inc."},"license":"Apache-2.0","homepage":"https://github.com/FlowFuse/nr-launcher#readme","keywords":["FlowFuse"],"repository":{"url":"git+https://github.com/FlowFuse/nr-launcher.git","type":"git"},"description":"FlowFuse Launcher for running Node-RED","maintainers":[{"name":"hardillb","email":"hardillb@gmail.com"},{"name":"knolleary","email":"nick.oleary@gmail.com"},{"name":"flowfuse-user","email":"nick@flowfuse.com"}],"readme":"","readmeFilename":""}