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

godarkmode

v1.1.1

Published

Manages Dark & Light mode switch in your TailwindCSS, Next.js or vanilla JS website.

Downloads

16

Readme

goDarkMode

A simple library for switching between Dark & Light mode on your website. It does this by managing the CSS class dark on your document element. goDarkMode is compatible with TailwindCSS and Next.js. But, you can also use it standalone in a vanilla JS project.

Installation

Using npm:

$ npm install godarkmode

Using yarn:

$ yarn add godarkmode

Using unpkg CDN:

<script src="https://unpkg.com/godarkmode/goDarkMode.js"></script>

Usage

goDarkMode is pretty simple. There is nothing to configure and it only has a single method, .goDarkMode:

// On a users first visit to the website, pick
// a mode based on their default OS settings.
//
// On future visits, just pick their saved choice.
const mode = goDarkMode('auto') // => 'dark' || 'light'


// For the website to use the dark mode either
// based on your preference or the users pick
// via the UI.
//
// You just need to specify the dark mode.
const mode = goDarkMode('dark') // => 'dark'


// For the website to use the light mode either
// based on your preference or the users pick
// via the UI.
//
// You just need to specify the light mode.
const mode = goDarkMode('light') // => 'light'

Usage with Next.js

To avoid the package from breaking your Next.js build as it is only meant to be used in a browser environment. You need to install the next-transpile-modules package and configure your next.config.js file accordingly.

// next.config.js

const withTM = require('next-transpile-modules')(['godarkmode'])

module.exports = withTM({
  reactStrictMode: true,
})

Followed by wherever you are calling the goDarkMode method, make sure to check it is only called when running inside of a browser environment.

typeof window !== 'undefined' && goDarkMode('auto');

Contributing

Everyone is encouraged to help improve this project. Here are a few ways you can help:

Credit

goDarkMode is made by Usman Bashir. Keep in touch with me by subscribing to The Weekly Dispatch newsletter.

License

MIT