0.5.0 • Published 4 years ago

chrome-webstore-manager v0.5.0

Weekly downloads
226
License
MIT
Repository
github
Last release
4 years ago

chrome-webstore-manager

npm.io

npm.io

INSTALL

$ npm install -g chrome-webstore-manager

HOW TO USE

Create new item

  • $ chrome-webstore-manager insert /path/to/your_extension.zip
    • caution: it requires zip NOT crx
  • return value: chrome-web-store-item-id

Only this command, your items is under draft. So you should publish item. I write about it on below.

Publish item

  • $ chrome-webstore-manager publish ITEM_ID
    • ITEM_ID: chrome-web-store-item-id

Update item

  • $ chrome-webstore-manager update ITEM_ID /path/to/your_extension.zip
    • ITEM_ID: chrome-web-store-item-id

Example

Sample webapp for release chrome extenison on heroku

https://github.com/pastak/chrome-extension-release-heroku

Use on NodeJS

const ChromeWebstore = require('chrome-webstore-manager')
const fileBin = fs.readFileSync('./extension.zip')
// chrome web store item id
const itemId = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'

// Initialize with ClientID and ClinetSecret
const chromeWebstore = new ChromeWebstore(client_id, client_secret)

// Get authorize URL
const getCodeUrl = chromeWebstore.getCodeUrl()

const code = open_browser_and_input_authorized_code(getCodeUrl)

// Get OAuth access token
const token = chromeWebstore.getAccessToken(code)

// Create new item
chromeWebstore.insertItem(token, fileBin).then((data) => { do_something })

// Update item
chromeWebstore.updateItem(token, fileBin, itemId).then((data) => { do_something })

// Make item publish
// target is 'trustedTesters' OR 'default'. default is 'default'
const target = 'trustedTesters'
chromeWebstore.publishItem(token, itemId, target).then((data) => { do_something })

// Get new token with refresh_token
chromeWebstore.getRefreshToken(refreshToken).then(function (data) {
  const json = JSON.parse(data)
  const newToken = json.access_token
})

More Info about token

Get access token

Set your access_token

  • You can pass access_token to command.
    • You can set command's optional value -t or --token
    • You can set access_token as environment value named WEBSTORE_TOKEN
      • If you use it on *CI, it is useful export WEBSTORE_TOKEN=[YOUR_ACCESS_TOKEN]

Get access token using refresh token

  • You get new access token with $ chrome-webstore-manager refresh_token --client_id [YOUR_CLIENT_ID] --client_secret [YOUR_CLIENT_SECRET] --refresh_token [YOUR_REFRESH_TOKEN]
    • You can use environment variable WEBSTORE_REFRESH_TOKEN instead of refresh_token

Usage Example

$ WEBSTORE_TOKEN=$(chrome-webstore-manager refresh_token ...) chrome-webstore-manager update ITEM_ID extension.zip

0.5.0

4 years ago

0.4.2

7 years ago

0.4.1

9 years ago

0.4.0

9 years ago

0.3.0

9 years ago

0.2.10

10 years ago

0.2.9

10 years ago

0.2.8

10 years ago

0.2.7

10 years ago

0.2.6

10 years ago

0.2.5

10 years ago

0.2.4

10 years ago

0.2.3

10 years ago

0.2.2

10 years ago

0.2.1

10 years ago

0.2.0

10 years ago

0.1.1

10 years ago

0.1.0

10 years ago

0.0.4

10 years ago

0.0.3

10 years ago

0.0.2

10 years ago

0.0.1

10 years ago