Research
Security News
Malicious npm Packages Inject SSH Backdoors via Typosquatted Libraries
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
havana-component-compiler
Advanced tools
A component compiler.
Havana component compiler works with an HTML response
handler such as
Havana component handler
or a library with an interchangeable API. When a response
handler publishes a components.compile
event Havana
component compiler will iterate over the components array
and in turn publish a component.render
event for each
component. It is Havana component compilers job to do this in
the correct order, waiting until all child components have
been rendered before attempting to render the parent
component.
Havana component renderer
or a library with an interchangeable API consume the
component.render
events. On render completion of each
component the component renderer will publish a
component.rendered
event containing the rendered HTML
string. Once a component.rendered
event has been published
for each component Havana component compiler will concatenate
the HTML strings and then publish the components.compiled
event for consumption by the response handler.
npm install havana-component-compiler
import ComponentCompiler from 'havana-component-compiler';
import ComponentHandler from 'havana-component-handler';
import Event from 'havana-event';
import Router from 'havana-router';
import Server from 'havana-server';
const event = new Event();
const reporting = {
'level': 2,
'reporter': console.log,
};
const server = new Server({
'event': event,
'reporting': reporting,
});
new Router({
'event': event,
'reporting': reporting,
'routes': [
{
'url': '/',
'method': 'GET',
'components': [
{
'component': 'page',
'properties': {
'content': 'Hello world',
},
},
],
},
],
});
new ComponentCompiler({
'event': event,
'reporting': reporting,
});
// Add a component renderer here
new ComponentHandler({
'event': event,
'reporting': reporting,
});
server.listen( 3000 );
Events take the form of Havana event or a library with an interchangeable API.
component.render
: Signifies that Havana component
compiler requires a component renderer to render a
component object into an HTML string.components.compiled
: Signifies that all components have
been rendered and concatenated into an HTML string for
consumption by a response handler.components.compile
: Allows a response handler to notify
Havana component compiler that it requires a components
array rendered to an HTML string.component.rendered
: Allows a component renderer to notify
Havana component compiler that it has completed rendering
a component.Havana component compiler is written using ES2015+ syntax.
However, by default this module will use an ES5 compatible file that has been compiled using Babel.
In the dist
directory there are four files, the default
is compiler.server.js
. The default when using a client-side
bundler that supports the
browser field
spec is compiler.browser.js
.
Havana component compiler currently requires the
Babel polyfill.
You are expected to supply this yourself. However, as a
courtesy you will also find compiler.server.with-polyfill.js
and compiler.browser.with-polyfill.js
in the dist
directory.
FAQs
A component compiler
The npm package havana-component-compiler receives a total of 0 weekly downloads. As such, havana-component-compiler popularity was classified as not popular.
We found that havana-component-compiler demonstrated a not healthy version release cadence and project activity because the last version was released 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.
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.