@anolilab/multi-semantic-release 2.0.3 → 2.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +21 -0
- package/README.md +58 -52
- package/lib/create-inline-plugin-creator.js +0 -1
- package/lib/get-manifest.js +1 -1
- package/lib/logger.js +2 -3
- package/lib/update-deps.js +3 -7
- package/lib/utils/merge-config.js +1 -1
- package/package.json +4 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,24 @@
|
|
|
1
|
+
## @anolilab/multi-semantic-release [2.0.5](https://github.com/anolilab/semantic-release/compare/@anolilab/multi-semantic-release@2.0.4...@anolilab/multi-semantic-release@2.0.5) (2025-10-01)
|
|
2
|
+
|
|
3
|
+
### Bug Fixes
|
|
4
|
+
|
|
5
|
+
* **deps:** update dependency semantic-release to >=22.0.12 ([#189](https://github.com/anolilab/semantic-release/issues/189)) ([59a9c1a](https://github.com/anolilab/semantic-release/commit/59a9c1acbfbbacde26d13b8781ebf8324d907474))
|
|
6
|
+
|
|
7
|
+
## @anolilab/multi-semantic-release [2.0.4](https://github.com/anolilab/semantic-release/compare/@anolilab/multi-semantic-release@2.0.3...@anolilab/multi-semantic-release@2.0.4) (2025-09-22)
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* **deps:** update dependencies across multiple packages ([150593f](https://github.com/anolilab/semantic-release/commit/150593fec51e1646e8bc5d8aa9db76a8370d42c1))
|
|
12
|
+
* update dependencies and configuration across multiple packages ([9c9b4cb](https://github.com/anolilab/semantic-release/commit/9c9b4cb5b1f9e172f2e1ce509491b950ae448c09))
|
|
13
|
+
* update dependencies and improve configuration ([de0cf70](https://github.com/anolilab/semantic-release/commit/de0cf702c2c5217203409b475f96061702806475))
|
|
14
|
+
* update package dependencies and configurations ([8241a76](https://github.com/anolilab/semantic-release/commit/8241a762582a25742d385d8cf113851ac8b9b801))
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### Dependencies
|
|
18
|
+
|
|
19
|
+
* **@anolilab/semantic-release-clean-package-json:** upgraded to 3.0.4
|
|
20
|
+
* **@anolilab/semantic-release-pnpm:** upgraded to 2.0.4
|
|
21
|
+
|
|
1
22
|
## @anolilab/multi-semantic-release [2.0.3](https://github.com/anolilab/semantic-release/compare/@anolilab/multi-semantic-release@2.0.2...@anolilab/multi-semantic-release@2.0.3) (2025-07-31)
|
|
2
23
|
|
|
3
24
|
### Bug Fixes
|
package/README.md
CHANGED
|
@@ -147,72 +147,78 @@ Multi-semantic-release can be configured using a configuration file in any of th
|
|
|
147
147
|
### Configuration File Formats
|
|
148
148
|
|
|
149
149
|
1. **`package.json`** (under the `"multi-release"` key):
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
150
|
+
|
|
151
|
+
```json
|
|
152
|
+
{
|
|
153
|
+
"name": "my-monorepo",
|
|
154
|
+
"version": "1.0.0",
|
|
155
|
+
"multi-release": {
|
|
156
|
+
"deps": {
|
|
157
|
+
"bump": "inherit"
|
|
158
|
+
},
|
|
159
|
+
"ignorePackages": ["packages/legacy/**"],
|
|
160
|
+
"tagFormat": "${name}@${version}"
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
```
|
|
163
164
|
|
|
164
165
|
2. **`.multi-releaserc`** (JSON format):
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
166
|
+
|
|
167
|
+
```json
|
|
168
|
+
{
|
|
169
|
+
"deps": {
|
|
170
|
+
"bump": "inherit"
|
|
171
|
+
},
|
|
172
|
+
"ignorePackages": ["packages/legacy/**"],
|
|
173
|
+
"tagFormat": "${name}@${version}"
|
|
174
|
+
}
|
|
175
|
+
```
|
|
174
176
|
|
|
175
177
|
3. **`.multi-releaserc.json`**:
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
178
|
+
|
|
179
|
+
```json
|
|
180
|
+
{
|
|
181
|
+
"deps": {
|
|
182
|
+
"bump": "inherit"
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
```
|
|
183
186
|
|
|
184
187
|
4. **`.multi-releaserc.js`** (CommonJS module):
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
188
|
+
|
|
189
|
+
```javascript
|
|
190
|
+
module.exports = {
|
|
191
|
+
deps: {
|
|
192
|
+
bump: "inherit",
|
|
193
|
+
},
|
|
194
|
+
ignorePackages: ["packages/legacy/**"],
|
|
195
|
+
};
|
|
196
|
+
```
|
|
193
197
|
|
|
194
198
|
5. **`.multi-releaserc.cjs`** (CommonJS module):
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
199
|
+
|
|
200
|
+
```javascript
|
|
201
|
+
module.exports = {
|
|
202
|
+
deps: {
|
|
203
|
+
bump: "inherit",
|
|
204
|
+
excludeDependencies: ["@visulima/packem", "my-circular-package"],
|
|
205
|
+
},
|
|
206
|
+
};
|
|
207
|
+
```
|
|
203
208
|
|
|
204
209
|
6. **`multi-release.config.js`** (ES module):
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
210
|
+
```javascript
|
|
211
|
+
export default {
|
|
212
|
+
deps: {
|
|
213
|
+
bump: "inherit",
|
|
214
|
+
},
|
|
215
|
+
};
|
|
216
|
+
```
|
|
212
217
|
|
|
213
218
|
### Configuration Search
|
|
214
219
|
|
|
215
220
|
Multi-semantic-release will search for configuration files in the following order:
|
|
221
|
+
|
|
216
222
|
1. `package.json` (under `"multi-release"` property)
|
|
217
223
|
2. `.multi-releaserc`
|
|
218
224
|
3. `.multi-releaserc.json`
|
|
@@ -248,7 +248,6 @@ function createInlinePluginCreator(packages, multiContext, flags) {
|
|
|
248
248
|
|
|
249
249
|
// Add labels for logs.
|
|
250
250
|
Object.keys(inlinePlugin).forEach((type) =>
|
|
251
|
-
// eslint-disable-next-line security/detect-object-injection
|
|
252
251
|
Reflect.defineProperty(inlinePlugin[type], "pluginName", {
|
|
253
252
|
enumerable: true,
|
|
254
253
|
value: "Inline plugin",
|
package/lib/get-manifest.js
CHANGED
|
@@ -70,7 +70,7 @@ export default function getManifest(path) {
|
|
|
70
70
|
|
|
71
71
|
// Check dependencies.
|
|
72
72
|
const checkDeps = (scope) => {
|
|
73
|
-
// eslint-disable-next-line no-prototype-builtins
|
|
73
|
+
// eslint-disable-next-line no-prototype-builtins
|
|
74
74
|
if (manifest.hasOwnProperty(scope) && typeof manifest[scope] !== "object") {
|
|
75
75
|
throw new SyntaxError(`Package ${scope} must be object: "${path}"`);
|
|
76
76
|
}
|
package/lib/logger.js
CHANGED
|
@@ -64,11 +64,10 @@ const logger = {
|
|
|
64
64
|
},
|
|
65
65
|
// eslint-disable-next-line unicorn/no-array-reduce
|
|
66
66
|
...[...severityOrder, ...Object.keys(aliases)].reduce((m, l) => {
|
|
67
|
-
// eslint-disable-next-line no-param-reassign,
|
|
67
|
+
// eslint-disable-next-line no-param-reassign,func-names
|
|
68
68
|
m[l] = function (...arguments_) {
|
|
69
|
-
// eslint-disable-next-line security/detect-object-injection
|
|
70
69
|
if (assertLevel(aliases[l] || l, this.config.level)) {
|
|
71
|
-
// eslint-disable-next-line no-console
|
|
70
|
+
// eslint-disable-next-line no-console
|
|
72
71
|
(this.config._signale[l] || console[l] || (() => {}))(this.prefix, ...arguments_);
|
|
73
72
|
}
|
|
74
73
|
};
|
package/lib/update-deps.js
CHANGED
|
@@ -65,7 +65,6 @@ const getDependentRelease = (package_, bumpStrategy, releaseStrategy, ignore, pr
|
|
|
65
65
|
const { dependencies = {}, devDependencies = {}, optionalDependencies = {}, peerDependencies = {} } = manifest;
|
|
66
66
|
const scopes = [dependencies, devDependencies, peerDependencies, optionalDependencies];
|
|
67
67
|
const bumpDependency = (scope, name, nextVersion) => {
|
|
68
|
-
// eslint-disable-next-line security/detect-object-injection
|
|
69
68
|
const currentVersion = scope[name];
|
|
70
69
|
|
|
71
70
|
if (!nextVersion || !currentVersion) {
|
|
@@ -76,7 +75,7 @@ const getDependentRelease = (package_, bumpStrategy, releaseStrategy, ignore, pr
|
|
|
76
75
|
const resolvedVersion = resolveNextVersion(currentVersion, nextVersion, bumpStrategy, prefix);
|
|
77
76
|
|
|
78
77
|
if (currentVersion !== resolvedVersion) {
|
|
79
|
-
// eslint-disable-next-line no-param-reassign
|
|
78
|
+
// eslint-disable-next-line no-param-reassign
|
|
80
79
|
scope[name] = resolvedVersion;
|
|
81
80
|
|
|
82
81
|
return true;
|
|
@@ -140,9 +139,8 @@ const substituteWorkspaceVersion = (currentVersion, nextVersion) => {
|
|
|
140
139
|
// https://gist.github.com/Yimiprod/7ee176597fef230d1451
|
|
141
140
|
const difference = (object, base) =>
|
|
142
141
|
transform(object, (result, value, key) => {
|
|
143
|
-
// eslint-disable-next-line security/detect-object-injection
|
|
144
142
|
if (!isEqual(value, base[key])) {
|
|
145
|
-
// eslint-disable-next-line
|
|
143
|
+
// eslint-disable-next-line no-param-reassign
|
|
146
144
|
result[key] = isObject(value) && isObject(base[key]) ? difference(value, base[key]) : `${base[key]} → ${value}`;
|
|
147
145
|
}
|
|
148
146
|
});
|
|
@@ -160,11 +158,10 @@ const auditManifestChanges = (actualManifest, path) => {
|
|
|
160
158
|
const depScopes = ["dependencies", "devDependencies", "peerDependencies", "optionalDependencies"];
|
|
161
159
|
// eslint-disable-next-line unicorn/no-array-reduce
|
|
162
160
|
const changes = depScopes.reduce((result, scope) => {
|
|
163
|
-
// eslint-disable-next-line security/detect-object-injection
|
|
164
161
|
const diff = difference(actualManifest[scope], oldManifest[scope]);
|
|
165
162
|
|
|
166
163
|
if (Object.keys(diff).length > 0) {
|
|
167
|
-
// eslint-disable-next-line
|
|
164
|
+
// eslint-disable-next-line no-param-reassign
|
|
168
165
|
result[scope] = diff;
|
|
169
166
|
}
|
|
170
167
|
|
|
@@ -309,7 +306,6 @@ export const resolveNextVersion = (currentVersion, nextVersion, bumpStrategy = "
|
|
|
309
306
|
const separator = ".";
|
|
310
307
|
const nextChunks = nextVersion.split(separator);
|
|
311
308
|
const currentChunks = currentVersion.split(separator);
|
|
312
|
-
// eslint-disable-next-line security/detect-object-injection
|
|
313
309
|
const resolvedChunks = currentChunks.map((chunk, index) => (nextChunks[index] ? chunk.replace(/\d+/u, nextChunks[index]) : chunk));
|
|
314
310
|
|
|
315
311
|
return resolvedChunks.join(separator);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// eslint-disable-next-line you-dont-need-lodash-underscore/cast-array
|
|
2
2
|
import { castArray, pickBy } from "lodash-es";
|
|
3
3
|
|
|
4
|
-
const isNil = (value) => value ==
|
|
4
|
+
const isNil = (value) => value == undefined;
|
|
5
5
|
|
|
6
6
|
const mergeConfig = (a = {}, b = {}) => {
|
|
7
7
|
return {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@anolilab/multi-semantic-release",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.5",
|
|
4
4
|
"description": "A multi semantic release tool for a monorepo.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -28,8 +28,8 @@
|
|
|
28
28
|
"@semrel-extra/topo": "^1.14.1",
|
|
29
29
|
"blork": "^9.3.0",
|
|
30
30
|
"cosmiconfig": "^9.0.0",
|
|
31
|
-
"debug": "^4.4.
|
|
32
|
-
"detect-indent": "^7.0.
|
|
31
|
+
"debug": "^4.4.3",
|
|
32
|
+
"detect-indent": "^7.0.2",
|
|
33
33
|
"detect-newline": "^4.0.1",
|
|
34
34
|
"execa": "^9.6.0",
|
|
35
35
|
"git-log-parser": "^1.2.1",
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
"yargs": "18.0.0"
|
|
42
42
|
},
|
|
43
43
|
"peerDependencies": {
|
|
44
|
-
"semantic-release": ">=22.0.
|
|
44
|
+
"semantic-release": ">=22.0.12"
|
|
45
45
|
},
|
|
46
46
|
"engines": {
|
|
47
47
|
"node": ">=20.8.1"
|