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 🙏

© 2025 – Pkg Stats / Ryan Hefner

@ts4nfdi/terminology-service-suite

v6.4.5

Published

This project includes a widget component library derived from the semantic lookup service SemLookP. The Terminology Service is a repository for biomedical resources that aims to provide a single point of access to the latest ontology and terminology versi

Readme

Usage

Demo projects:

A minimal Next.js React app using the NPM React package

Projects, which use the widgets in production:

TS4NFDI Service Portal

Usage of the NPM package

  1. Install the package
npm install @ts4nfdi/terminology-service-suite
  1. Install peer dependencies
npm install @elastic/[email protected] @emotion/[email protected] [email protected] [email protected] [email protected] [email protected] [email protected] @elastic/[email protected]
  1. In the 'Docs' tab of the widgets in the React Storybook, a code snippet is provided in the Show code drop-down below the sample widget. Copy the snippet, add into your app and replace with your parameters. See example below:
<AutocompleteWidget
  api="https://semanticlookup.zbmed.de/ols/api/"
  placeholder="Search for a Concept"
  selectionChangedEvent={() => {console.log("selectionChangedEvent")}}
/>
  1. Wrap inside QueryClientProvider
    The widgets use react-query to fetch data. To make the widgets work properly, you have to wrap the component inside a QueryClientProvider. For help see QueryClient.
import {QueryClient, QueryClientProvider} from "react-query";

const queryClient = new QueryClient();

<QueryClientProvider client={queryClient}>
    <AutocompleteWidget
        ...
    />
</QueryClientProvider>

Hints:

  • The TSS is a client library - in a Next.js app, the 'use client'-directive is needed
  • We can provide server functions at user request, e.g. getBreadcrumbData() to allow server side data fetching. Pull request

Usage of older versions

Versions older than 5.0 are published at GitHub.

To install the GitHub package, you need to authenticate to GitHub.com. Detailed documentation on this topic can be found here.

  1. Create a Personal Access Token (PAT), see Creating a personal access token (classic). To download and install packages from a repository, your personal access token must have the read:packages scope, and your user account must have read permission.
  2. Create a local ~/.npmrc file add the following two lines to it. Replace TOKEN with your personal access token
//npm.pkg.github.com/:_authToken=TOKEN
@ts4nfdi:registry=https://npm.pkg.github.com
  1. Install the package
npm install @ts4nfdi/terminology-service-suite
  1. Install peer dependencies (package versions depend on the respective widget version)
npm install @elastic/[email protected] @emotion/[email protected] [email protected] [email protected] [email protected] [email protected] [email protected] @elastic/[email protected]
  1. Implement as described above.

Development instructions

https://github.com/ts4nfdi/terminology-service-suite/wiki/Development-instructions