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-tags-playwright

v1.0.3

Published

Playwright helpers for the neeto tags nano.

Readme

Tags Playwright helpers

@bigbinary/neeto-tags-playwright contains the tags POM, API helper, selectors, and types owned by this nano. It is versioned and published independently of @bigbinary/neeto-tags-frontend.

Usage

Install it in the consuming product's playwright-tests/ directory:

yarn add -D @bigbinary/neeto-tags-playwright

The product supplies the peer dependencies listed in package.json, including @bigbinary/neeto-playwright-commons. The frontend package is not required.

Like commons, the package is ES-module only, and Playwright loads specs as CommonJS. Add a path alias next to @neetoplaywright in the product's playwright-tests/tsconfig.json, and import through it.

"paths": {
  "@neetotags": ["./node_modules/@bigbinary/neeto-tags-playwright"]
}
import {
  MERGE_TAGS_SELECTORS,
  TAGS_SELECTORS,
  TagsApi,
  TagsPage,
} from "@neetotags";
  • Construct TagsPage with (page, neetoPlaywrightUtilities, tagsRequestUrl?). It drives the nano's /v2 dashboard, merge flow, and entity tag picker UI. Pass tagsRequestUrl when the host serves the tags API somewhere other than ${BASE_URL}/admin/tags (/api/v1/admin/tags), for example ${BASE_URL}/desk/tags in neetoDesk.
  • addTagViaUI({ tagName, description, addTagsLabel }), fillTagDetails, editTagViaUI, verifyTag, deleteTagViaUI, attemptDeleteTagViaUIAndExpectError, searchAndVerifyTags, and filterTagsViaUI drive the tags dashboard and form sheet. getTagRow(tagName) returns the matching dashboard row locator.
  • addTagViaRequest({ name, description, style }) creates a tag through the API and returns it. deleteTagViaRequest(tagId) deletes one. deleteTagsByNameViaRequest(names) fetches tags from the configured URL and deletes every returned tag whose name exactly matches an entry in names. It does nothing when no names match.
  • navigateToMergeTagsPage() opens the merge page. Call it before mergeTags({ sourceTags, destinationTag }) or mergeAndVerifyTagsViaUI, then use verifyMergedTags to check the result. searchAndSelect({ selector, tagName, rowSelector }) searches and selects a source or destination tag in the merge form.
  • assignTag({ tagName, pickerTestId, create }) and removeAssignedTag({ tagName }) drive the entity TagsComponent picker and selected tag badges. By default, assignTag finds the V2 popover's combobox by its translated search placeholder. Pass pickerTestId for a host-specific input, including an inline picker.
  • verifyTagOption(tagName, { visible = true } = {}) opens the V2 popover, searches for the name, checks the matching option's visibility, and closes the picker. Use { visible: false } for a missing or already assigned tag. Its options type is exported as VerifyTagOptionProps.
  • new TagsApi(neetoPlaywrightUtilities, tagsRequestUrl?) wraps the nano's REST endpoints: fetch(params), create({ name, description, style }), update({ id, ... }), delete(id), and merge({ primaryId, secondaryId }).
  • The host's i18next fixture must load the nano translations before a POM is created.

Breaking selector removals

The following TAGS_SELECTORS keys were removed because V2 does not render them:

  • deleteTagButton and tagContainer: use COMMON_SELECTORS.badgeCloseButton and COMMON_SELECTORS.badgeContainer for V2 badges.
  • metaDataBlock, tagItemsCountButton, and metaDataCard: V1-only IDs.
  • tagSearchField: neither the nano nor neeto-atoms generates select-tag-container. The V2 popover uses an optional host-supplied test ID; the inline Select generates <prefix>-select-input. Use assignTag's default popover lookup or pass the host's actual input ID as pickerTestId.

Local development

To try unreleased changes in a product, publish with yalc from this directory, then add the package in the product's playwright-tests/ directory. Remove the yalc link before committing so the product's manifest and lockfile stay unchanged:

yarn build && yalc publish
cd path/to/product/playwright-tests
yalc add --dev @bigbinary/neeto-tags-playwright

After the first publish, yalc push from playwright/ updates every product that added the package. Remove it with yalc remove @bigbinary/neeto-tags-playwright.

Releasing

Add playwright and exactly one of patch, minor, or major, then add release last to enter the NeetoTower release gate described in the root README. Removing public selectors requires minor. After the gate merges the PR, the NeetoCI bump workflow publishes this package and opens the Bump version PR.