diff options
author | Fabio Berger <me@fabioberger.com> | 2018-03-13 22:29:12 +0800 |
---|---|---|
committer | Fabio Berger <me@fabioberger.com> | 2018-03-13 22:29:12 +0800 |
commit | ca25b816fabe15ce1ebc539c0316beba813683b8 (patch) | |
tree | 0e28bbc819cfccda1789192628c365ea54328103 /packages/dev-utils/src | |
parent | df1968157c13a7bbe2e512cbc924190a414e6738 (diff) | |
download | dexon-sol-tools-ca25b816fabe15ce1ebc539c0316beba813683b8.tar dexon-sol-tools-ca25b816fabe15ce1ebc539c0316beba813683b8.tar.gz dexon-sol-tools-ca25b816fabe15ce1ebc539c0316beba813683b8.tar.bz2 dexon-sol-tools-ca25b816fabe15ce1ebc539c0316beba813683b8.tar.lz dexon-sol-tools-ca25b816fabe15ce1ebc539c0316beba813683b8.tar.xz dexon-sol-tools-ca25b816fabe15ce1ebc539c0316beba813683b8.tar.zst dexon-sol-tools-ca25b816fabe15ce1ebc539c0316beba813683b8.zip |
move scripts to monorepro-scripts
Diffstat (limited to 'packages/dev-utils/src')
-rw-r--r-- | packages/dev-utils/src/globals.d.ts | 10 | ||||
-rw-r--r-- | packages/dev-utils/src/monorepo_scripts/postpublish.ts | 6 | ||||
-rw-r--r-- | packages/dev-utils/src/postpublish_utils.ts | 86 | ||||
-rw-r--r-- | packages/dev-utils/src/utils.ts | 5 |
4 files changed, 11 insertions, 96 deletions
diff --git a/packages/dev-utils/src/globals.d.ts b/packages/dev-utils/src/globals.d.ts index 9c8a1dc02..894e56c58 100644 --- a/packages/dev-utils/src/globals.d.ts +++ b/packages/dev-utils/src/globals.d.ts @@ -1,9 +1,9 @@ declare module 'web3-provider-engine'; declare module 'web3-provider-engine/subproviders/rpc'; -declare module 'async-child-process'; -declare module 'publish-release'; -// semver-sort declarations -declare module 'semver-sort' { - const desc: (versions: string[]) => string[]; +declare module '*.json' { + const json: any; + /* tslint:disable */ + export default json; + /* tslint:enable */ } diff --git a/packages/dev-utils/src/monorepo_scripts/postpublish.ts b/packages/dev-utils/src/monorepo_scripts/postpublish.ts new file mode 100644 index 000000000..6bd94e71d --- /dev/null +++ b/packages/dev-utils/src/monorepo_scripts/postpublish.ts @@ -0,0 +1,6 @@ +import { postpublishUtils } from '../postpublish_utils'; + +import * as packageJSON from '../package.json'; + +const subPackageName = (packageJSON as any).name; +postpublishUtils.standardPostPublishAsync(subPackageName); diff --git a/packages/dev-utils/src/postpublish_utils.ts b/packages/dev-utils/src/postpublish_utils.ts deleted file mode 100644 index 35d046e26..000000000 --- a/packages/dev-utils/src/postpublish_utils.ts +++ /dev/null @@ -1,86 +0,0 @@ -import { promisify } from '@0xproject/utils'; -import { execAsync } from 'async-child-process'; -import * as _ from 'lodash'; -import * as publishRelease from 'publish-release'; -import semverSort = require('semver-sort'); - -import { utils } from './utils'; - -const publishReleaseAsync = promisify(publishRelease); -const githubPersonalAccessToken = process.env.GITHUB_PERSONAL_ACCESS_TOKEN_0X_JS; -const generatedDocsDirectoryName = 'generated_docs'; - -export interface TagAndVersion { - tag: string; - version: string; -} - -export const postpublishUtils = { - getLatestTagAndVersionAsync(subPackageName: string): Promise<TagAndVersion> { - const subPackagePrefix = `${subPackageName}@`; - const gitTagsCommand = `git tag -l "${subPackagePrefix}*"`; - return execAsync(gitTagsCommand).then((result: any) => { - if (!_.isEmpty(result.stderr)) { - throw new Error(result.stderr); - } - const tags = result.stdout.trim().split('\n'); - const versions = tags.map((tag: string) => { - return tag.slice(subPackagePrefix.length); - }); - const sortedVersions = semverSort.desc(versions); - const latestVersion = sortedVersions[0]; - const latestTag = subPackagePrefix + latestVersion; - return { - tag: latestTag, - version: latestVersion, - }; - }); - }, - publishReleaseNotesAsync(tag: string, releaseName: string, assets: string[]) { - utils.log('POSTPUBLISH: Releasing ', releaseName, '...'); - return publishReleaseAsync({ - token: githubPersonalAccessToken, - owner: '0xProject', - repo: '0x.js', - tag, - name: releaseName, - notes: 'N/A', - draft: false, - prerelease: false, - reuseRelease: true, - reuseDraftOnly: false, - assets, - }); - }, - getReleaseName(subPackageName: string, version: string): string { - const releaseName = `${subPackageName} v${version}`; - return releaseName; - }, - async standardPostPublishAsync(subPackageName: string): Promise<void> { - const result: TagAndVersion = await this.getLatestTagAndVersionAsync(subPackageName); - const releaseName = this.getReleaseName(subPackageName, result.version); - const assets: string[] = []; - await this.publishReleaseNotesAsync(result.tag, releaseName, assets); - }, - adjustFileIncludePaths(fileIncludes: string[], cwd: string): string[] { - const fileIncludesAdjusted = _.map(fileIncludes, fileInclude => { - let path; - if (_.startsWith(fileInclude, '../')) { - path = `${cwd}/../${fileInclude}`; - } else if (_.startsWith(fileInclude, './')) { - path = `${cwd}/../${fileInclude.substr(2)}`; - } else { - path = `${cwd}/${fileInclude}`; - } - - // HACK: tsconfig.json needs wildcard directory endings as `/**/*` - // but TypeDoc needs it as `/**` in order to pick up files at the root - if (_.endsWith(path, '/**/*')) { - path = path.slice(0, -2); - } - return path; - }); - return fileIncludesAdjusted; - }, - generatedDocsDirectoryName, -}; diff --git a/packages/dev-utils/src/utils.ts b/packages/dev-utils/src/utils.ts deleted file mode 100644 index 5423cabd9..000000000 --- a/packages/dev-utils/src/utils.ts +++ /dev/null @@ -1,5 +0,0 @@ -export const utils = { - log(...args: any[]): void { - console.log(...args); // tslint:disable-line:no-console - }, -}; |