
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.
Pronounced "Base View." Like the instrument, asshole.
This little ditty was inspired in part by a great article by Ian Storm Taylor, and my own pain in tracking down memory leaks in my Backbone apps due to zombie views.
It is just an extension of a Backbone.View that provides two helper methods: assign() and subview().
Assigns one or more subviews to elements inside the parent view.
selector, Backbone.View view )Assigns view to selector, internally calling view.setElement(this.$(selector)).render();. See link to Ian Storm's Taylor's blog article above.
var parentview = new Bassview({...});
var subview = new Bassview({...});
parentview.assign('div#subview-el', subview);
selector, String view_key )Same as above, but instead looks for a view registered through the subview method (below) with the name view_key.
var parentview = new Bassview({...});
parentview.subview('mySubView', new Bassview({...}));
parentview.assign('div#subview-el', 'mySubView');
selectors)Performs same action as above multiple times by specifying a single object as the only argument, so this:
view.assign({
".selector1" : new Basckbone.View({ model: this.model }),
".selector2" : "mySubView",
".selector3" : "myOtherSubView"
});
Is equivalent to this:
view.assign( ".selector1" , new Basckbone.View({ model: this.model }) );
view.assign( ".selector2" , "registered_subview" );
view.assign( ".selector3" , "other_subview );
Looks for "pre-assigned" views. See the usage for the subview method below.
Registers a view as being a subview. Subviews will destroy themselves when their parent views have been removed, preventing zombie views. Also registered subviews can be assigned using usage 2 and 4 above.
key , Backbone.View view )Sets a subview with an identifier of key. This means that view will call its own remove function when the parent view is removed.
var parentview = new Bassview({...});
parentview.subview('mySubView', new Bassview({...}));
key )Gets a subview registered with identifier key:
var parentview = new Bassview({...});
var subview = new Bassview({...});
parentview.subview("a_key", subview);
console.log(subview === parentview.subview("a_key"));
>>> true
key, Backbone.View view, String selector )Same as usage 1, but also populates a hidden property called __preassigned with selector, so that the subview can be assigned with no arguments:
var parentview = new Bassview({...});
parentview.subview("mySubView", new Bassview({...}), "div#subview-el");
parentview.subview("myOtherSubView", new Bassview({...}), "div#subview-el-2");
parentview.assign();
FAQs
base view for backbone
The npm package bassview receives a total of 7 weekly downloads. As such, bassview popularity was classified as not popular.
We found that bassview 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
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.