文件
mynode/packages/lib/services/plugins/utils/validatePluginVersion.ts
chen 301194963b
一些检查失败了
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
feat: Initial clean release of CHM
2026-11-04 11:29:39 +08:00

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}/`);
}