@co0ontty/wand 2.3.4 → 2.4.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/dist/build-info.json +3 -3
- package/dist/version-utils.d.ts +1 -1
- package/dist/version-utils.js +13 -18
- package/dist/web-ui/content/scripts.js +30 -30
- package/dist/web-ui/content/styles.css +1 -1
- package/dist/web-ui/embedded-assets.d.ts +1 -1
- package/dist/web-ui/embedded-assets.js +3 -3
- package/package.json +1 -1
package/dist/build-info.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
|
-
"commit": "
|
|
3
|
-
"builtAt": "2026-07-
|
|
4
|
-
"version": "2.
|
|
2
|
+
"commit": "64b14513c83cef484b8635b6142a63e3cd19af6c",
|
|
3
|
+
"builtAt": "2026-07-04T09:00:31.976Z",
|
|
4
|
+
"version": "2.4.0",
|
|
5
5
|
"channel": "stable"
|
|
6
6
|
}
|
package/dist/version-utils.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* 语义化版本工具:单一真源,供 server / tui / path-repair / models 共用,
|
|
3
3
|
* 避免各处各写一份比较/提取逻辑导致 debug.MMDDHHMM 后缀排序不一致。
|
|
4
4
|
*/
|
|
5
|
-
/** 从任意文本中提取 X.Y.Z[
|
|
5
|
+
/** 从任意文本中提取 X.Y.Z[-prerelease][+build] 形式的版本号(带捕获组)。 */
|
|
6
6
|
export declare const SEMVER_PATTERN: RegExp;
|
|
7
7
|
/** 提取文本中的第一个语义化版本号,没有则返回 null。 */
|
|
8
8
|
export declare function extractSemver(text: string): string | null;
|
package/dist/version-utils.js
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
* 语义化版本工具:单一真源,供 server / tui / path-repair / models 共用,
|
|
3
3
|
* 避免各处各写一份比较/提取逻辑导致 debug.MMDDHHMM 后缀排序不一致。
|
|
4
4
|
*/
|
|
5
|
-
/** 从任意文本中提取 X.Y.Z[
|
|
6
|
-
export const SEMVER_PATTERN = /(\d+\.\d+\.\d+(
|
|
5
|
+
/** 从任意文本中提取 X.Y.Z[-prerelease][+build] 形式的版本号(带捕获组)。 */
|
|
6
|
+
export const SEMVER_PATTERN = /(\d+\.\d+\.\d+(?:-[A-Za-z0-9.-]+)?(?:\+[A-Za-z0-9.-]+)?)/;
|
|
7
7
|
/** 提取文本中的第一个语义化版本号,没有则返回 null。 */
|
|
8
8
|
export function extractSemver(text) {
|
|
9
9
|
const match = text.match(SEMVER_PATTERN);
|
|
@@ -17,14 +17,8 @@ export function extractSemver(text) {
|
|
|
17
17
|
* 贴近标准 semver,避免 debug.MMDDHHMM 后缀因纯字典序而跨月/跨年排反。
|
|
18
18
|
*/
|
|
19
19
|
export function compareSemver(a, b) {
|
|
20
|
-
const
|
|
21
|
-
|
|
22
|
-
const pre = rest.join("-");
|
|
23
|
-
const mainParts = main.split(".").map((n) => Number(n) || 0);
|
|
24
|
-
return { mainParts, pre };
|
|
25
|
-
};
|
|
26
|
-
const pa = parse(a);
|
|
27
|
-
const pb = parse(b);
|
|
20
|
+
const pa = parseSemverLike(a);
|
|
21
|
+
const pb = parseSemverLike(b);
|
|
28
22
|
for (let i = 0; i < 3; i++) {
|
|
29
23
|
const diff = (pa.mainParts[i] || 0) - (pb.mainParts[i] || 0);
|
|
30
24
|
if (diff !== 0)
|
|
@@ -84,14 +78,8 @@ function comparePrereleaseSegments(preA, preB) {
|
|
|
84
78
|
* 系统允许互装,比较结果只用于「是否提示更新」。
|
|
85
79
|
*/
|
|
86
80
|
export function compareApkInstallOrder(a, b) {
|
|
87
|
-
const
|
|
88
|
-
|
|
89
|
-
const pre = rest.join("-");
|
|
90
|
-
const mainParts = main.split(".").map((n) => Number(n) || 0);
|
|
91
|
-
return { mainParts, pre, isDebug: pre.startsWith("debug") };
|
|
92
|
-
};
|
|
93
|
-
const pa = parse(a);
|
|
94
|
-
const pb = parse(b);
|
|
81
|
+
const pa = parseSemverLike(a);
|
|
82
|
+
const pb = parseSemverLike(b);
|
|
95
83
|
for (let i = 0; i < 3; i++) {
|
|
96
84
|
const diff = (pa.mainParts[i] || 0) - (pb.mainParts[i] || 0);
|
|
97
85
|
if (diff !== 0)
|
|
@@ -103,3 +91,10 @@ export function compareApkInstallOrder(a, b) {
|
|
|
103
91
|
return comparePrereleaseSegments(pa.pre, pb.pre);
|
|
104
92
|
return 0;
|
|
105
93
|
}
|
|
94
|
+
function parseSemverLike(v) {
|
|
95
|
+
const withoutBuild = v.trim().replace(/^v/, "").split("+")[0] ?? "";
|
|
96
|
+
const [main, ...rest] = withoutBuild.split("-");
|
|
97
|
+
const pre = rest.join("-");
|
|
98
|
+
const mainParts = main.split(".").map((n) => Number(n) || 0);
|
|
99
|
+
return { mainParts, pre, isDebug: pre.startsWith("debug") };
|
|
100
|
+
}
|