
Security News
Axios Maintainer Confirms Social Engineering Attack Behind npm Compromise
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.
Wooly, sure-footed, a thin layer above vanilla JS for SPA dev (no dependencies).
Provides:
Set all the Llama goodness together
options Object the configuration options
options.box string? the id of the div we load components inoptions.eventBus EventBus? an event-bus to pass to the different Componentsoptions.context Object? a shared context object for all the routesoptions.routes Object<string, (Class<Component> | RouteTarget)> the description of routesoptions.logger Console? define a logger, can be {logger: console} to send on the javascript consoleType: Object
type Class<Component>? name string? name of the component to serve as source for event listenersbox string? the id of an HTML element the component is rendered intosub_box string? the id of an HTML element the embedded sub-component are rendered intocss string? a string of CSS to be injectedlogger Console? define a logger, can be {logger: console} to send on the javascript consoleembed Object<string, RouteTarget> embedded routeCommon ground for vanilla Widget Component
options Object a set of option al
options.name string? name of the component to serve as source for event listenersoptions.box string? the id of the HTMLElement to which we want to plug the componentoptions.eventBus EventBus? to receive and send eventsoptions.context Object<string, any>? options.logger Console? define a logger, can be {logger: console} to send on the javascript consoleoptions.css string? Listen events
Call for loading of the component
Load component inside the box
Unload component
Returns (ShadowRoot | HTMLElement)
children ...Component init the component after appending to DOM
activate after load
clean the component after removing from DOM
Attach an event listener for this source component
Emit an event for a given key that are sent to every attached events listeners
k string the event keyp ...any the optional argsid string Returns HTMLElement
id string evt any cb any Returns boolean
Clear the box contents
box Node (optional, default this.prepareBox())Generate DOM Element from source HTML
html string some HTML codeReturns DocumentFragment the generated DOM Element
Inject component defined CSS into the box (if it exists)
box Node (optional, default this.prepareBox())Inject component defined HTML into the box (if it exists)
A component that host embedded Component
A simple event bus to enable event-driven architecture
options Object optional parameters
Attach an event listener for a source
s string name of the source of the listenere (string | Array<string>) the event(s) key(s) to attach the listenerf Emit an event for a given key that are sent to every attached events listeners
k string the event keyp ...any the optional argsClear event listeners for a source
s string the name of the source to clear events forfilter (optional, default ()=>true)A Complex event bus to enable event-driven architecture with a before and after event hook
options Object optional parameters
options.logger Console? define a logger, can be {logger: console} to send on the javascript consoleAttach an event listener for a source
s string name of the source of the listenere (string | Array<string>) the event(s) key(s) to attach the listenerf Emit an event for a given key that are sent to every attached events listeners
k string the event keyp ...any the optional argsClear event listeners for a source
s string the name of the source to clear events forfilter (optional, default ()=>true)A simple router for Llama Component
eventBus EventBus
options object?
options.logger Console? define a logger, can be {logger: console} to send on the javascript consoleroutes Array<Path> action function Run the router
Stop the router
Go to a route matching the given path
path string Route the browser
FAQs
Wooley, sure-footed. A very small kit of reusable UI utilities.
We found that llama demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer 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
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.

Security News
The Axios compromise shows how time-dependent dependency resolution makes exposure harder to detect and contain.