spectrum-cli 2.1.2 → 3.0.0
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 +11 -27
- package/README.md +89 -55
- package/index.js +15 -32
- package/package.json +1 -1
- package/src/changelog-config.js +38 -0
- package/src/changelog.js +222 -251
- package/src/chart.js +256 -6
- package/src/git.js +2 -2
- package/src/preflight.js +255 -25
- package/src/release.js +95 -108
- package/src/utils.js +0 -10
- package/src/version.js +31 -40
- package/src/UNRELEASED.md +0 -33
package/src/version.js
CHANGED
|
@@ -1,12 +1,33 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
const
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
|
|
3
|
+
const STABLE_VERSION_PATTERN = /^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$/;
|
|
4
|
+
|
|
5
|
+
function parseStableVersion(version) {
|
|
6
|
+
const match = String(version || '').match(STABLE_VERSION_PATTERN);
|
|
7
|
+
if (!match) return null;
|
|
8
|
+
return match.slice(1).map(Number);
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
function compareVersions(left, right) {
|
|
12
|
+
const leftParts = parseStableVersion(left);
|
|
13
|
+
const rightParts = parseStableVersion(right);
|
|
14
|
+
if (!leftParts || !rightParts) {
|
|
15
|
+
throw new Error('Для сравнения требуются стабильные SemVer версии X.Y.Z.');
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
for (let index = 0; index < leftParts.length; index += 1) {
|
|
19
|
+
if (leftParts[index] !== rightParts[index]) {
|
|
20
|
+
return leftParts[index] - rightParts[index];
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
return 0;
|
|
24
|
+
}
|
|
6
25
|
|
|
7
26
|
function upVersion(oldVersion, upType) {
|
|
8
|
-
const
|
|
9
|
-
|
|
27
|
+
const parts = parseStableVersion(oldVersion);
|
|
28
|
+
if (!parts) return null;
|
|
29
|
+
const [major, minor, patch] = parts;
|
|
30
|
+
|
|
10
31
|
switch (upType) {
|
|
11
32
|
case 'major':
|
|
12
33
|
return `${major + 1}.0.0`;
|
|
@@ -18,39 +39,9 @@ function upVersion(oldVersion, upType) {
|
|
|
18
39
|
}
|
|
19
40
|
}
|
|
20
41
|
|
|
21
|
-
function updateVersionFile(versionType) {
|
|
22
|
-
try {
|
|
23
|
-
const packageJson = JSON.parse(fs.readFileSync('package.json', 'utf8'));
|
|
24
|
-
const oldVersion = packageJson.version;
|
|
25
|
-
const newVersion = upVersion(oldVersion, versionType);
|
|
26
|
-
|
|
27
|
-
packageJson.version = newVersion;
|
|
28
|
-
fs.writeFileSync('package.json', JSON.stringify(packageJson, null, 2) + '\n');
|
|
29
|
-
logSuccess('🔖', 'Версия обновлена с %s до %s.', oldVersion, newVersion);
|
|
30
|
-
return true;
|
|
31
|
-
} catch (error) {
|
|
32
|
-
logError('❌', 'Ошибка при обновлении версии в package.json');
|
|
33
|
-
return false;
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
function setVersion(versionType) {
|
|
38
|
-
return runCommand({
|
|
39
|
-
name: `version up ${versionType}`,
|
|
40
|
-
checks: [
|
|
41
|
-
{ name: 'git-repo', run: requireGitRepo },
|
|
42
|
-
{ name: 'package-json-exists', run: () => requireFileExists('package.json') },
|
|
43
|
-
{ name: 'package-version', run: requirePackageVersion },
|
|
44
|
-
],
|
|
45
|
-
steps: [
|
|
46
|
-
{ name: 'update-package-version', run: () => updateVersionFile(versionType) }
|
|
47
|
-
]
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
|
|
52
42
|
module.exports = {
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
43
|
+
STABLE_VERSION_PATTERN,
|
|
44
|
+
parseStableVersion,
|
|
45
|
+
compareVersions,
|
|
46
|
+
upVersion
|
|
56
47
|
};
|
package/src/UNRELEASED.md
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
## [Unreleased]
|
|
2
|
-
|
|
3
|
-
### 💥 Breaking change
|
|
4
|
-
|
|
5
|
-
_Список обратно несовместимых изменений._
|
|
6
|
-
|
|
7
|
-
### 🆕 Added
|
|
8
|
-
|
|
9
|
-
_Список новой функциональности._
|
|
10
|
-
|
|
11
|
-
### 🛠 Changed
|
|
12
|
-
|
|
13
|
-
_Список изменившейся функциональности._
|
|
14
|
-
|
|
15
|
-
### 📜 Deprecated
|
|
16
|
-
|
|
17
|
-
_Список устаревшей функциональности._
|
|
18
|
-
|
|
19
|
-
### 🗑 Removed
|
|
20
|
-
|
|
21
|
-
_Список удаленной функциональности._
|
|
22
|
-
|
|
23
|
-
### 🪲 Fixed
|
|
24
|
-
|
|
25
|
-
_Список исправлений багов._
|
|
26
|
-
|
|
27
|
-
### 🔐 Security
|
|
28
|
-
|
|
29
|
-
_Список правок для обеспечения безопасности._
|
|
30
|
-
|
|
31
|
-
### 📦 Support
|
|
32
|
-
|
|
33
|
-
_Список правок для обеспечения технической поддержки._
|