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

@neelegirl/baileys

v2.2.0

Published

Conservative Neelegirl-maintained CommonJS WhatsApp Web client based on WhiskeySockets/Baileys with preserved QR, NEELE message IDs and device/LID handling.

Readme

@neelegirl/baileys

Neelegirl Baileys

Conservative Neelegirl-maintained CommonJS WhatsApp Web client based on WhiskeySockets/Baileys, prepared for local use and publish review without removing project-specific behavior.

Reference Status

  • Public reference checked on 2026-03-20 against WhiskeySockets/Baileys master
  • Reference HEAD: d0779026958ca607e4efd4abef8ba89d581e7027
  • Public upstream package version at that snapshot: 7.0.0-rc.9

This package is not a blind mirror of upstream. It intentionally keeps Neelegirl-specific runtime behavior and CommonJS packaging where that is required for compatibility with the local stack.

What Was Explicitly Preserved

  • QR code flow and terminal QR handling
  • NEELE message-ID special handling
  • Neelegirl-specific device and message labeling behavior
  • Existing WhatsApp Web focused socket defaults and event flow
  • Legacy auth helpers already shipped in this package: useMultiFileAuthState, useSingleFileAuthState, useMongoFileAuthState
  • Existing store helpers already shipped in this package: makeInMemoryStore, makeCacheManagerStore

What Was Updated Conservatively In 2.2.0

  • Fixed WA Web version fetching so fetchLatestWaWebVersion() can parse sw.js correctly
  • Preserved the NEELE message-ID path while correcting helper edge cases
  • Forwarded alternative addressing fields more cleanly in decoded message keys: remoteJidAlt, participantAlt, addressingMode
  • Hardened LID migration calls so custom repositories do not fail noisily
  • Cleaned publish metadata: recursive files, explicit exports, corrected package description
  • Rewrote the README to match the code that is actually present

What Was Not Adopted From Upstream

  • No full ESM-only migration
  • No Node 20 only engine jump
  • No blind replacement of Neelegirl QR, ID, logging or device logic
  • No forced adoption of every new upstream internal module

Installation

npm install @neelegirl/baileys

Quick Start

const {
  default: makeWASocket,
  Browsers,
  DisconnectReason,
  fetchLatestBaileysVersion,
  useMultiFileAuthState
} = require('@neelegirl/baileys')
const { Boom } = require('@hapi/boom')

async function start() {
  const { state, saveCreds } = await useMultiFileAuthState('./auth_info')
  const { version } = await fetchLatestBaileysVersion()

  const sock = makeWASocket({
    version,
    auth: state,
    printQRInTerminal: true,
    browser: Browsers.ubuntu('Chrome')
  })

  sock.ev.on('creds.update', saveCreds)

  sock.ev.on('connection.update', ({ connection, lastDisconnect }) => {
    if (connection === 'close') {
      const shouldReconnect =
        (lastDisconnect?.error instanceof Boom
          ? lastDisconnect.error.output?.statusCode
          : undefined) !== DisconnectReason.loggedOut

      if (shouldReconnect) {
        start().catch(console.error)
      }
      return
    }

    if (connection === 'open') {
      console.log('WhatsApp Web connection opened')
    }
  })
}

start().catch(console.error)

Pairing And QR Notes

  • printQRInTerminal: true keeps the QR flow active
  • requestPairingCode(phoneNumber, customCode?) is available on the socket
  • This package keeps the existing Neelegirl QR and pairing behavior instead of replacing it with upstream packaging changes

Addressing And Device Notes

The package keeps Neelegirl-specific message and device handling and now forwards the additional addressing fields more consistently:

  • key.remoteJid
  • key.remoteJidAlt
  • key.participant
  • key.participantAlt
  • key.addressingMode

This is relevant for PN/LID mixed environments, Web-specific event handling and group/member tagging behavior.

Exports Available In This Package

  • Root entry: require('@neelegirl/baileys')
  • Compatibility root subpath: require('@neelegirl/baileys/lib')
  • WAProto subpath: require('@neelegirl/baileys/WAProto')

Primary runtime exports include:

  • makeWASocket
  • proto
  • Browsers
  • fetchLatestBaileysVersion
  • fetchLatestWaWebVersion
  • useMultiFileAuthState
  • useSingleFileAuthState
  • useMongoFileAuthState
  • makeInMemoryStore
  • makeCacheManagerStore

Requirements

  • Node.js >=16.0.0
  • A WhatsApp account that is allowed to link a Web client

Limits And Honesty Notes

  • This package does not claim to be a 1:1 upstream 7.x layout
  • This package does not bundle every new upstream internal module
  • This README does not claim unsupported helpers such as createSmartMessageQueue()

License

MIT