Skip to content

Commit 583f2eb

Browse files
feat: update repotools to automatically upgrade all @rspack/* and @rsbuild/* packages
- Added ALWAYS_UPDATE_SCOPES for @rspack/ and @rsbuild/ packages - Modified checkAndUpdatePackages to automatically update all packages from these scopes to latest versions - Removed duplicate @rspack package entries from CONFIG array 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
1 parent d7efad8 commit 583f2eb

File tree

1 file changed

+22
-66
lines changed

1 file changed

+22
-66
lines changed

repotools.js

Lines changed: 22 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@ const fs = require('fs');
22
const path = require('path');
33
const semver = require('semver');
44

5+
// Packages that should always be updated to latest regardless of scope
6+
const ALWAYS_UPDATE_SCOPES = ['@rspack/', '@rsbuild/'];
7+
58
const CONFIG = [
69
{
710
packageName: '@module-federation/node',
@@ -39,48 +42,6 @@ const CONFIG = [
3942
versionToCheck: '9.2.2',
4043
targetVersion: 'latest',
4144
},
42-
{
43-
packageName: '@rspack/core',
44-
shouldUpdate: true,
45-
versionToCheck: '3.0.13',
46-
targetVersion: 'latest',
47-
},
48-
{
49-
packageName: '@rspack/cli',
50-
shouldUpdate: true,
51-
versionToCheck: '3.0.13',
52-
targetVersion: 'latest',
53-
},
54-
{
55-
packageName: '@rspack/plugin-react-refresh',
56-
shouldUpdate: true,
57-
versionToCheck: '3.0.13',
58-
targetVersion: 'latest',
59-
},
60-
{
61-
packageName: '@rspack/dev-server',
62-
shouldUpdate: true,
63-
versionToCheck: '13.0.13',
64-
targetVersion: 'latest',
65-
},
66-
{
67-
packageName: '@rsbuild/core',
68-
shouldUpdate: true, // Assumes no targetVersion needed
69-
versionToCheck: '2.0.0',
70-
targetVersion: 'latest',
71-
},
72-
{
73-
packageName: '@rsbuild/plugin-vue',
74-
shouldUpdate: true, // Assumes no targetVersion needed
75-
versionToCheck: '100.0.0',
76-
targetVersion: 'latest',
77-
},
78-
{
79-
packageName: '@rsbuild/plugin-react',
80-
shouldUpdate: true, // Assumes no targetVersion needed
81-
versionToCheck: '100.0.0',
82-
targetVersion: 'latest',
83-
},
8445
{
8546
packageName: 'webpack',
8647
shouldUpdate: true, // Assumes no targetVersion needed
@@ -97,30 +58,6 @@ const CONFIG = [
9758
packageName: '@module-federation/utilities',
9859
shouldUpdate: false, // Assumes no targetVersion needed
9960
},
100-
{
101-
packageName: '@rspack/core',
102-
shouldUpdate: true,
103-
versionToCheck: '9.2.2',
104-
targetVersion: 'latest',
105-
},
106-
{
107-
packageName: '@rspack/cli',
108-
shouldUpdate: true,
109-
versionToCheck: '9.2.2',
110-
targetVersion: 'latest',
111-
},
112-
{
113-
packageName: '@rspack/dev-server',
114-
shouldUpdate: true,
115-
versionToCheck: '9.2.2',
116-
targetVersion: 'latest',
117-
},
118-
{
119-
packageName: '@rspack/plugin-react-refresh',
120-
shouldUpdate: true,
121-
versionToCheck: '9.2.2',
122-
targetVersion: 'latest',
123-
},
12461
];
12562

12663
const versionCache = {};
@@ -164,6 +101,7 @@ function readPackageJson(packageJsonPath) {
164101
async function checkAndUpdatePackages(nestedDir, packageJson, results) {
165102
let needsUpdate = false;
166103

104+
// Check packages from CONFIG
167105
for (const config of CONFIG) {
168106
const { packageName, shouldUpdate, versionToCheck } = config;
169107
let { targetVersion } = config;
@@ -191,6 +129,24 @@ async function checkAndUpdatePackages(nestedDir, packageJson, results) {
191129
}
192130
}
193131

132+
// Check packages from ALWAYS_UPDATE_SCOPES
133+
const allDependencies = {
134+
...packageJson.dependencies,
135+
...packageJson.devDependencies,
136+
};
137+
138+
for (const [packageName, currentVersion] of Object.entries(allDependencies)) {
139+
if (ALWAYS_UPDATE_SCOPES.some(scope => packageName.startsWith(scope))) {
140+
const latestVersion = await getLatestVersion(packageName, 'latest');
141+
if (latestVersion && currentVersion !== latestVersion) {
142+
updateDependencies(packageJson, packageName, latestVersion);
143+
needsUpdate = true;
144+
trackPackage(nestedDir, packageName, results);
145+
console.log(`Updating ${packageName} from ${currentVersion} to ${latestVersion}`);
146+
}
147+
}
148+
}
149+
194150
if (needsUpdate) {
195151
fs.writeFileSync(
196152
path.join(nestedDir, 'package.json'),

0 commit comments

Comments
 (0)