New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@ica-dev/healthcheck

Package Overview
Dependencies
Maintainers
3
Versions
10
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@ica-dev/healthcheck - npm Package Compare versions

Comparing version 0.0.2 to 0.0.3

src/tracker.spec.js

8

package.json
{
"name": "@ica-dev/healthcheck",
"private": false,
"version": "0.0.2",
"version": "0.0.3",
"description": "",

@@ -10,2 +10,5 @@ "main": "src/index.js",

},
"scripts": {
"test": "jest"
},
"author": "Itch",

@@ -15,3 +18,6 @@ "license": "MIT",

"rxjs": "^6.3.3"
},
"devDependencies": {
"jest": "^23.6.0"
}
}
const { BehaviorSubject } = require('rxjs')
const { map, distinctUntilChanged } = require('rxjs/operators')
function createServiceStore(service, dependsOn = [], prev = {}) {
return {
service,
count: (prev.count || 0) + 1,
dependsOn,
}
}
function getAllDependencies(dependsOn, services) {
return dependsOn.reduce((sum, dep) => {
const service = services[dep]
if (service && service.dependsOn.length > 0) {
return [...sum, dep, ...getAllDependencies(service.dependsOn, services)]
}
return [...sum, dep]
}, [])
}
module.exports = function tracker() {

@@ -12,6 +30,10 @@ const services$ = new BehaviorSubject({})

...services,
[service]: (services[service] || 0) + 1,
[service]: createServiceStore(service, dependsOn, services[service]),
})
return services$.pipe(
map(services => dependsOn.every(dep => (services[dep] || 0) > 0)),
map(services =>
getAllDependencies(dependsOn, services).every(
dep => services[dep] && services[dep].count > 0,
),
),
distinctUntilChanged(),

@@ -18,0 +40,0 @@ )

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc