|
1 | 1 | /* eslint-disable functional/immutable-data */
|
2 | 2 | /* eslint-disable import/no-commonjs */
|
3 | 3 |
|
4 |
| -const fs = require('fs'); |
| 4 | +const util = require('util'); |
| 5 | +const exec = util.promisify(require('child_process').exec); |
| 6 | +const fs = require('fs').promises; |
5 | 7 | const path = require('path');
|
6 | 8 |
|
7 | 9 | module.exports = {
|
8 | 10 | monorepo: {
|
9 | 11 | mainVersionFile: 'package.json',
|
10 |
| - packagesToBump: ['packages/*'], |
| 12 | + // no packages should be versioned by shipjs, lerna should do it! |
| 13 | + packagesToBump: [], |
11 | 14 | packagesToPublish: ['packages/*'],
|
12 | 15 | },
|
13 | 16 | getTagName: ({ version }) => `${version}`,
|
14 | 17 | conventionalChangelogArgs:
|
15 | 18 | '--config conventional-changelog.config.js --infile CHANGELOG.md --same-file',
|
16 |
| - versionUpdated({ version, dir }) { |
17 |
| - // Update version in `lerna.json` file. |
18 |
| - const lernaConfigPath = path.resolve(dir, 'lerna.json'); |
19 |
| - const lernaConfig = JSON.parse(fs.readFileSync(lernaConfigPath).toString()); |
20 |
| - lernaConfig.version = version; |
21 |
| - fs.writeFileSync(lernaConfigPath, JSON.stringify(lernaConfig, null, 2)); |
| 19 | + async versionUpdated({ version, dir }) { |
| 20 | + // Update version with lerna |
| 21 | + await exec(`lerna version ${version} --no-git-tag-version --no-push --exact --yes`); |
22 | 22 |
|
23 | 23 | // Update version in `packages/client-common/src/version.ts` file since
|
24 | 24 | // `shipjs prepare` does not seem to support Typescript version files
|
25 | 25 | // bumping (yet?).
|
26 | 26 | const clientCommonTypescriptPath = 'packages/client-common/src/version.ts';
|
27 | 27 | const clientCommonTypescript = path.resolve(dir, clientCommonTypescriptPath);
|
28 |
| - fs.writeFileSync(clientCommonTypescript, `export const version = '${version}';\n`); |
| 28 | + |
| 29 | + await fs.writeFile(clientCommonTypescript, `export const version = '${version}';\n`); |
29 | 30 | },
|
30 | 31 | };
|
0 commit comments