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 🙏

© 2026 – Pkg Stats / Ryan Hefner

jizy-cooky

v2.1.5

Published

A lightweight and extensible GDPR management library

Readme

Cooky

Cooky is a simple and extensible GDPR Cookie consent management tool.

How it works

The consent manager displays an alert if user consent is needed for non-technical (third-party) cookies. If only technical cookies are present, the alert is not shown. However, the consent manager interface can always be accessed by the user for informational purposes, even if no consent is required.

The Cooky object is added to the global window object when the script is loaded. You can also import the classes individually if you are using a module bundler.

Installation

npm install jizy-cooky

Usage

See example files in example/ for practical usage.

Useful methods

It is easy to interact with the Cooky manager programmatically. Here are some useful methods:

  • Cooky.init(options): Initialize the Cooky manager with optional configuration
  • Cooky.config(config): Update the Cooky configuration
  • Cooky.show(): Show the Cooky manager interface
  • Cooky.hide(): Hide the Cooky manager interface

When using the devmode Plugin you can also use:

  • Cooky.addCategory(category): Add a new Category
  • Cooky.addLanguage(language): Add a new Language
  • Cooky.addService(service): Add a new Service
  • Cooky.addPlugin(plugin): Add a new Plugin
  • Cooky.addTranslations(code, translations): Add new translations for a language code
  • Cooky.appendTranslations(translations): Append translations for multiple languages
  • Cooky.appendServiceData(serviceId, data): Append data to an existing Service
  • Cooky.appendServiceCookies(serviceId, cookies): Append cookies to an existing Service

Events

The following custom events are dispatched on the document object:

  • cooky.show: Show the consent manager interface
  • cooky.hide: Hide the consent manager interface
  • cooky.translate: Translate the consent manager interface. The event detail contains the code of the new language.
  • cooky.respond.all: Triggered when the user responds to all services (accept or reject). The event detail contains accept (boolean) and optional timeout (ms before reload).
  • cooky.respond.one: Triggered when the user responds to a single service (accept or reject). The event detail contains accept (boolean), serviceId (string), and optional timeout (ms before reload).

An Observer checks for DOM changes. For example adding class="cooky-needs-consent" to the body, triggers the consent manager.