saleor-apps-redis_apl/apps/invoices/src/lib/saleor-version-compatibility-validator.ts

19 lines
484 B
TypeScript
Raw Normal View History

const semver = require("semver");
/**
* TODO Extract to shared or even SDK
*/
export class SaleorVersionCompatibilityValidator {
constructor(private appRequiredVersion: string) {}
validateOrThrow(saleorVersion: string) {
const versionIsValid = semver.satisfies(saleorVersion, this.appRequiredVersion, {
includePrerelease: true,
});
if (!versionIsValid) {
throw new Error(`App requires Saleor matching semver: ${this.appRequiredVersion}`);
}
}
}