
Security News
/Research
Popular node-ipc npm Package Infected with Credential Stealer
Socket detected malicious node-ipc versions with obfuscated stealer/backdoor behavior in a developing npm supply chain attack.
@polarity-dev/sse-manager
Advanced tools
Handle server sent events with ease.
Supported features:
classic usage:
const { createSSEManager } = require("@polarity-dev/sse-manager")
const sseManager = await createSSEManager()
app.get("/stream", async(req, res) => {
const sseStream = await sseManager.createSSEStream(res)
await sseStream.broadcast({ data: "Joining you to test-room"})
await sseStream.addToRoom("test-room")
})
setInterval(async() => {
await sseManager.broadcast("test-room", { data: "Hello test-room people!" })
}, 1000)
with Redis events adapter:
const redisClient = createClient({
url: "redis://redis:6379"
})
await redisClient.connect()
const redisSubscriber = redisClient.duplicate()
await redisSubscriber.connect()
const sseManager = await createSSEManager({
eventsAdapter: new RedisEventsAdapter({
redisClient,
redisSubscriber
})
})
with PostgreSQL events adapter:
const dbOptions = {
host: 'your_host',
user: 'your_user',
port: 5432,
password: 'your_password',
database: 'your_database'
}
const sseManager = await createSSEManager({
eventsAdapter: new PostgresEventAdapter(dbOptions)
})
const sseManager = await createSSEManager({
httpAdapter: new ExpressHttpAdapter(), // default
eventsAdapter: new EmitterEventsAdapter() // default, uses node event emitters to broadcast events
})
available http adapters:
ExpressHttpAdapter: default, uses ExpressJs to handle http requests
FastifyHttpAdapter: uses Fastify to handle http requests
custom http adapter:
class CustomHttpAdapter = extends HTTPAdapter {
constructor() {
super({
setResHeaders: (res, headers): void => {
// add your custom code here
Object.entries(headers).forEach(([k, v]) => res.set(k, v)) // example: code from ExpressHttpAdapter
},
writeRes: (res, data): void => {
// add your custom code here
res.write(data) // example: code from ExpressHttpAdapter
},
flushResHeaders: (res): void => {
// add your custom code here
res.flushHeaders() // example: code from ExpressHttpAdapter
},
endRes: (res): void => {
// add your custom code here
res.end() // example: code from ExpressHttpAdapter
},
onCloseCallback: (res, fn): void => {
// add your custom code here
res.on("close", fn) // example: code from ExpressHttpAdapter
}
})
}
}
available event adapters:
EmitterEventsAdapter: default, uses NodeJs event emitters to broadcast events in a single application instance use caseRedisEventsAdapter: uses Redis to broadcast events in a multiple application instance use casePostgresEventsAdapter: uses PostgreSQL to broadcast events in a multiple application instance use caseclass CustomEventsAdapter = extends EventsAdapter {
#emitter = new EventEmitter() // example: code from EmitterEventsAdapter
constructor() {
super({
emit: (event, data) => {
// add your custom code here
// example: code from EmitterEventsAdapter
this.#emitter.emit(event, data)
return Promise.resolve()
},
on: (event, fn) => {
// add your custom code here
// example: code from EmitterEventsAdapter
this.#emitter.on(event, (data) => {
return fn(data, event)
})
return Promise.resolve()
}
})
}
}
FAQs
sse-manager
We found that @polarity-dev/sse-manager demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 3 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
/Research
Socket detected malicious node-ipc versions with obfuscated stealer/backdoor behavior in a developing npm supply chain attack.

Security News
TeamPCP and BreachForums are promoting a Shai-Hulud supply chain attack contest with a $1,000 prize for the biggest package compromise.

Security News
Packagist urges PHP projects to update Composer after a GitHub token format change exposed some GitHub Actions tokens in CI logs.