Skip to content

Commit 3019960

Browse files
authored
fix(scripts): correctly bump packages in package.json (#727)
1 parent 24b960d commit 3019960

File tree

2 files changed

+38
-35
lines changed

2 files changed

+38
-35
lines changed

scripts/release/createReleasePR.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -361,7 +361,7 @@ async function createReleasePR(): Promise<void> {
361361
`git fetch origin refs/tags/${RELEASED_TAG}:refs/tags/${RELEASED_TAG}`
362362
);
363363

364-
console.log('Search for commits since last release...');
364+
console.log('Searching for commits since last release...');
365365
const { validCommits, skippedCommits } = await getCommits();
366366

367367
const versions = decideReleaseStrategy({

scripts/release/updateAPIVersions.ts

Lines changed: 37 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -56,51 +56,50 @@ async function updateVersionForJavascript(
5656

5757
clientsConfig.javascript.utilsPackageVersion = nextUtilsPackageVersion;
5858

59-
// update local playground deps
60-
const nodePgPackageFile = await readJsonFile(
61-
toAbsolutePath('playground/javascript/node/package.json')
62-
);
63-
const browserPgPackageFile = await readJsonFile(
64-
toAbsolutePath('playground/javascript/browser/package.json')
65-
);
66-
67-
if (!nodePgPackageFile || !browserPgPackageFile) {
68-
throw new Error('Failed to read playground package files');
69-
}
59+
// update local `package.json` files
60+
const pkgFiles = {
61+
node: await readJsonFile(
62+
toAbsolutePath('playground/javascript/node/package.json')
63+
),
64+
browser: await readJsonFile(
65+
toAbsolutePath('playground/javascript/browser/package.json')
66+
),
67+
cts: await readJsonFile(
68+
toAbsolutePath('tests/output/javascript/package.json')
69+
),
70+
};
7071

7172
// Sets the new version of the JavaScript client
7273
Object.values(GENERATORS)
7374
.filter((gen) => gen.language === 'javascript')
7475
.forEach((gen) => {
75-
const additionalProperties = gen.additionalProperties;
76+
const { additionalProperties } = gen;
7677
const newVersion = semver.inc(
7778
additionalProperties.packageVersion,
7879
jsVersion.releaseType
7980
);
81+
const packageName = `${clientsConfig.javascript.npmNamespace}/${additionalProperties.packageName}`;
8082

8183
if (!newVersion) {
8284
throw new Error(
83-
`Failed to bump version ${additionalProperties.packageVersion} by ${jsVersion.releaseType}.`
85+
`Failed to bump '${packageName}' by '${jsVersion.releaseType}'.`
8486
);
8587
}
8688

8789
additionalProperties.packageVersion = newVersion;
8890

89-
if (!additionalProperties.packageName) {
91+
if (!packageName) {
9092
throw new Error(
91-
`Package name is missing for JavaScript - ${gen.client}.`
93+
`Package name is missing for JavaScript - ${packageName}.`
9294
);
9395
}
9496

95-
if (nodePgPackageFile.dependencies[additionalProperties.packageName]) {
96-
nodePgPackageFile.dependencies[additionalProperties.packageName] =
97-
newVersion;
98-
}
99-
100-
if (browserPgPackageFile.dependencies[additionalProperties.packageName]) {
101-
browserPgPackageFile.dependencies[additionalProperties.packageName] =
102-
newVersion;
103-
}
97+
Object.values(pkgFiles).forEach((pkgFile) => {
98+
if (pkgFile.dependencies[packageName]) {
99+
// eslint-disable-next-line no-param-reassign
100+
pkgFile.dependencies[packageName] = newVersion;
101+
}
102+
});
104103

105104
// We don't want this field to be in the final file, it only exists
106105
// in the scripts.
@@ -110,14 +109,12 @@ async function updateVersionForJavascript(
110109
CLIENTS_JS_UTILS.forEach((util) => {
111110
const utilPackageName = `${clientsConfig.javascript.npmNamespace}/${util}`;
112111

113-
if (nodePgPackageFile.dependencies[utilPackageName]) {
114-
nodePgPackageFile.dependencies[utilPackageName] = nextUtilsPackageVersion;
115-
}
116-
117-
if (browserPgPackageFile.dependencies[utilPackageName]) {
118-
browserPgPackageFile.dependencies[utilPackageName] =
119-
nextUtilsPackageVersion;
120-
}
112+
Object.values(pkgFiles).forEach((pkgFile) => {
113+
if (pkgFile.dependencies[utilPackageName]) {
114+
// eslint-disable-next-line no-param-reassign
115+
pkgFile.dependencies[utilPackageName] = nextUtilsPackageVersion;
116+
}
117+
});
121118
});
122119

123120
// update `openapitools.json` config file
@@ -129,13 +126,19 @@ async function updateVersionForJavascript(
129126
// update `package.json` node playground file
130127
await writeJsonFile(
131128
toAbsolutePath('playground/javascript/node/package.json'),
132-
nodePgPackageFile
129+
pkgFiles.node
133130
);
134131

135132
// update `package.json` browser playground file
136133
await writeJsonFile(
137134
toAbsolutePath('playground/javascript/browser/package.json'),
138-
browserPgPackageFile
135+
pkgFiles.browser
136+
);
137+
138+
// update `package.json` node cts file
139+
await writeJsonFile(
140+
toAbsolutePath('tests/output/javascript/package.json'),
141+
pkgFiles.cts
139142
);
140143

141144
// update `clients.config.json` file for the utils version

0 commit comments

Comments
 (0)