
Research
/Security News
Intercom’s npm Package Compromised in Ongoing Mini Shai-Hulud Worm Attack
Compromised intercom-client@7.0.4 npm package is tied to the ongoing Mini Shai-Hulud worm attack targeting developer and CI/CD secrets.
@oada/list-lib
Advanced tools
A library for handling lists of items in OADA for TypeScript and JavaScript. The library takes callbacks for events like new items, removed items, and changed items. It tried to abstract away as much of the complexity as is reasonable, and tracks which items in the list are new, old, etc.
For detailed options, see the Options type in src/Options.ts
import { ChangeType, ListWatch, AssumeState } from '@oada/list-lib'
// See type definitions for all supported options
const watch = new ListWatch({
path: '/bookmarks/foo/list',
assertItem: /* assertion function to run on each item handled */,
conn: /* an @oada/client instance */,
name: /* string; key name of the oada-list-lib entry in the _meta doc*/,
resume: /* boolean; whether to track changes using a _meta/oada-list-lib/<name> entry */,
onNewList: /* AssumeState.New || AssumeState.Handled; Whether or not to handle existing
list items on startup. `New` means it will treat the list as new every time
it starts up and will attempt to process each item; `Handled` means it will
not process existing items. */,
})
// Uses async generators
const itemsGenerator = await watch.on(ChangeType.ItemAdded);
for await (const item of itemsGenerator) {
console.log(item, 'New item added');
}
// Can use callbacks instead
watch.on(ChangeType.ItemAdded, ({ item, id }) => { console.log(item, 'New list item') });
watch.on(ChangeType.ItemRemoved, ({ id }) => { console.log(item, 'Item removed') },
While the ListWatch class is generic,
you will typically not want to specify a type parameter in your code.
If you supply an assertItem function,
the type of Item will be inferred from it.
This will help minimize runtime errors
(assuming your type assertion is good),
and in the case of no assertion, the library defaults Item to unknown.
In more advanced use cases, you might want to prompt the library to re-check
all the items in the list.
For this reason, ListWatch has a forceRecheck method.
Calling this will cause the library to check all the current list items.
FAQs
Library for processing items in an OADA list
The npm package @oada/list-lib receives a total of 124 weekly downloads. As such, @oada/list-lib popularity was classified as not popular.
We found that @oada/list-lib demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 8 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.

Research
/Security News
Compromised intercom-client@7.0.4 npm package is tied to the ongoing Mini Shai-Hulud worm attack targeting developer and CI/CD secrets.

Research
Socket detected a malicious supply chain attack on PyPI package lightning versions 2.6.2 and 2.6.3, which execute credential-stealing malware on import.

Research
A brand-squatted TanStack npm package used postinstall scripts to steal .env files and exfiltrate developer secrets to an attacker-controlled endpoint.