aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFabio Berger <me@fabioberger.com>2018-03-14 00:55:16 +0800
committerFabio Berger <me@fabioberger.com>2018-03-14 00:55:16 +0800
commitdba1b8a7e92ebd18132e0e714d5109f87b9ab7a9 (patch)
tree163297f7d42278aeffadea800283cfc54d70f903
parentee29ed26ff1d754fa13576840c08267b8b5707ba (diff)
downloaddexon-sol-tools-dba1b8a7e92ebd18132e0e714d5109f87b9ab7a9.tar.gz
dexon-sol-tools-dba1b8a7e92ebd18132e0e714d5109f87b9ab7a9.tar.zst
dexon-sol-tools-dba1b8a7e92ebd18132e0e714d5109f87b9ab7a9.zip
Consolidate docs generation and uploading logic
-rw-r--r--packages/0x.js/src/monorepo_scripts/postpublish.ts17
-rw-r--r--packages/0x.js/src/monorepo_scripts/stagedocs.ts15
-rw-r--r--packages/connect/src/monorepo_scripts/postpublish.ts17
-rw-r--r--packages/connect/src/monorepo_scripts/stagedocs.ts14
-rw-r--r--packages/monorepo-scripts/src/postpublish_utils.ts26
5 files changed, 32 insertions, 57 deletions
diff --git a/packages/0x.js/src/monorepo_scripts/postpublish.ts b/packages/0x.js/src/monorepo_scripts/postpublish.ts
index 8e2692c93..88be6444f 100644
--- a/packages/0x.js/src/monorepo_scripts/postpublish.ts
+++ b/packages/0x.js/src/monorepo_scripts/postpublish.ts
@@ -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);
diff --git a/packages/0x.js/src/monorepo_scripts/stagedocs.ts b/packages/0x.js/src/monorepo_scripts/stagedocs.ts
index 20355c52c..525d6a96f 100644
--- a/packages/0x.js/src/monorepo_scripts/stagedocs.ts
+++ b/packages/0x.js/src/monorepo_scripts/stagedocs.ts
@@ -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);
diff --git a/packages/connect/src/monorepo_scripts/postpublish.ts b/packages/connect/src/monorepo_scripts/postpublish.ts
index 4cb8bf071..ecbd26872 100644
--- a/packages/connect/src/monorepo_scripts/postpublish.ts
+++ b/packages/connect/src/monorepo_scripts/postpublish.ts
@@ -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);
diff --git a/packages/connect/src/monorepo_scripts/stagedocs.ts b/packages/connect/src/monorepo_scripts/stagedocs.ts
index ae0383ed7..efd3ad62d 100644
--- a/packages/connect/src/monorepo_scripts/stagedocs.ts
+++ b/packages/connect/src/monorepo_scripts/stagedocs.ts
@@ -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);
diff --git a/packages/monorepo-scripts/src/postpublish_utils.ts b/packages/monorepo-scripts/src/postpublish_utils.ts
index 6c8771c6f..a36408ccd 100644
--- a/packages/monorepo-scripts/src/postpublish_utils.ts
+++ b/packages/monorepo-scripts/src/postpublish_utils.ts
@@ -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,
};