Consolidate docs generation and uploading logic
This commit is contained in:
		@@ -12,7 +12,6 @@ const subPackageName = (packageJSON as any).name;
 | 
			
		||||
// So far, we only have @0xproject/types as part of 0x.js's public interface.
 | 
			
		||||
const fileIncludes = [...(tsConfig as any).include, '../types/src/index.ts'];
 | 
			
		||||
const fileIncludesAdjusted = postpublishUtils.adjustFileIncludePaths(fileIncludes, __dirname);
 | 
			
		||||
const projectFiles = fileIncludesAdjusted.join(' ');
 | 
			
		||||
const S3BucketPath = 's3://0xjs-docs-jsons/';
 | 
			
		||||
 | 
			
		||||
(async () => {
 | 
			
		||||
@@ -26,19 +25,5 @@ const S3BucketPath = 's3://0xjs-docs-jsons/';
 | 
			
		||||
 | 
			
		||||
    // tslint:disable-next-line:no-console
 | 
			
		||||
    console.log('POSTPUBLISH: Release successful, generating docs...');
 | 
			
		||||
    const jsonFilePath = `${__dirname}/../${postpublishUtils.generatedDocsDirectoryName}/index.json`;
 | 
			
		||||
 | 
			
		||||
    const result = await execAsync(`JSON_FILE_PATH=${jsonFilePath} PROJECT_FILES="${projectFiles}" yarn docs:json`, {
 | 
			
		||||
        cwd,
 | 
			
		||||
    });
 | 
			
		||||
    if (!_.isEmpty(result.stderr)) {
 | 
			
		||||
        throw new Error(result.stderr);
 | 
			
		||||
    }
 | 
			
		||||
    const fileName = `v${version}.json`;
 | 
			
		||||
    // tslint:disable-next-line:no-console
 | 
			
		||||
    console.log(`POSTPUBLISH: Doc generation successful, uploading docs... as ${fileName}`);
 | 
			
		||||
    const s3Url = S3BucketPath + fileName;
 | 
			
		||||
    return execAsync(`S3_URL=${s3Url} yarn upload_docs_json`, {
 | 
			
		||||
        cwd,
 | 
			
		||||
    });
 | 
			
		||||
    await postpublishUtils.generateAndUploadDocsAsync(__dirname, cwd, fileIncludesAdjusted, version, S3BucketPath);
 | 
			
		||||
})().catch(console.error);
 | 
			
		||||
 
 | 
			
		||||
@@ -11,20 +11,9 @@ const S3BucketPath = 's3://staging-0xjs-docs-jsons/';
 | 
			
		||||
// So far, we only have @0xproject/types as part of 0x.js's public interface.
 | 
			
		||||
const fileIncludes = [...(tsConfig as any).include, '../types/src/index.ts'];
 | 
			
		||||
const fileIncludesAdjusted = postpublishUtils.adjustFileIncludePaths(fileIncludes, __dirname);
 | 
			
		||||
const projectFiles = fileIncludesAdjusted.join(' ');
 | 
			
		||||
const jsonFilePath = `${__dirname}/../${postpublishUtils.generatedDocsDirectoryName}/index.json`;
 | 
			
		||||
const version = process.env.DOCS_VERSION;
 | 
			
		||||
const version = process.env.DOCS_VERSION || '0.0.0';
 | 
			
		||||
 | 
			
		||||
(async () => {
 | 
			
		||||
    const result = await execAsync(`JSON_FILE_PATH=${jsonFilePath} PROJECT_FILES="${projectFiles}" yarn docs:json`, {
 | 
			
		||||
        cwd,
 | 
			
		||||
    });
 | 
			
		||||
    if (!_.isEmpty(result.stderr)) {
 | 
			
		||||
        throw new Error(result.stderr);
 | 
			
		||||
    }
 | 
			
		||||
    const fileName = `v${version}.json`;
 | 
			
		||||
    const s3Url = S3BucketPath + fileName;
 | 
			
		||||
    return execAsync(`S3_URL=${s3Url} yarn upload_docs_json`, {
 | 
			
		||||
        cwd,
 | 
			
		||||
    });
 | 
			
		||||
    await postpublishUtils.generateAndUploadDocsAsync(__dirname, cwd, fileIncludesAdjusted, version, S3BucketPath);
 | 
			
		||||
})().catch(console.error);
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,6 @@ const subPackageName = (packageJSON as any).name;
 | 
			
		||||
// to this array so that TypeDoc picks it up and adds it to the Docs JSON
 | 
			
		||||
const fileIncludes = [...(tsConfig as any).include];
 | 
			
		||||
const fileIncludesAdjusted = postpublishUtils.adjustFileIncludePaths(fileIncludes, __dirname);
 | 
			
		||||
const projectFiles = fileIncludesAdjusted.join(' ');
 | 
			
		||||
const S3BucketPath = 's3://connect-docs-jsons/';
 | 
			
		||||
 | 
			
		||||
