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

@bigbinary/neeto-unlisted-links-frontend

v0.1.4

Published

Frontend modal and hooks for managing unlisted links across neeto products.

Downloads

763

Readme

neeto-unlisted-links-engine

The neeto-unlisted-links-engine manages unlisted public links across neeto products. An unlisted link is a secret, non-indexed URL that grants read-only access to a specific resource (e.g. an article, project, board) without making the resource globally public. Links can optionally auto-expire.

Contents

  1. Development with Host Application
  2. Instructions for Publishing

Development with Host Application

Engine

Installation

  1. Add the gem to the host application's Gemfile:

    gem "neeto-unlisted-links-engine"
  2. Install it:

    bundle install
  3. Copy the migration files into your host application:

    bin/rails generate neeto_unlisted_links_engine:install
  4. Run the migration:

    bin/rails db:migrate

Usage

Include the Unlistable concern on any model whose records can have an unlisted link. The model should belong_to an organization (or any object that responds to root_url):

class Article < ApplicationRecord
  include NeetoUnlistedLinksEngine::Unlistable

  belongs_to :organization
end

The concern wires a has_one :unlisted_link association. You can read/generate links through the NeetoUnlistedLinksEngine::LinksService:

service = NeetoUnlistedLinksEngine::LinksService.new(article)
service.generate_link
service.regenerate_link(expiration_type: "thirty_days",
  expiration_date: 30.days.from_now)
service.update(status: "inactive")
Public access

Wire a public-facing controller in the host application. The engine exposes a lookup method that returns the matching link if it is active and not expired:

class UnlistedLinksController < ApplicationController
  def show
    link = NeetoUnlistedLinksEngine::Link.resolve(params[:identifier])
    @unlistable = link&.unlistable

    return head(:not_found) unless @unlistable

    render "articles/show"
  end
end
# config/routes.rb
get "/public/:identifier", to: "unlisted_links#show"

Frontend package

The matching npm package is @bigbinary/neeto-unlisted-links-frontend. It exports a modal that, given a resource URL prefix, displays the unlisted link, its expiry state, and a regenerate flow.

import { UnlistedLinks } from "@bigbinary/neeto-unlisted-links-frontend";

<UnlistedLinks
  isOpen={isOpen}
  onClose={onClose}
  resourceUrl="/api/v1/admin/articles/123/unlisted_link"
/>;

Instructions for Publishing

  1. Bump lib/neeto_unlisted_links_engine/version.rb.
  2. Update CHANGELOG.md.
  3. gem build neeto-unlisted-links-engine.gemspec.
  4. gem push neeto-unlisted-links-engine-<version>.gem --host https://private-gems.neeto.com.
  5. For the frontend package, bump package.json, run yarn build, and npm publish.