Security News
pnpm 10.0.0 Blocks Lifecycle Scripts by Default
pnpm 10 blocks lifecycle scripts by default to improve security, addressing supply chain attack risks but sparking debate over compatibility and workflow changes.
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.
The npm package css-select-parse5-adapter receives a total of 150 weekly downloads. As such, css-select-parse5-adapter popularity was classified as not popular.
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.
Security News
pnpm 10 blocks lifecycle scripts by default to improve security, addressing supply chain attack risks but sparking debate over compatibility and workflow changes.
Product
Socket now supports uv.lock files to ensure consistent, secure dependency resolution for Python projects and enhance supply chain security.
Research
Security News
Socket researchers have discovered multiple malicious npm packages targeting Solana private keys, abusing Gmail to exfiltrate the data and drain Solana wallets.