update vso-node-api
This commit is contained in:
parent
02fcd9f430
commit
d0bd4c9951
2 changed files with 18 additions and 19 deletions
|
@ -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"
|
||||
},
|
||||
|
|
|
@ -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 {
|
||||
|
|
Loading…
Add table
Reference in a new issue