一些检查失败了
automerge / automerge (push) Has been cancelled
react-native-android-build-apk / AssembleRelease (push) Has been cancelled
Build macOS M1 / Main (push) Has been cancelled
Joplin Continuous Integration / Main (macos-15-intel) (push) Has been cancelled
Joplin Continuous Integration / Main (ubuntu-22.04) (push) Has been cancelled
Joplin Continuous Integration / Main (ubuntu-22.04-arm) (push) Has been cancelled
Joplin Continuous Integration / Main (windows-11-vs2026-arm) (push) Has been cancelled
Joplin Continuous Integration / Main (windows-2025) (push) Has been cancelled
Joplin Continuous Integration / ServerDockerImage (ubuntu-22.04) (push) Has been cancelled
Joplin Continuous Integration / ServerDockerImage (ubuntu-22.04-arm) (push) Has been cancelled
Joplin UI tests / Main (ubuntu-22.04) (push) Has been cancelled
Joplin UI tests / Main (windows-2025) (push) Has been cancelled
Joplin UI tests / Mobile (push) Has been cancelled
Close stale issues / ProcessStaleIssues (push) Has been cancelled
15 行
729 B
TypeScript
15 行
729 B
TypeScript
export default function(version: string): void {
|
|
if (!version || !version.length) throw new Error('Version number cannot be empty');
|
|
|
|
const maxLength = 64;
|
|
if (version.length > 64) throw new Error(`Version number cannot be longer than ${maxLength} characters`);
|
|
|
|
const patternStart = '^[0-9a-zA-Z].*$';
|
|
const patternEnd = '^.*[0-9a-zA-Z]$';
|
|
const pattern = '^[0-9a-zA-Z-.]+$';
|
|
|
|
if (!version.match(new RegExp(patternStart))) throw new Error(`Version number must match pattern /${patternStart}/`);
|
|
if (!version.match(new RegExp(patternEnd))) throw new Error(`Version number must match pattern /${patternEnd}/`);
|
|
if (!version.match(new RegExp(pattern))) throw new Error(`Version number must match pattern /${pattern}/`);
|
|
}
|