update vso-node-api

This commit is contained in:
Joao Moreno 2017-03-14 14:17:54 +01:00
parent 02fcd9f430
commit d0bd4c9951
2 changed files with 18 additions and 19 deletions

View file

@ -42,7 +42,7 @@
"semver": "^5.1.0",
"tmp": "0.0.29",
"url-join": "^1.1.0",
"vso-node-api": "^5.0.5",
"vso-node-api": "^6.1.0-preview",
"yauzl": "^2.3.1",
"yazl": "^2.2.2"
},

View file

@ -11,7 +11,6 @@ import * as yauzl from 'yauzl';
import * as semver from 'semver';
const tmpName = denodeify<string>(tmp.tmpName);
const readFile = denodeify<string, string, string>(fs.readFile);
function readManifestFromPackage(packagePath: string): Promise<Manifest> {
return new Promise<Manifest>((c, e) => {
@ -55,26 +54,26 @@ function readManifestFromPackage(packagePath: string): Promise<Manifest> {
function _publish(packagePath: string, pat: string, manifest: Manifest): Promise<void> {
const api = getGalleryAPI(pat);
return readFile(packagePath, 'base64').then(extensionManifest => {
const fullName = `${manifest.publisher}.${manifest.name}@${manifest.version}`;
console.log(`Publishing ${fullName}...`);
const packageStream = fs.createReadStream(packagePath);
return api.getExtension(manifest.publisher, manifest.name, null, ExtensionQueryFlags.IncludeVersions)
.catch<PublishedExtension>(err => err.statusCode === 404 ? null : Promise.reject(err))
.then(extension => {
if (extension && extension.versions.some(v => v.version === manifest.version)) {
return Promise.reject(`${fullName} already exists. Version number cannot be the same.`);
}
const fullName = `${manifest.publisher}.${manifest.name}@${manifest.version}`;
console.log(`Publishing ${fullName}...`);
var promise = extension
? api.updateExtension({ extensionManifest }, manifest.publisher, manifest.name)
: api.createExtension({ extensionManifest });
return api.getExtension(manifest.publisher, manifest.name, null, ExtensionQueryFlags.IncludeVersions)
.catch<PublishedExtension>(err => err.statusCode === 404 ? null : Promise.reject(err))
.then(extension => {
if (extension && extension.versions.some(v => v.version === manifest.version)) {
return Promise.reject(`${fullName} already exists. Version number cannot be the same.`);
}
return promise
.catch(err => Promise.reject(err.statusCode === 409 ? `${fullName} already exists.` : err))
.then(() => console.log(`Successfully published ${fullName}!`));
});
});
var promise = extension
? api.updateExtension(undefined, packageStream, manifest.publisher, manifest.name)
: api.createExtension(undefined, packageStream);
return promise
.catch(err => Promise.reject(err.statusCode === 409 ? `${fullName} already exists.` : err))
.then(() => console.log(`Successfully published ${fullName}!`));
});
}
export interface IPublishOptions {