UNPKG

6.86 kBSource Map (JSON)View Raw
1{
2 "version": 3,
3 "file": "BintrayPublisher.js",
4 "sourceRoot": "",
5 "sources": [
6 "../src/BintrayPublisher.ts"
7 ],
8 "names": [],
9 "mappings": "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",
10 "sourcesContent": [
11 "import BluebirdPromise from \"bluebird-lst-c\"\nimport { configureRequestOptions, HttpError } from \"electron-builder-http\"\nimport { BintrayClient, Version } from \"electron-builder-http/out/bintray\"\nimport { BintrayOptions } from \"electron-builder-http/out/publishOptions\"\nimport { debug, isEmptyOrSpaces } from \"electron-builder-util\"\nimport { log } from \"electron-builder-util/out/log\"\nimport { httpExecutor } from \"electron-builder-util/out/nodeHttpExecutor\"\nimport { ClientRequest } from \"http\"\nimport { HttpPublisher, PublishContext, PublishOptions } from \"./publisher\"\n\nexport class BintrayPublisher extends HttpPublisher {\n private _versionPromise: BluebirdPromise<Version>\n\n private readonly client: BintrayClient\n\n readonly providerName = \"Bintray\"\n\n constructor(context: PublishContext, info: BintrayOptions, private readonly version: string, private readonly options: PublishOptions = {}) {\n super(context)\n\n let token = info.token\n if (isEmptyOrSpaces(token)) {\n token = process.env.BT_TOKEN\n if (isEmptyOrSpaces(token)) {\n throw new Error(`Bintray token is not set, neither programmatically, nor using env \"BT_TOKEN\"`)\n }\n }\n\n this.client = new BintrayClient(info, this.context.cancellationToken, token)\n this._versionPromise = <BluebirdPromise<Version>>this.init()\n }\n\n private async init(): Promise<Version | null> {\n try {\n return await this.client.getVersion(this.version)\n }\n catch (e) {\n if (e instanceof HttpError && e.response.statusCode === 404) {\n if (this.options.publish !== \"onTagOrDraft\") {\n log(`Version ${this.version} doesn't exist, creating one`)\n return this.client.createVersion(this.version)\n }\n else {\n log(`Version ${this.version} doesn't exist, artifacts will be not published`)\n }\n }\n\n throw e\n }\n }\n\n protected async doUpload(fileName: string, dataLength: number, requestProcessor: (request: ClientRequest, reject: (error: Error) => void) => void) {\n const version = await this._versionPromise\n if (version == null) {\n debug(`Version ${this.version} doesn't exist and is not created, artifact ${fileName} is not published`)\n return\n }\n\n let badGatewayCount = 0\n for (let i = 0; i < 3; i++) {\n try {\n return await httpExecutor.doApiRequest<any>(configureRequestOptions({\n hostname: \"api.bintray.com\",\n path: `/content/${this.client.owner}/${this.client.repo}/${this.client.packageName}/${version.name}/${fileName}`,\n method: \"PUT\",\n headers: {\n \"Content-Length\": dataLength,\n \"X-Bintray-Override\": \"1\",\n \"X-Bintray-Publish\": \"1\",\n }\n }, this.client.auth), this.context.cancellationToken, requestProcessor)\n }\n catch (e) {\n if (e instanceof HttpError && e.response.statusCode === 502 && badGatewayCount++ < 3) {\n continue\n }\n\n throw e\n }\n }\n }\n\n //noinspection JSUnusedGlobalSymbols\n deleteRelease(): Promise<any> {\n if (!this._versionPromise.isFulfilled()) {\n return BluebirdPromise.resolve()\n }\n\n const version = this._versionPromise.value()\n return version == null ? BluebirdPromise.resolve() : this.client.deleteVersion(version.name)\n }\n\n toString() {\n return `Bintray (user: ${this.client.user || this.client.owner}, owner: ${this.client.owner}, package: ${this.client.packageName}, repository: ${this.client.repo}, version: ${this.version})`\n }\n}"
12 ]
13}