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 🙏

© 2024 – Pkg Stats / Ryan Hefner

@devicefarmer/stf-browser-db

v1.0.2

Published

A simple browser database with icons for STF.

Downloads

1,628

Readme

stf-browser-db

stf-browser-db provides the simple browser database used by STF. While it aims to be platform agnostic, we have only sampled Android browsers so far.

Features and provided data

Browser information is provided in the following format in inventory.json.

{
  "android-browser": {
    "developer": "Google Inc.",
    "name": "Browser",
    "platforms": {
      "android": {
        "package": "com.android.browser",
        "system": true
      }
    }
  }
}

Additionally, an icon is provided for each system browser in the static folder. These have been grabbed manually using a separate tool. For non-system browsers, an icon is fetched automatically from the corresponding app store.

Requirements for building

On OS X, you can install the last three with:

brew install jq pngcrush graphicsmagick

Building

Simply run make at the top of the repo after making sure you have the requirements installed. You will then have a complete list of resized icons in the dist folder.

Usage

Install via NPM:

npm install --save stf-browser-db

The module is prebuilt before publishing, so you don't need the build requirements if you just want to use the library.

You are then able to access the inventory by requiring the module:

var inventory = require('stf-browser-db')

The unique key of each browser also works as the icon filename (after adding the .png suffix). The icons can be found from the dist folder after building or installing the module. It can be served as a static folder.

Adding a new browser

Non-system browsers

If you are adding a non-system browser (i.e. a browser that can be found from the platform's app store), simply modify inventory.json making sure to insert the correct package name.

Running make will then fetch the app's icon, resize it, and place the resized images into the dist folder.

System browsers

If you're adding a new system browser, you're in for some trouble. First you must find a way to import the app's icon from your device. We do have a tool for this but it's not convenient enough for open sourcing - yet! Try to get the best quality PNG you can find.

After you've got the icon, rename it to match the unique ID you gave to the app in inventory.json, and place the icon to the corresponding platform folder inside the static folder. It needs to be in PNG format. You will also need to place a JSON file with the same name there. The JSON file mimics (in a very minimal way) a response from the app store. Currently, its contents are not being used in the Makefile, but we may do so in the future. Open one of the existing JSON files to see the expected format.

Running make will then load the icon from the static folder, resize it, and place the resized images into the dist folder.

Contributing

See CONTRIBUTING.md.

License

See LICENSE.

Copyright © CyberAgent, Inc. All Rights Reserved.