Research
Security News
Malicious npm Packages Inject SSH Backdoors via Typosquatted Libraries
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
webext-buildtools-chrome-webstore-builder
Advanced tools
webext-buildtools builder for deploying to Chrome Webstore. Based on chrome-webstore-upload
webext-buildtools builder which allows you to upload, publish and download crx file from Chrome Web Store.
If you need a complete solution for Web Extension build/deploy, go to webext-buildtools-integrated-builder repo.
To read what are webext-buildtools and builders go to webext-buildtools-builder-types repo.
npm install webext-buildtools-chrome-webstore-builder
Builder is based on typed-chrome-webstore-api package and allows you to upload and publish your Web Extension to Chrome Web Store and then download published crx file.
Builder doesn't allow publish a new extension, only update the existing one (specified by extensionId
in options)
with new version.
const ChromeWebstoreBuilder = require('webext-buildtools-chrome-webstore-builder').default;
const fs = require('fs-extra');
const options = { ... }; // see description below
const logMethod = console.log;
const builder = new ChromeWebstoreBuilder(options, logMethod);
// You can omit this, manifest will be extracted from zip file
builder.setInputManifest(await fs.readJson('./ext_dir/package.json'));
builder.setInputZipBuffer(await fs.read('./packed.zip'));
builder.requireUploadedExt();
builder.requirePublishedExt();
builder.requirePublishedCrxFile();
const buildResult = await builder.build();
Options object described in declarations/options.d.ts
See how to get logMethod
for pretty output.
To setup API access you need to specify clientId
, clientSecret
and refreshToken
in options.apiAccess
.
To find out how to obtain them you can read:
Alternatively, you can directly set valid options.accessToken
(be sure it's not expired).
setInputManifest(...)
. Optional. Object with parsed extension's package.json
. Will be extracted from zip if not specified.setInputZipBuffer(...)
. Buffer with zipped extension dir. Required to upload extension.You can use webext-buildtools-dir-reader-mw to generate needed inputs from extension directory.
Require to upload extension to Chrome Web Store (first step before publish)
Required options: extensionId
, apiAccess
or accessToken
Require methods: requireUploadedExt()
Assets:
const uploadInfo = buildResult.getAssets().uploadedExt.getValue()
Contains information about extension before and after upload
upload info definition
Require to publish extension to Chrome Web Store (second step).
Normally is used with requireUploadedExt()
, but can be used to publish already uploaded version
Required options: extensionId
, apiAccess
or accessToken
Require methods: requirePublishedExt()
Assets:
const publishInfo = buildResult.getAssets().publishedExt.getValue()
publish info definition
Download published crx file from Chrome Web Store (undocumented feature). Normally is
used together with requireUploadedExt()
and requirePublishedExt()
, but can be used
separately to download crx file for extensionId
specified in options.
Required options: downloadCrx.outCrxFilePath
(for not temporary file), extensionId
Require methods: requirePublishedCrxFile()
, requirePublishedCrxBuffer()
Assets:
const crxFilePath = buildResult.getAssets().publishedCrxFile.getValue()
const crxBuffer = buildResult.getAssets().publishedCrxBuffer.getValue()
builder.build()
call can be rejected with general Error
or the following specific errors if
extension upload was required:
InvalidManifestVersionError
if manifest file has invalid extension version.NewerVersionAlreadyUploadedError
if currently uploaded version is greater than the version in
the extension manifest.SameVersionAlreadyUploadedError
if currently uploaded version equals to the version in
the extension manifest.UploadInReviewError
if upload failed due to item currently in the review state.FAQs
webext-buildtools builder for deploying to Chrome Webstore. Based on chrome-webstore-upload
The npm package webext-buildtools-chrome-webstore-builder receives a total of 8 weekly downloads. As such, webext-buildtools-chrome-webstore-builder popularity was classified as not popular.
We found that webext-buildtools-chrome-webstore-builder demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.