
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
Sigilium is a library for defining complex dependency hierarchies through smart identifiers. It provides factory functions for creating extension points with different composition patterns.
Sigilium is a library for defining complex dependency hierarchies through smart identifiers. It provides factory functions for creating extension points with different composition patterns.
When building modular systems, we often need ways to:
Sigilium helps solve these problems by providing smart identifiers that know how to compose their implementations.
First, import the sigilium factory functions:
import sigilium from 'sigilium';
Create a basic extension point when you need a simple implementation:
const log = sigilium.sigil('log');
// Register an implementation
container.install(log.provider([], () => console.log));
Create an optional extension point when you want at-most-one implementation:
const logger = sigilium.optional('logger');
// Will throw if multiple implementations try to register
container.install(logger.provider([], () => new StdoutLogger()));
Create a singleton extension point when you need exactly one implementation:
const database = sigilium.singleton('database');
// Will throw if multiple implementations try to register
container.install(database.provider([], () => new SQLDatabase()));
Create a composite extension point when you need decoration or aggregation:
const search = sigilium.composite('search');
// Register multiple implementations
container.install(search.provider([], () =>
query => ['result1', 'result2']
));
// Decorate with logging
container.install(search.decorator([log.resolve], ([logger]) => (fn) =>
query => {
logger(`Searching for: ${query}`);
return fn(query);
}
));
// Aggregate results
container.install(search.aggregator([], () => (providers) =>
query => providers.flatMap(p => p()(query))
));
We welcome contributions to the Sigilium project! If you have any ideas, bug reports, or pull requests, please feel free to submit them on the Sigilium GitHub repository.
Sigilium is licensed under the MIT License.
FAQs
Sigilium is a library for defining complex dependency hierarchies through smart identifiers. It provides factory functions for creating extension points with different composition patterns.
We found that sigilium demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 0 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
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.