45 lines
1.6 KiB
JavaScript
45 lines
1.6 KiB
JavaScript
const execAsync = require('async-child-process').execAsync;
|
|
const postpublish_utils = require('../../../scripts/postpublish_utils');
|
|
const packageJSON = require('../package.json');
|
|
|
|
const cwd = __dirname + '/..';
|
|
const subPackageName = packageJSON.name;
|
|
const S3BucketPath = 's3://0xjs-docs-jsons/';
|
|
|
|
let tag;
|
|
let version;
|
|
postpublish_utils.getLatestTagAndVersionAsync(subPackageName)
|
|
.then(function(result) {
|
|
tag = result.tag;
|
|
version = result.version;
|
|
const releaseName = postpublish_utils.getReleaseName(subPackageName, version);
|
|
const assets = [
|
|
__dirname + '/../_bundles/index.js',
|
|
__dirname + '/../_bundles/index.min.js',
|
|
];
|
|
return postpublish_utils.publishReleaseNotes(tag, releaseName, assets);
|
|
})
|
|
.then(function(release) {
|
|
console.log('POSTPUBLISH: Release successful, generating docs...');
|
|
const jsonFilePath = __dirname + '/../' + postpublish_utils.generatedDocsDirectoryName + '/index.json';
|
|
return execAsync(
|
|
'JSON_FILE_PATH=' + jsonFilePath + ' PROJECT_DIR=' + __dirname + '/.. yarn docs:json',
|
|
{
|
|
cwd,
|
|
}
|
|
);
|
|
})
|
|
.then(function(result) {
|
|
if (result.stderr !== '') {
|
|
throw new Error(result.stderr);
|
|
}
|
|
const fileName = 'v' + version + '.json';
|
|
console.log('POSTPUBLISH: Doc generation successful, uploading docs... as ', fileName);
|
|
const s3Url = S3BucketPath + fileName;
|
|
return execAsync('S3_URL=' + s3Url + ' yarn upload_docs_json', {
|
|
cwd,
|
|
});
|
|
}).catch (function(err) {
|
|
throw err;
|
|
});
|