GithubHelp home page GithubHelp logo

stf-browser-db's Introduction

Warning

This project along with other ones in OpenSTF organisation is provided as is for community, without active development.

You can check any other forks that may be actively developed and offer new/different features here.

Active development has been moved to DeviceFarmer organisation.

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.

stf-browser-db's People

Contributors

gunta avatar koral-- avatar sorccu avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

stf-browser-db's Issues

This repository is no longer mainained

Warning

This project along with other ones in OpenSTF organisation is provided as is for community, without active development.

You can check any other forks that may be actively developed and offer new/different features here.

Active development has been moved to DeviceFarmer organisation.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.