@@ -2,6 +2,9 @@ const fs = require('fs');
2
2
const path = require ( 'path' ) ;
3
3
const semver = require ( 'semver' ) ;
4
4
5
+ // Packages that should always be updated to latest regardless of scope
6
+ const ALWAYS_UPDATE_SCOPES = [ '@rspack/' , '@rsbuild/' ] ;
7
+
5
8
const CONFIG = [
6
9
{
7
10
packageName : '@module-federation/node' ,
@@ -39,48 +42,6 @@ const CONFIG = [
39
42
versionToCheck : '9.2.2' ,
40
43
targetVersion : 'latest' ,
41
44
} ,
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
- } ,
84
45
{
85
46
packageName : 'webpack' ,
86
47
shouldUpdate : true , // Assumes no targetVersion needed
@@ -97,30 +58,6 @@ const CONFIG = [
97
58
packageName : '@module-federation/utilities' ,
98
59
shouldUpdate : false , // Assumes no targetVersion needed
99
60
} ,
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
- } ,
124
61
] ;
125
62
126
63
const versionCache = { } ;
@@ -164,6 +101,7 @@ function readPackageJson(packageJsonPath) {
164
101
async function checkAndUpdatePackages ( nestedDir , packageJson , results ) {
165
102
let needsUpdate = false ;
166
103
104
+ // Check packages from CONFIG
167
105
for ( const config of CONFIG ) {
168
106
const { packageName, shouldUpdate, versionToCheck } = config ;
169
107
let { targetVersion } = config ;
@@ -191,6 +129,24 @@ async function checkAndUpdatePackages(nestedDir, packageJson, results) {
191
129
}
192
130
}
193
131
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
+
194
150
if ( needsUpdate ) {
195
151
fs . writeFileSync (
196
152
path . join ( nestedDir , 'package.json' ) ,
0 commit comments