33 lines
1.1 KiB
JavaScript
33 lines
1.1 KiB
JavaScript
const execAsync = require('async-child-process').execAsync;
|
|
const semverSort = require('semver-sort');
|
|
|
|
const packagePrefix = '0x.js@';
|
|
const gitTagsCommand = 'git tags -l "' + packagePrefix + '*"';
|
|
let latestTag;
|
|
execAsync(gitTagsCommand)
|
|
.then(function(result) {
|
|
if (result.stderr !== '') {
|
|
throw new Error(result.stderr);
|
|
}
|
|
const tags = result.stdout.trim().split('\n');
|
|
const versions = tags.map(function(tag) {
|
|
return tag.slice(packagePrefix.length);
|
|
});
|
|
const sortedVersions = semverSort.desc(versions);
|
|
latestTag = packagePrefix + sortedVersions[0];
|
|
return execAsync('LATEST_TAG=' + latestTag + ' yarn release');
|
|
})
|
|
.then(function(result) {
|
|
if (result.stderr !== '') {
|
|
throw new Error(result.stderr);
|
|
}
|
|
return execAsync('yarn docs:json');
|
|
})
|
|
.then(function(result) {
|
|
if (result.stderr !== '') {
|
|
throw new Error(result.stderr);
|
|
}
|
|
const s3Url = 's3://0xjs-docs-jsons/v' + latestTag +'.json';
|
|
return execAsync('S3_URL=' + s3Url + ' yarn upload_docs_json');
|
|
});
|