Socket
Socket
Sign inDemoInstall

gulp-chrome-web-store

Package Overview
Dependencies
293
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.0.2 to 0.1.0

95

dist/index.js

@@ -45,54 +45,61 @@ "use strict";

var PLUGIN_NAME = 'gulp-chrome-web-store';
module.exports = function Plugin(id, credential, accessTokenResponse) {
module.exports = function Plugin(credential, accessTokenResponse) {
var api = new chrome_web_store_1.default(typeof credential === 'string' ? JSON.parse(credential) : credential, typeof accessTokenResponse === 'string' ? JSON.parse(accessTokenResponse) : accessTokenResponse);
return {
upload: function (uploadType) {
if (uploadType === void 0) { uploadType = ''; }
return new stream_1.default.Transform({
objectMode: true,
transform: function (vinyl, encoding, callback) {
var _this = this;
api.Item.fetch(id).then(function (item) { return __awaiter(_this, void 0, void 0, function () {
var result, message;
return new /** @class */ (function () {
function ChromeWebStore() {
}
ChromeWebStore.prototype.item = function (id) {
return {
upload: function (uploadType) {
if (uploadType === void 0) { uploadType = ''; }
return new stream_1.default.Transform({
objectMode: true,
transform: function (vinyl, encoding, callback) {
var _this = this;
api.Item.fetch(id).then(function (item) { return __awaiter(_this, void 0, void 0, function () {
var result, message;
return __generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /*yield*/, item.upload(vinyl.contents, uploadType)];
case 1:
result = _a.sent();
if (result.uploadState === 'FAILURE') {
message = (result.itemError || []).map(function (error) { return error.error_detail; }).join('\n');
throw new plugin_error_1.default(PLUGIN_NAME, message);
}
this.push(vinyl);
return [2 /*return*/, null];
}
});
}); }).then(callback).catch(function (error) { return callback(new plugin_error_1.default(PLUGIN_NAME, error)); });
},
});
},
publish: function (publishTarget) {
if (publishTarget === void 0) { publishTarget = 'default'; }
return __awaiter(this, void 0, void 0, function () {
var item, result, error_1;
return __generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /*yield*/, item.upload(vinyl.contents, uploadType)];
case 0:
_a.trys.push([0, 2, , 3]);
item = new api.Item(id);
return [4 /*yield*/, item.publish(publishTarget)];
case 1:
result = _a.sent();
if (result.uploadState === 'FAILURE') {
message = (result.itemError || []).map(function (error) { return error.error_detail; }).join('\n');
throw new plugin_error_1.default(PLUGIN_NAME, message);
}
this.push(vinyl);
return [2 /*return*/, null];
(result.statusDetail || []).forEach(function (detail) { return console.log(detail); });
return [3 /*break*/, 3];
case 2:
error_1 = _a.sent();
throw new plugin_error_1.default(PLUGIN_NAME, error_1);
case 3: return [2 /*return*/];
}
});
}); }).then(callback).catch(function (error) { return callback(new plugin_error_1.default(PLUGIN_NAME, error)); });
});
},
});
},
publish: function (publishTarget) {
if (publishTarget === void 0) { publishTarget = 'default'; }
return __awaiter(this, void 0, void 0, function () {
var item, result, error_1;
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
_a.trys.push([0, 2, , 3]);
item = new api.Item(id);
return [4 /*yield*/, item.publish(publishTarget)];
case 1:
result = _a.sent();
(result.statusDetail || []).forEach(function (detail) { return console.log(detail); });
return [3 /*break*/, 3];
case 2:
error_1 = _a.sent();
throw new plugin_error_1.default(PLUGIN_NAME, error_1);
case 3: return [2 /*return*/];
}
});
});
},
};
};
};
return ChromeWebStore;
}())();
};
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsOERBQXVDO0FBQ3ZDLGtEQUE0QjtBQUM1Qix3RUFBbUg7QUFFbkgsSUFBTSxXQUFXLEdBQUcsdUJBQXVCLENBQUM7QUFHNUMsaUJBQVMsU0FBUyxNQUFNLENBQ3RCLEVBQVUsRUFDVixVQUErQixFQUMvQixtQkFBaUQ7SUFFakQsSUFBTSxHQUFHLEdBQUcsSUFBSSwwQkFBaUIsQ0FDL0IsT0FBTyxVQUFVLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQ3BFLE9BQU8sbUJBQW1CLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUNoRyxDQUFDO0lBQ0YsT0FBTztRQUNMLE1BQU0sRUFBTixVQUFPLFVBQTJCO1lBQTNCLDJCQUFBLEVBQUEsZUFBMkI7WUFDaEMsT0FBTyxJQUFJLGdCQUFNLENBQUMsU0FBUyxDQUFDO2dCQUMxQixVQUFVLEVBQUUsSUFBSTtnQkFDaEIsU0FBUyxZQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsUUFBUTtvQkFBbkMsaUJBVUM7b0JBVEMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQU0sSUFBSTs7Ozt3Q0FDakIscUJBQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxFQUFBOztvQ0FBdEQsTUFBTSxHQUFHLFNBQTZDO29DQUM1RCxJQUFJLE1BQU0sQ0FBQyxXQUFXLEtBQUssU0FBUyxFQUFFO3dDQUM5QixPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxVQUFBLEtBQUssSUFBSSxPQUFBLEtBQUssQ0FBQyxZQUFZLEVBQWxCLENBQWtCLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7d0NBQ3JGLE1BQU0sSUFBSSxzQkFBVyxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQztxQ0FDN0M7b0NBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztvQ0FDakIsc0JBQU8sSUFBSSxFQUFDOzs7eUJBQ2IsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxLQUFLLENBQUMsVUFBQSxLQUFLLElBQUksT0FBQSxRQUFRLENBQUMsSUFBSSxzQkFBVyxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQyxFQUE3QyxDQUE2QyxDQUFDLENBQUM7Z0JBQ2xGLENBQUM7YUFDRixDQUFDLENBQUM7UUFDTCxDQUFDO1FBQ0ssT0FBTyxFQUFiLFVBQWMsYUFBd0M7WUFBeEMsOEJBQUEsRUFBQSx5QkFBd0M7Ozs7Ozs7NEJBRTVDLElBQUksR0FBRyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7NEJBQ2YscUJBQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsRUFBQTs7NEJBQTFDLE1BQU0sR0FBRyxTQUFpQzs0QkFDaEQsQ0FBQyxNQUFNLENBQUMsWUFBWSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFBLE1BQU0sSUFBSSxPQUFBLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQW5CLENBQW1CLENBQUMsQ0FBQzs7Ozs0QkFFbkUsTUFBTSxJQUFJLHNCQUFXLENBQUMsV0FBVyxFQUFFLE9BQUssQ0FBQyxDQUFDOzs7OztTQUU3QztLQUNGLENBQUM7QUFDSixDQUFDLENBQUMiLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUGx1Z2luRXJyb3IgZnJvbSAncGx1Z2luLWVycm9yJztcbmltcG9ydCBzdHJlYW0gZnJvbSAnc3RyZWFtJztcbmltcG9ydCBDaHJvbWVXZWJTdG9yZUFQSSwgeyBBY2Nlc3NUb2tlblJlc3BvbnNlLCBDcmVkZW50aWFsLCBQdWJsaXNoVGFyZ2V0LCBVcGxvYWRUeXBlIH0gZnJvbSAnLi9jaHJvbWUtd2ViLXN0b3JlJztcblxuY29uc3QgUExVR0lOX05BTUUgPSAnZ3VscC1jaHJvbWUtd2ViLXN0b3JlJztcblxuLy8gdHNsaW50OmRpc2FibGU6IG5vLWNvbnNvbGVcbmV4cG9ydCA9IGZ1bmN0aW9uIFBsdWdpbihcbiAgaWQ6IHN0cmluZyxcbiAgY3JlZGVudGlhbDogc3RyaW5nIHwgQ3JlZGVudGlhbCxcbiAgYWNjZXNzVG9rZW5SZXNwb25zZTogc3RyaW5nIHwgQWNjZXNzVG9rZW5SZXNwb25zZSxcbikge1xuICBjb25zdCBhcGkgPSBuZXcgQ2hyb21lV2ViU3RvcmVBUEkoXG4gICAgdHlwZW9mIGNyZWRlbnRpYWwgPT09ICdzdHJpbmcnID8gSlNPTi5wYXJzZShjcmVkZW50aWFsKSA6IGNyZWRlbnRpYWwsXG4gICAgdHlwZW9mIGFjY2Vzc1Rva2VuUmVzcG9uc2UgPT09ICdzdHJpbmcnID8gSlNPTi5wYXJzZShhY2Nlc3NUb2tlblJlc3BvbnNlKSA6IGFjY2Vzc1Rva2VuUmVzcG9uc2UsXG4gICk7XG4gIHJldHVybiB7XG4gICAgdXBsb2FkKHVwbG9hZFR5cGU6IFVwbG9hZFR5cGUgPSAnJykge1xuICAgICAgcmV0dXJuIG5ldyBzdHJlYW0uVHJhbnNmb3JtKHtcbiAgICAgICAgb2JqZWN0TW9kZTogdHJ1ZSxcbiAgICAgICAgdHJhbnNmb3JtKHZpbnlsLCBlbmNvZGluZywgY2FsbGJhY2spIHtcbiAgICAgICAgICBhcGkuSXRlbS5mZXRjaChpZCkudGhlbihhc3luYyBpdGVtID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGl0ZW0udXBsb2FkKHZpbnlsLmNvbnRlbnRzLCB1cGxvYWRUeXBlKTtcbiAgICAgICAgICAgIGlmIChyZXN1bHQudXBsb2FkU3RhdGUgPT09ICdGQUlMVVJFJykge1xuICAgICAgICAgICAgICBjb25zdCBtZXNzYWdlID0gKHJlc3VsdC5pdGVtRXJyb3IgfHwgW10pLm1hcChlcnJvciA9PiBlcnJvci5lcnJvcl9kZXRhaWwpLmpvaW4oJ1xcbicpO1xuICAgICAgICAgICAgICB0aHJvdyBuZXcgUGx1Z2luRXJyb3IoUExVR0lOX05BTUUsIG1lc3NhZ2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5wdXNoKHZpbnlsKTtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgIH0pLnRoZW4oY2FsbGJhY2spLmNhdGNoKGVycm9yID0+IGNhbGxiYWNrKG5ldyBQbHVnaW5FcnJvcihQTFVHSU5fTkFNRSwgZXJyb3IpKSk7XG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9LFxuICAgIGFzeW5jIHB1Ymxpc2gocHVibGlzaFRhcmdldDogUHVibGlzaFRhcmdldCA9ICdkZWZhdWx0Jykge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgaXRlbSA9IG5ldyBhcGkuSXRlbShpZCk7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGl0ZW0ucHVibGlzaChwdWJsaXNoVGFyZ2V0KTtcbiAgICAgICAgKHJlc3VsdC5zdGF0dXNEZXRhaWwgfHwgW10pLmZvckVhY2goZGV0YWlsID0+IGNvbnNvbGUubG9nKGRldGFpbCkpO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgdGhyb3cgbmV3IFBsdWdpbkVycm9yKFBMVUdJTl9OQU1FLCBlcnJvcik7XG4gICAgICB9XG4gICAgfSxcbiAgfTtcbn07XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QyxDQUFDIiwiZmlsZSI6ImluZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFBsdWdpbkVycm9yIGZyb20gJ3BsdWdpbi1lcnJvcic7XG5pbXBvcnQgc3RyZWFtIGZyb20gJ3N0cmVhbSc7XG5pbXBvcnQgQ2hyb21lV2ViU3RvcmVBUEksIHsgQWNjZXNzVG9rZW5SZXNwb25zZSwgQ3JlZGVudGlhbCwgUHVibGlzaFRhcmdldCwgVXBsb2FkVHlwZSB9IGZyb20gJy4vY2hyb21lLXdlYi1zdG9yZSc7XG5cbmNvbnN0IFBMVUdJTl9OQU1FID0gJ2d1bHAtY2hyb21lLXdlYi1zdG9yZSc7XG5cbi8vIHRzbGludDpkaXNhYmxlOiBuby1jb25zb2xlXG5leHBvcnQgPSBmdW5jdGlvbiBQbHVnaW4oXG4gIGNyZWRlbnRpYWw6IHN0cmluZyB8IENyZWRlbnRpYWwsXG4gIGFjY2Vzc1Rva2VuUmVzcG9uc2U6IHN0cmluZyB8IEFjY2Vzc1Rva2VuUmVzcG9uc2UsXG4pIHtcbiAgY29uc3QgYXBpID0gbmV3IENocm9tZVdlYlN0b3JlQVBJKFxuICAgIHR5cGVvZiBjcmVkZW50aWFsID09PSAnc3RyaW5nJyA/IEpTT04ucGFyc2UoY3JlZGVudGlhbCkgOiBjcmVkZW50aWFsLFxuICAgIHR5cGVvZiBhY2Nlc3NUb2tlblJlc3BvbnNlID09PSAnc3RyaW5nJyA/IEpTT04ucGFyc2UoYWNjZXNzVG9rZW5SZXNwb25zZSkgOiBhY2Nlc3NUb2tlblJlc3BvbnNlLFxuICApO1xuICByZXR1cm4gbmV3IGNsYXNzIENocm9tZVdlYlN0b3JlIHtcbiAgICBwdWJsaWMgaXRlbShpZDogc3RyaW5nKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB1cGxvYWQodXBsb2FkVHlwZTogVXBsb2FkVHlwZSA9ICcnKSB7XG4gICAgICAgICAgcmV0dXJuIG5ldyBzdHJlYW0uVHJhbnNmb3JtKHtcbiAgICAgICAgICAgIG9iamVjdE1vZGU6IHRydWUsXG4gICAgICAgICAgICB0cmFuc2Zvcm0odmlueWwsIGVuY29kaW5nLCBjYWxsYmFjaykge1xuICAgICAgICAgICAgICBhcGkuSXRlbS5mZXRjaChpZCkudGhlbihhc3luYyBpdGVtID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBpdGVtLnVwbG9hZCh2aW55bC5jb250ZW50cywgdXBsb2FkVHlwZSk7XG4gICAgICAgICAgICAgICAgaWYgKHJlc3VsdC51cGxvYWRTdGF0ZSA9PT0gJ0ZBSUxVUkUnKSB7XG4gICAgICAgICAgICAgICAgICBjb25zdCBtZXNzYWdlID0gKHJlc3VsdC5pdGVtRXJyb3IgfHwgW10pLm1hcChlcnJvciA9PiBlcnJvci5lcnJvcl9kZXRhaWwpLmpvaW4oJ1xcbicpO1xuICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IFBsdWdpbkVycm9yKFBMVUdJTl9OQU1FLCBtZXNzYWdlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5wdXNoKHZpbnlsKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgfSkudGhlbihjYWxsYmFjaykuY2F0Y2goZXJyb3IgPT4gY2FsbGJhY2sobmV3IFBsdWdpbkVycm9yKFBMVUdJTl9OQU1FLCBlcnJvcikpKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0sXG4gICAgICAgIGFzeW5jIHB1Ymxpc2gocHVibGlzaFRhcmdldDogUHVibGlzaFRhcmdldCA9ICdkZWZhdWx0Jykge1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCBpdGVtID0gbmV3IGFwaS5JdGVtKGlkKTtcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGl0ZW0ucHVibGlzaChwdWJsaXNoVGFyZ2V0KTtcbiAgICAgICAgICAgIChyZXN1bHQuc3RhdHVzRGV0YWlsIHx8IFtdKS5mb3JFYWNoKGRldGFpbCA9PiBjb25zb2xlLmxvZyhkZXRhaWwpKTtcbiAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IFBsdWdpbkVycm9yKFBMVUdJTl9OQU1FLCBlcnJvcik7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICB9XG4gIH0oKTtcbn07XG4iXX0=
{
"name": "gulp-chrome-web-store",
"version": "0.0.2",
"version": "0.1.0",
"description": "Upload and publish items to the Chrome Web Store with Gulp",

@@ -5,0 +5,0 @@ "main": "dist/index.js",

@@ -6,1 +6,69 @@ # gulp-chrome-web-store

Upload and publish items to the Chrome Web Store with Gulp
## Installation
```sh
npm i -D gulp-chrome-web-store
```
## Configuration
Refer to [this page](https://developer.chrome.com/webstore/using_webstore_api) to get the response of credentials and access token.
Set that value in an environment variable.
- `CHROME_WEB_STORE_API_CREDENTIAL`
- `CHROME_WEB_STORE_API_ACCESS_TOKEN_RESPONSE`
For example:
```sh
export CHROME_WEB_STORE_API_CREDENTIAL=$( cat <<EOF | tr -d ' \r\n'
{
"installed": {
"client_id": "999999999999-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.apps.googleusercontent.com",
"project_id": "foo-bar-baz",
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://oauth2.googleapis.com/token",
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
"client_secret": "abcdefghijklmnopqrstuvwx",
"redirect_uris": [
"urn:ietf:wg:oauth:2.0:oob",
"http://localhost"
]
}
}
EOF
)
export CHROME_WEB_STORE_API_ACCESS_TOKEN_RESPONSE=$(cat <<EOF | tr -d ' \r\n'
{
"access_token": "vpvEyHWpX^{CQC`fREmnwCHb`ejN`ox^XxEbYDKXmghM`]lrL{ddTrxdgtgLEvAeX\oP]NkRgjFcvNE_enJZI`BNcvZScQOA\BAA|NSzB_Xg_ie_yXLrQ[sII_]r|jW{nzZULNP",
"expires_in": 3599,
"refresh_token": "riM{R[Lir|hyHT|DNeWZhQzVpOjvTbTMayHZdfNFlR{TB]KFSh^DyjNZySyj|aWYajb]dNCIRTZXmKKuB`bbUyoLRGkPWao|pibdNSk",
"scope": "https://www.googleapis.com/auth/chromewebstore",
"token_type": "Bearer"
}
EOF
)
```
## Usage
For example:
```js
const gulp = require('gulp')
const chromeWebStore = require('gulp-chrome-web-store')(
process.env.CHROME_WEB_STORE_API_CREDENTIAL,
process.evn.CHROME_WEB_STORE_API_ACCESS_TOKEN_RESPONSE,
);
const itemId = 'ID of your Chrome extension';
const item = chromeWebStore.item(itemId);
exports.deploy = () => {
return gulp.src('your-chrome-extension.zip')
.pipe(item.upload());
}
exports.publish = () => {
return item.publish();
}
```

@@ -9,3 +9,2 @@ import PluginError from 'plugin-error';

export = function Plugin(
id: string,
credential: string | Credential,

@@ -18,29 +17,33 @@ accessTokenResponse: string | AccessTokenResponse,

);
return {
upload(uploadType: UploadType = '') {
return new stream.Transform({
objectMode: true,
transform(vinyl, encoding, callback) {
api.Item.fetch(id).then(async item => {
const result = await item.upload(vinyl.contents, uploadType);
if (result.uploadState === 'FAILURE') {
const message = (result.itemError || []).map(error => error.error_detail).join('\n');
throw new PluginError(PLUGIN_NAME, message);
}
this.push(vinyl);
return null;
}).then(callback).catch(error => callback(new PluginError(PLUGIN_NAME, error)));
return new class ChromeWebStore {
public item(id: string) {
return {
upload(uploadType: UploadType = '') {
return new stream.Transform({
objectMode: true,
transform(vinyl, encoding, callback) {
api.Item.fetch(id).then(async item => {
const result = await item.upload(vinyl.contents, uploadType);
if (result.uploadState === 'FAILURE') {
const message = (result.itemError || []).map(error => error.error_detail).join('\n');
throw new PluginError(PLUGIN_NAME, message);
}
this.push(vinyl);
return null;
}).then(callback).catch(error => callback(new PluginError(PLUGIN_NAME, error)));
},
});
},
});
},
async publish(publishTarget: PublishTarget = 'default') {
try {
const item = new api.Item(id);
const result = await item.publish(publishTarget);
(result.statusDetail || []).forEach(detail => console.log(detail));
} catch (error) {
throw new PluginError(PLUGIN_NAME, error);
}
},
};
async publish(publishTarget: PublishTarget = 'default') {
try {
const item = new api.Item(id);
const result = await item.publish(publishTarget);
(result.statusDetail || []).forEach(detail => console.log(detail));
} catch (error) {
throw new PluginError(PLUGIN_NAME, error);
}
},
};
}
}();
};

@@ -9,6 +9,7 @@ import { expect } from 'chai';

const accessTokenResponse = {};
const chromeWebStore = plugin(itemId, JSON.stringify(credential), JSON.stringify(accessTokenResponse));
expect(chromeWebStore).to.have.property('upload');
expect(chromeWebStore).to.have.property('publish');
const chromeWebStore = plugin(JSON.stringify(credential), JSON.stringify(accessTokenResponse));
const item = chromeWebStore.item(itemId);
expect(item).to.have.property('upload');
expect(item).to.have.property('publish');
});
});
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc