chrome-webstore-upload
A small node.js module to upload/publish extensions to the Chrome Web Store.
If you're looking to upload/publish from the CLI, then use chrome-webstore-upload-cli.
Install
npm install --save-dev chrome-webstore-upload
Setup
You will need a Google API clientId
, clientSecret
and refreshToken
. Read the guide.
Usage
All methods return a promise.
Create a new client
import chromeWebstoreUpload from 'chrome-webstore-upload';
const store = chromeWebstoreUpload({
extensionId: 'ecnglinljpjkbgmdpeiglonddahpbkeb',
clientId: 'xxxxxxxxxx',
clientSecret: 'xxxxxxxxxx',
refreshToken: 'xxxxxxxxxx',
});
Upload to existing extension
import fs from 'fs';
const myZipFile = fs.createReadStream('./mypackage.zip');
const token = 'xxxx'; // optional. One will be fetched if not provided
store.uploadExisting(myZipFile, token).then(res => {
// Response is a Resource Representation
// https://developer.chrome.com/webstore/webstore_api/items#resource
});
Publish extension
const target = 'default'; // optional. Can also be 'trustedTesters'
const token = 'xxxx'; // optional. One will be fetched if not provided
store.publish(target, token).then(res => {
// Response is documented here:
// https://developer.chrome.com/webstore/webstore_api/items/publish
});
Get a Chrome Web Store item
const projection = "DRAFT"; // optional. Can also be 'PUBLISHED' but only "DRAFT" is supported at this time.
const token = "xxxx"; // optional. One will be fetched if not provided
store.get(projection, token).then((res) => {
// Response is documented here:
// https://developer.chrome.com/docs/webstore/webstore_api/items/get
});
Fetch token
store.fetchToken().then(token => {
// Token is a string
});
Tips
- If you plan to upload and publish at the same time, use the
fetchToken
method, and pass it to bothuploadExisting
andpublish
as the optional second parameter. This will avoid those methods making duplicate calls for new tokens.
Related
- webext-storage-cache - Map-like promised cache storage with expiration. Chrome and Firefox
- webext-dynamic-content-scripts - Automatically registers your content_scripts on domains added via permission.request
- Awesome-WebExtensions - A curated list of awesome resources for WebExtensions development.
- More…