(async () => {
 | 
			
		||||
@@ -25,19 +24,5 @@ const S3BucketPath = 's3://connect-docs-jsons/';
 | 
			
		||||
 | 
			
		||||
    // tslint:disable-next-line:no-console
 | 
			
		||||
    console.log('POSTPUBLISH: Release successful, generating docs...');
 | 
			
		||||
    const jsonFilePath = `${__dirname}/../${postpublishUtils.generatedDocsDirectoryName}/index.json`;
 | 
			
		||||
 | 
			
		||||
    const result = await execAsync(`JSON_FILE_PATH=${jsonFilePath} PROJECT_FILES="${projectFiles}" yarn docs:json`, {
 | 
			
		||||
        cwd,
 | 
			
		||||
    });
 | 
			
		||||
    if (!_.isEmpty(result.stderr)) {
 | 
			
		||||
        throw new Error(result.stderr);
 | 
			
		||||
    }
 | 
			
		||||
    const fileName = `v${version}.json`;
 | 
			
		||||
    // tslint:disable-next-line:no-console
 | 
			
		||||
    console.log(`POSTPUBLISH: Doc generation successful, uploading docs... as ${fileName}`);
 | 
			
		||||
    const s3Url = S3BucketPath + fileName;
 | 
			
		||||
    return execAsync(`S3_URL=${s3Url} yarn upload_docs_json`, {
 | 
			
		||||
        cwd,
 | 
			
		||||
    });
 | 
			
		||||
    await postpublishUtils.generateAndUploadDocsAsync(__dirname, cwd, fileIncludesAdjusted, version, S3BucketPath);
 | 
			
		||||
})().catch(console.error);
 | 
			
		||||
 
 | 
			
		||||
@@ -12,18 +12,8 @@ const fileIncludes = [...(tsConfig as any).include];
 | 
			
		||||
const fileIncludesAdjusted = postpublishUtils.adjustFileIncludePaths(fileIncludes, __dirname);
 | 
			
		||||
const projectFiles = fileIncludesAdjusted.join(' ');
 | 
			
		||||
const jsonFilePath = `${__dirname}/../${postpublishUtils.generatedDocsDirectoryName}/index.json`;
 | 
			
		||||
const version = process.env.DOCS_VERSION;
 | 
			
		||||
const version = process.env.DOCS_VERSION || '0.0.0';
 | 
			
		||||
 | 
			
		||||
(async () => {
 | 
			
		||||
    const result = await execAsync(`JSON_FILE_PATH=${jsonFilePath} PROJECT_FILES="${projectFiles}" yarn docs:json`, {
 | 
			
		||||
        cwd,
 | 
			
		||||
    });
 | 
			
		||||
    if (!_.isEmpty(result.stderr)) {
 | 
			
		||||
        throw new Error(result.stderr);
 | 
			
		||||
    }
 | 
			
		||||
    const fileName = `v${version}.json`;
 | 
			
		||||
    const s3Url = S3BucketPath + fileName;
 | 
			
		||||
    return execAsync(`S3_URL=${s3Url} yarn upload_docs_json`, {
 | 
			
		||||
        cwd,
 | 
			
		||||
    });
 | 
			
		||||
    await postpublishUtils.generateAndUploadDocsAsync(__dirname, cwd, fileIncludesAdjusted, version, S3BucketPath);
 | 
			
		||||
})().catch(console.error);
 | 
			
		||||
 
 | 
			
		||||
@@ -81,5 +81,31 @@ export const postpublishUtils = {
 | 
			
		||||
        });
 | 
			
		||||
        return fileIncludesAdjusted;
 | 
			
		||||
    },
 | 
			
		||||
    async generateAndUploadDocsAsync(
 | 
			
		||||
        dirname: string,
 | 
			
		||||
        cwd: string,
 | 
			
		||||
        includedFiles: string[],
 | 
			
		||||
        version: string,
 | 
			
		||||
        S3BucketPath: string,
 | 
			
		||||
    ) {
 | 
			
		||||
        const jsonFilePath = `${dirname}/../${postpublishUtils.generatedDocsDirectoryName}/index.json`;
 | 
			
		||||
        const projectFiles = includedFiles.join(' ');
 | 
			
		||||
        const result = await execAsync(
 | 
			
		||||
            `JSON_FILE_PATH=${jsonFilePath} PROJECT_FILES="${projectFiles}" yarn docs:json`,
 | 
			
		||||
            {
 | 
			
		||||
                cwd,
 | 
			
		||||
            },
 | 
			
		||||
        );
 | 
			
		||||
        if (!_.isEmpty(result.stderr)) {
 | 
			
		||||
            throw new Error(result.stderr);
 | 
			
		||||
        }
 | 
			
		||||
        const fileName = `v${version}.json`;
 | 
			
		||||
        utils.log(`POSTPUBLISH: Doc generation successful, uploading docs... as ${fileName}`);
 | 
			
		||||
        const s3Url = S3BucketPath + fileName;
 | 
			
		||||
        await execAsync(`S3_URL=${s3Url} yarn upload_docs_json`, {
 | 
			
		||||
            cwd,
 | 
			
		||||
        });
 | 
			
		||||
        utils.log(`POSTPUBLISH: Docs uploaded to S3 bucket: ${S3BucketPath}`);
 | 
			
		||||
    },
 | 
			
		||||
    generatedDocsDirectoryName,
 | 
			
		||||
};
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user