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

@xmark/client

v2.5.6

Published

This project was bootstrapped with [Create Blocklet](https://github.com/blocklet/create-blocklet).

Readme

Getting Started with Create Blocklet

This project was bootstrapped with Create Blocklet.

This blocklet is a static project, which means this is a frontend application. It's contained client code.

File Structure

  • app/ - Client side code (A static html project structure)
  • .env - Environment variables
  • .env.local - Local environment variables
  • .eslintrc.js - ESLint configuration
  • .gitignore - Git ignore file
  • .prettierrc - Prettier configuration
  • blocklet.md - Blocklet README
  • blocklet.yml - Blocklet configuration
  • LICENSE - License file
  • logo.png - Blocklet logo file
  • Makefile - Makefile
  • package.json - Npm package file
  • README.md - A guide for this blocklet
  • version - Version file

Development

  1. Make sure you have @blocklet/cli installed

    Blocklet needs blocklet server as a dependency. So you need to install it first.
    npm install -g @blocklet/cli
    See details in https://docs.arcblock.io/abtnode/en/introduction/abtnode-setup#use-the-binary-distribution

  2. Init blocklet server & start blocklet server

    Before starting an blocklet server, you need to init blocklet server.
    blocklet server init --mode=debug
    blocklet server start
    See details in https://docs.arcblock.io/abtnode/en/introduction/abtnode-setup#configure-abt-node

  3. Go to the project directory cd [name]

  4. Install dependencies: npm install or yarn

  5. Start development server: blocklet dev

Bundle

After developing a blocklet, you may need to bundle it. Use npm run bundle command.

Deploy

  • If you want to deploy this blocklet to local blocklet server, you can use blocklet deploy .blocklet/bundle command(Make sure the blocklet is bundled before deployment.)

    Or you can simply use npm run deploy command.

  • If you want to deploy this blocklet to remote blocklet server, you can use the command below.

    blocklet deploy .blocklet/bundle --endpoint {your blocklet server url} --access-key {blocklet server access key} --access-secret {blocklet server access secret}

    Make sure the blocklet is bundled before deployment.

Upload to blocklet store

  • If you want to upload the blocklet to any store for other users to download and use, you can following the following instructions.

    Bump version at first.

    make bump-version

    Then config blocklet store url. You can use those store url in below.

    1. https://store.blocklet.dev/
    2. https://dev.store.blocklet.dev/
    3. A blocklet store started by yourself.

      Make sure you have installed a blocklet store on your own blocklet server. Check it on here: https://store.blocklet.dev/blocklet/z8ia29UsENBg6tLZUKi2HABj38Cw1LmHZocbQ

    blocklet config set store {store url}

    Get a accessToken from blocklet store.

    Why we need a accessToken?
    A accessToken is genrate by blocklet store, which help us upload our blocklet to any store.

    Set accessToken to blocklet config

    blocklet config set accessToken {accessToken}

    Upload a new version to a store.

    Make sure the blocklet is bundled before upload.

    blocklet upload

    Or you can simply use npm run upload command.

  • You also can upload a new version to blocklet store by Github CI.
    Bump version at first.

    make bump-version

    Push your code to Github main/master branch, or make a pull request to the main/master branch.
    The CI workflow will automatically upload a new version to a store.

Q & A

  1. Q: How to change a blocklet's name?

    A: Change the name field in the package.json file, change the name field in the blocklet.yml file.

    You can also change the title field and description field in the blocklet.yml file.

    Run blocklet meta command, you will get a did config, copy the did value.

    Replace this command "bundle": "PUBLIC_URL='/.blocklet/proxy/{did}' npm run build", in package.json

    Replace did field in the blocklet.yml

  2. Q: How to change a blocklet's logo?

    Change the logo.png file root folder.

    Or you can change the logo field in the blocklet.yml file.

    Make sure you have added the logo path to the blocklet.yml file files field.

Learn More

License

The code is licensed under the Apache 2.0 license found in the LICENSE file.