
Research
Security News
Lazarus Strikes npm Again with New Wave of Malicious Packages
The Socket Research Team has discovered six new malicious npm packages linked to North Korea’s Lazarus Group, designed to steal credentials and deploy backdoors.
Front-end view system using basic functional programming and template literals.
funk
| funk.view
var funk = require('funky')
var docview = funk`
<div class="container">
${item => item.text}
</div>
`
document.body.appendChild(docview({text: "Hello World!"}))
The funk
and funk.view
are function handlers for string template literals.
The return value is a function.
When called this function returns a DOM element with some properties added. Any variables passed to the view function are passed to every function in the template literal and the element will use the return values from those functions.
element.update()
var funk = require('funky')
var docview = funk`
<div class="container" id="${item => item.id}">
${item => item.text}
</div>
`
document.body.appendChild(docview({text: "Hello World!", id: 'hello'}))
var element = docview({text: "Hello Second Line.", id: 'second-hello'})
document.body.appendChild(element)
// Update content 3 seconds after adding to DOM.
setTimeout(() => {
element.update({text: "Updated, Hello Second Line.", id: 'second-hello'})
document.getElementById('hello').update({text: "Updated", id: "hello"})
}, 1000 * 3)
DOM elements created by funky views have a method attached named update
. This
function is used to update the element with new values as if they had been
passed to the original view creation.
Below the surface this uses
yo-yo.update
which uses efficient DOM diffing.
funk.list
List views are designed to operate almost exactly like regular JavaScript Arrays except when items are removed, added, or re-ordered, new views are rendered to the DOM.
var simpleview = funk`
<div class="container">
${text => text}
</div>
`
var list = funk.list(simpleview, ["Hello World!", "Hello Second Line."])
document.body.appendChild(list.node)
The list.node
property is the DOM node that can be attached.
List views can also directly be passed into other views.
var simpleview = funk`
<div class="container">
${text => text}
</div>
`
var list = funk.list(simpleview, ["Hello World!", "Hello Second Line."])
var listContainer = funk`<div id=${id => id}">${list}</div>`('list-container')
document.body.appendChild(listContainer)
FAQs
Front-end view system using basic functional programming and template literals.
The npm package funky receives a total of 1 weekly downloads. As such, funky popularity was classified as not popular.
We found that funky 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
The Socket Research Team has discovered six new malicious npm packages linked to North Korea’s Lazarus Group, designed to steal credentials and deploy backdoors.
Security News
Socket CEO Feross Aboukhadijeh discusses the open web, open source security, and how Socket tackles software supply chain attacks on The Pair Program podcast.
Security News
Opengrep continues building momentum with the alpha release of its Playground tool, demonstrating the project's rapid evolution just two months after its initial launch.