diff options
author | Leonid Logvinov <logvinov.leon@gmail.com> | 2018-06-02 04:12:45 +0800 |
---|---|---|
committer | Leonid Logvinov <logvinov.leon@gmail.com> | 2018-06-02 04:12:45 +0800 |
commit | 06e5fc233c512d152d61c4acbed8d9344e769abe (patch) | |
tree | 4e5f573a7e956fae82bb0e112801f924c3e74778 /packages/monorepo-scripts/src/utils.ts | |
parent | 04a0eae241216cfe822346d02992d24082d94cab (diff) | |
download | dexon-0x-contracts-06e5fc233c512d152d61c4acbed8d9344e769abe.tar.gz dexon-0x-contracts-06e5fc233c512d152d61c4acbed8d9344e769abe.tar.zst dexon-0x-contracts-06e5fc233c512d152d61c4acbed8d9344e769abe.zip |
Refactor changelog utils to a separate module
Diffstat (limited to 'packages/monorepo-scripts/src/utils.ts')
-rw-r--r-- | packages/monorepo-scripts/src/utils.ts | 64 |
1 files changed, 0 insertions, 64 deletions
diff --git a/packages/monorepo-scripts/src/utils.ts b/packages/monorepo-scripts/src/utils.ts deleted file mode 100644 index c2d92c86a..000000000 --- a/packages/monorepo-scripts/src/utils.ts +++ /dev/null @@ -1,64 +0,0 @@ -import * as fs from 'fs'; -import lernaGetPackages = require('lerna-get-packages'); -import * as _ from 'lodash'; -import { exec as execAsync, spawn } from 'promisify-child-process'; - -import { constants } from './constants'; -import { UpdatedPackage } from './types'; - -export const utils = { - log(...args: any[]): void { - console.log(...args); // tslint:disable-line:no-console - }, - getNextPatchVersion(currentVersion: string): string { - const versionSegments = currentVersion.split('.'); - const patch = _.parseInt(_.last(versionSegments) as string); - const newPatch = patch + 1; - const newPatchVersion = `${versionSegments[0]}.${versionSegments[1]}.${newPatch}`; - return newPatchVersion; - }, - async prettifyAsync(filePath: string, cwd: string): Promise<void> { - await execAsync(`prettier --write ${filePath} --config .prettierrc`, { - cwd, - }); - }, - async getUpdatedLernaPackagesAsync(shouldIncludePrivate: boolean): Promise<LernaPackage[]> { - const updatedPublicPackages = await this.getLernaUpdatedPackagesAsync(shouldIncludePrivate); - const updatedPackageNames = _.map(updatedPublicPackages, pkg => pkg.name); - - const allLernaPackages = lernaGetPackages(constants.monorepoRootPath); - const updatedPublicLernaPackages = _.filter(allLernaPackages, pkg => { - return _.includes(updatedPackageNames, pkg.package.name); - }); - return updatedPublicLernaPackages; - }, - async getLernaUpdatedPackagesAsync(shouldIncludePrivate: boolean): Promise<UpdatedPackage[]> { - const result = await execAsync(`${constants.lernaExecutable} updated --json`, { - cwd: constants.monorepoRootPath, - }); - const updatedPackages = JSON.parse(result.stdout); - if (!shouldIncludePrivate) { - const updatedPublicPackages = _.filter(updatedPackages, updatedPackage => !updatedPackage.private); - return updatedPublicPackages; - } - return updatedPackages; - }, - getChangelogJSONIfExists(changelogPath: string): string | undefined { - try { - const changelogJSON = fs.readFileSync(changelogPath, 'utf-8'); - return changelogJSON; - } catch (err) { - return undefined; - } - }, - getChangelogJSONOrCreateIfMissing(changelogPath: string): string { - const changelogIfExists = this.getChangelogJSONIfExists(changelogPath); - if (_.isUndefined(changelogIfExists)) { - // If none exists, create new, empty one. - const emptyChangelogJSON = JSON.stringify([]); - fs.writeFileSync(changelogPath, emptyChangelogJSON); - return emptyChangelogJSON; - } - return changelogIfExists; - }, -}; |