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 🙏

© 2025 – Pkg Stats / Ryan Hefner

scittle-kitchen

v0.7.28-58

Published

Compiled ClojureScript plugins for Scittle

Readme

scittle-kitchen

npm version

More plugins for scittle. Plugins are compiled ClojureScript libraries you can include as scripts.

Community Plugins: asami, clara-rules, cljs-bean, emmy, emmy-viewers, eql, geom, instaparse, kixi-stats, loom, mathbox, tmdjs

Official Plugins: datascript, dataspex, hoplon, javelin,

Standard Plugins: cljs-ajax, cljs-devtools, js-interop, nrepl, pprint, promesa, re-frame, reagent, replicant

Usage

Include scittle.js and the desired plugin(s) in your HTML page:

<script src="https://cdn.jsdelivr.net/npm/scittle-kitchen/dist/scittle.js"></script>
<script src="https://cdn.jsdelivr.net/npm/scittle-kitchen/dist/scittle.geom.js"></script>

While developing, you may prefer to use

<script src="https://cdn.jsdelivr.net/npm/scittle-kitchen/dist/dev/scittle.js"></script>
<script src="https://cdn.jsdelivr.net/npm/scittle-kitchen/dist/dev/scittle.cljs-devtools.js"></script>
<script src="https://cdn.jsdelivr.net/npm/scittle-kitchen/dist/dev/scittle.geom.js"></script>

See the custom snippet page for the full list of published plugins.

[!NOTE] Only scittle-kitchen can load these plugins.

Rationale

We can lower the entry barrier to trying ClojureScript libraries by publishing compiled plugins. My main hope is that more plugins leads to more experiments. That's what I really love about Scittle, being able to just try things without using a build tool.

The interactive landing page automatically resolves plugin dependencies, ensuring you load plugins in the correct order. For example, selecting Re-frame automatically includes Reagent and React.

Problem

While you can load .cljs files in Scittle as scripts, many ClojureScript libraries have multiple namespaces and dependencies which prevent loading from source in Scittle. Plugins are compiled JavaScript from the ClojureScript library, ready to use in Scittle. But only a few plugins are included in the Scittle distribution. Other libraries need to be compiled to be usable in Scittle. This is a barrier for users, and plugin authors.

Solution

scittle-kitchen is a build and release process that publishes plugins in a publically accessible location.

Kitchen always build against the latest Scittle, and automatically discovers plugins in the community contributed plugin-templates.edn, plugins/ directory, and official scittle/plugins/. The plugin template avoids boilerplate to add a new plugin. All you need to specify are the dependencies and namespaces.

Here's how easy it was to add Emmy:

 :emmy {:namespaces [emmy.env]
        :deps {org.mentat/emmy {:mvn/version "0.32.0"}}}

[!NOTE] More plugins, more fun, and wider adoption.

Contributing

Pull requests are invited. Add new plugins in plugin-templates.edn or create a new directory in plugins/. For most libraries, just add an entry to plugin-templates.edn.

DESIGN.md has more detailed information about the development and build process.

Credits

Scittle by Michiel Borkent borkdude. Idea by Arne Brasseur a.k.a plexus.

Goals

  • Publish precompiled plugins ready for immediate use DONE
  • Encourage and support community-contributed plugins ONGOING
  • Stay up-to-date with upstream Scittle releases YES
  • Integrate with Clay NOT YET
  • Avoid interfering with Scittle’s normal build and release process YES
  • Endorsement to help with plugin adoption and visibility NOT YET
    • Move repo to the Babashka organization NOT YET
    • Linked from Scittle's Readme NOT YET
  • Minimize maintenance burden on @borkdude SUCCESS
  • Automate the release process DONE
  • Keep up with latest plugin dependencies MANUAL
  • Support multiple scittle.js builds with different plugin sets DONE

License

Plugins bundle source packages which may be governed by a different license. Refer to the source package license to be sure it meets your license needs. For example the Emmy package is licensed under GPL.

Scittle Kitchen (the build process) is distributed under the EPL License. See LICENSE.