Home

Awesome

ChromePet

A node.js command line app for reporting new extension version published on Chrome Web Store

Quick Start

npm install -g chromepet

$ chromepet -u https://chrome.google.com/webstore/detail/zenhub-for-github/ogcgkffhplmphkaahpmffcafajaocjbd -v 1.0.3

Result

Publishing version: 1.0.3; Published version: 1.0.2; Not published yet
Publishing version: 1.0.3; Published version: 1.0.2; Not published yet
Publishing version: 1.0.3; Published version: 1.0.2; Not published yet
Publishing version: 1.0.3; Published version: 1.0.2; Not published yet
...
Publishing version: 1.0.3; Published version: 1.0.2; Not published yet
New version 1.0.3 is published! UserDownloads:9,823.
Total seconds: 1.132

Module API

npm install chromepet

This file example/zenhub.js is to check if a new version of ZenHub Chrome Extension has been published on Chrome Web Store.

var chromepet = require('chromepet');

chromepet({
  extensionURL: 'https://chrome.google.com/webstore/detail/zenhub-for-github/ogcgkffhplmphkaahpmffcafajaocjbd',
  publishingVersion: '1.0.3'
})
.watch()
.on('end', function(extension, totalSeconds) {
  console.log(util.format('New version %s is published! %s.',
    extension.version,
    extension.interactionCount));
  console.log('Total seconds:', totalSeconds);
});

Result

$ node example/zenhub.js
Publishing version: 1.0.3; Published version: 1.0.2; Not published yet
Publishing version: 1.0.3; Published version: 1.0.2; Not published yet
Publishing version: 1.0.3; Published version: 1.0.2; Not published yet
Publishing version: 1.0.3; Published version: 1.0.2; Not published yet
...
Publishing version: 1.0.3; Published version: 1.0.2; Not published yet
New version 1.0.3 is published! UserDownloads:9,823.
Total seconds: 1.132

Read Chrome Extension's Version from manifest.json

var fs = require('fs');
var path = require('path');
var join = path.join;
var util = require('util');

var chromepet = require('chromepet');

var manifestPath = join(__dirname, './manifest.json');
console.log('reading manifest from path', manifestPath);
var manifest = require(manifestPath);
var publishingVersion = manifest.version;

chromepet({
  extensionURL: 'https://chrome.google.com/webstore/detail/zenhub-for-github/ogcgkffhplmphkaahpmffcafajaocjbd',
  publishingVersion: publishingVersion,
  watchIntervalMS: 1000,
})
.watch()
.on('error', function(error) {
  console.error('Fail to fetch', error);
})
.on('data', function(extension) {
  console.log(util.format('Publishing version: %s; Published version: %s; Not published yet',
    publishingVersion,
    extension.version));
})
.on('end', function(extension, totalSeconds) {
  console.log(util.format('New version %s is published! %s.',
    extension.version,
    extension.interactionCount));
  console.log('Total seconds:', totalSeconds);
});

Contributors