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.
css-select-parse5-adapter
Advanced tools
An adapter for the css-select package for querying trees returned by the parse5 package.
An adapter for css-select
that allows you to query parse5
generated ASTs.
You'll need css-select
and parse5
for this adapter to be of any use, so install all three packages:
npm install \
css-select \
css-select-parse5-adapter \
parse5
const {parse,serialize} = require('parse5');
const {parse5Adapter} = require('css-select-parse5-adapter');
const cssSelect = require('css-select');
const ast = parse(`
<div id="greeting">
Hello <span class="name">Alice</span>
</div>
`);
const nodes = cssSelect('#greeting .name', ast, {adapter: parse5adapter});
assert(nodes.length === 1);
assert(serialize(nodes[0]) === 'Alice');
The adapter
export from the package is an instance of an Adapter
class which is configured to use the defaultTreeAdapter
for parse5
. If you have a parse5
generated tree which used a different adapter, you can create a new instance of the Parse5Adapter
class using that parse5
tree adapter as the constructor argument. At present, there appears to be only one other tree adapter for parse5
which is the parse5-htmlparser2-tree-adapter
, but this tree format is actually the default tree type for css-select
pacakge, so it would probably be a silly thing to use css-select-parse5-adapter
with it. If you did, it would look like the following (keeping example here in the event another parse5 tree adapter shows up on the scene for some reason):
const h2adapter = require('parse5-htmlparser2-tree-adapter');
const {Parse5Adapter} = require('css-select-parse5-adapter');
const cssSelect = require('css-select');
const adapter = new Parse5Adapter(h2adapter);
const nodes = cssSelect('#greeting .name', ast, {adapter});
FAQs
An adapter for the css-select package for querying trees returned by the parse5 package.
We found that css-select-parse5-adapter 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.