saleor-apps-redis_apl/packages/shared/src/saleor-version-compatibility-validator.ts
Lukasz Ostrowski 23b5c70f51
Extract part of Semver compatibility logic to shared package and implement in Invoices and Taxes (#488)
* Extract semver compatibility logic to shared package and implement it in taxes

* Move semver checking package to packages/shared

* Update lock

* Apply suggestions from code review

Co-authored-by: Adrian Pilarczyk <admin@peelar.dev>

* Improve error message

* Fix lockfile

---------

Co-authored-by: Adrian Pilarczyk <admin@peelar.dev>
2023-05-23 11:04:52 +02:00

17 lines
503 B
TypeScript

const semver = require("semver");
export class SaleorVersionCompatibilityValidator {
constructor(private appRequiredVersion: string) {}
validateOrThrow(saleorVersion: string) {
const versionIsValid = semver.satisfies(saleorVersion, this.appRequiredVersion, {
includePrerelease: true,
});
if (!versionIsValid) {
throw new Error(
`Your Saleor version (${saleorVersion}) doesn't match App's required version (semver: ${this.appRequiredVersion})`
);
}
}
}