fix(build): generate Suwayomi WebUI revision

This commit is contained in:
2026-07-23 01:29:04 +08:00
parent 4edc660606
commit a8e4b6e658
4 changed files with 55 additions and 1 deletions

View File

@@ -0,0 +1,22 @@
/*
* Copyright (C) Contributors to the Suwayomi project
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/
import assert from 'node:assert/strict';
import { describe, it } from 'node:test';
import { formatWebUIRevision } from '@/features/theme/services/MaterialYouRevision.ts';
describe('formatWebUIRevision', () => {
it('matches the revision format required by Suwayomi custom WebUI builds', () => {
assert.equal(formatWebUIRevision(3356), 'r3356\n');
});
it('rejects invalid git commit counts', () => {
assert.throws(() => formatWebUIRevision(0), /positive integer/);
assert.throws(() => formatWebUIRevision(4.5), /positive integer/);
});
});

View File

@@ -0,0 +1,15 @@
/*
* Copyright (C) Contributors to the Suwayomi project
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/
export const formatWebUIRevision = (commitCount: number): string => {
if (!Number.isInteger(commitCount) || commitCount < 1) {
throw new Error('WebUI revision commit count must be a positive integer');
}
return `r${commitCount}\n`;
};