npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

nut

v0.4.2

Published

The concise CSS selector engine

Downloads

32

Readme

nut 0.4.2

Nut is a concise query selector engine that just allows you to do extremely simple queries.

Install

You can pick the minified library or install it with :

jam install nut
bower install nut
npm install nut --save-dev

Quickly

Hey, the names branch supports name attributes! Thanks to Crydust ;)

Oh jeez, another engine?!

Nut aims to be minimal to have a very tiny footprint and extreme velocity based on the observation that much of CSS requests could be kept as simple as possible since javascript is able to handle a lot of things. It is most of the time faster than querySelectorAll and then faster than all selector engines. Nut does not implement request caching, to avoid unecessary code additions and performance loss, because the user can easily keep a request and pass it as a context to another request.

Use

Here's it can handle :

#foo
section
.bar p
section #foo .bar p
div, #foo, .bar

And here's it can't :

div *
div#foo div.bar
div > p
div + p

So, all pseudo-classes, attribute selectors and other advanced syntax are not allowed. But, let's dig in it :

// Return an array
nut('#foo');

Of course, queries can have a context :

// Get nodes from the #foo context
nut('.bar p',nut('#foo')[0]);

And that's all you need to know ;)

Ender integration

Nut is compatible with ender and supports some useful syntax.

Selecting nodes, as usually:

$('#foo');
$('.bar p',$('#foo')[0]);

Selecting existing nodes:

var nodes=$('.bar');
$(nodes);

License

Nut is published under the MIT license.