You will need a Google API clientId, clientSecret, and a refreshToken. Read the guide.
$ chrome-webstore-upload --help
CLI Utility to quickly upload + publish extensions to the Chrome Web Store
Usage
$ chrome-webstore-upload [command]
where [command] can be one of
upload, publish
if the command is missing, it will both upload and publish the extension.
Options
--source Path to either a zip file, a crx file, or a directory to be zipped. Defaults to the value of webExt.sourceDir in package.json or the current directory if not specified
--extension-id The ID of the Chrome Extension (environment variable EXTENSION_ID)
--trusted-testers Can be used with the "publish" command
--deploy-percentage Can be used with the "publish" command. Defaults to 100
--max-await-in-progress Max time to wait for the upload to complete, if it's returning IN_PROGRESS (in seconds, defaults to 300)
Environment Variables (required)
CLIENT_ID OAuth2 Client ID
CLIENT_SECRET OAuth2 Client Secret
REFRESH_TOKEN OAuth2 Refresh Token
Examples
Upload and publish a new version, using existing environment variables and the default value for --source
$ chrome-webstore-upload
Upload new extension archive to the Chrome Web Store
$ chrome-webstore-upload upload --source my-custom-zip.zip
Publish the last uploaded version (whether it was uploaded via web UI or via CLI)
$ chrome-webstore-upload publish --extension-id elomekmlfonmdhmpmdfldcjgdoacjcba
The following projects use this package to facilitate auto-deployment of extensions