
Security News
TC39 Advances Temporal to Stage 4 Alongside Several ECMAScript Proposals
TC39’s March 2026 meeting advanced eight ECMAScript proposals, including Temporal reaching Stage 4 and securing its place in the ECMAScript 2026 specification.
breakdance-util
Advanced tools
Utility functions for breakdance plugins.
Install with npm:
$ npm install --save breakdance-util
var utils = require('breakdance-util');
Visit the breakdance documentation for more information about using and customizing breakdance.
Wrapper for creating the handlers for compiling a tag that has *.open and *.close nodes, in a single function call.
Params
open {String}: The opening tag to renderclose {String}: The closing tag to renderstate {Object}handler {Function}: Visitor function to modify the nodereturns {undefined}Example
breakdance.set('div', utils.block('', ''));
breakdance.set('address', block('\n<address>\n', '\n</address>\n'));
// optionally pass a handler function to access the "parent" node
breakdance.set('abbr', block('<abbr>', '</abbr>', function(node) {
var attr = utils.toAttribs(node.attribs, ['title']);
if (attr) {
node.open = '<abbr' + attr + '>';
}
}))
Stringify the attribs for a node.
Params
attribs {Object}: Object of attributes to stringifynames {Array}: Array of names to only stringify attributes with those names.returns {String}: Returns a string of attributes, e.g. src="foo.jpg"Example
var str = utils.toAttribs(node.attribs);
Attempt to get a "language" value from the given attribs. Used with code/pre tags.
Params
attribs {Object}: The node.attribs objectreturns {String}Example
breakdance.set('code', function(node) {
var lang = utils.getLang(node.attribs);
// console.log(lang);
});
Formats the link part of a "src" or "href" attribute on the given node.
Params
node {Object}key {String}: Either 'src' or 'href'compiler {Object}: Pass the breakdance compiler instance, for state and options.returns {String}Example
// this is how <img> tags are rendered
breakdance.set('img', function(node) {
var attribs = node.attribs || {};
if (attribs.src) {
this.emit('![' + (attribs.alt || '').trim());
this.mapVisit(node);
var src = utils.formatLink(node, 'src', this);
this.emit(']' + src);
//=> 
}
})
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
Please read the contributing guide for advice on opening issues, pull requests, and coding standards.
(This project's readme.md is generated by verb, please don't edit the readme directly. Any changes to the readme must be made in the .verb.md readme template.)
To generate the readme, run the following command:
$ npm install -g verbose/verb#dev verb-generate-readme && verb
Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command:
$ npm install && npm test
Jon Schlinkert
Copyright © 2017, Jon Schlinkert. MIT
This file was generated by verb-generate-readme, v0.4.2, on February 04, 2017.
FAQs
Utility functions for breakdance plugins.
We found that breakdance-util 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.

Security News
TC39’s March 2026 meeting advanced eight ECMAScript proposals, including Temporal reaching Stage 4 and securing its place in the ECMAScript 2026 specification.

Research
/Security News
Since January 31, 2026, we identified at least 72 additional malicious Open VSX extensions, including transitive GlassWorm loader extensions targeting developers.

Research
Six malicious Packagist packages posing as OphimCMS themes contain trojanized jQuery that exfiltrates URLs, injects ads, and loads FUNNULL-linked redirects.