diff --git a/src/ServerlessOffline.js b/src/ServerlessOffline.js index 1be277d0d..29c4cce71 100644 --- a/src/ServerlessOffline.js +++ b/src/ServerlessOffline.js @@ -285,16 +285,16 @@ module.exports = class ServerlessOffline { // TODO: missing tests _verifyServerlessVersionCompatibility() { const { version: currentVersion } = this._serverless - const { serverless: requiredVersion } = pkg.peerDependencies + const { serverless: requiredVersionRange } = pkg.peerDependencies const versionIsSatisfied = satisfiesVersionRange( - requiredVersion, currentVersion, + requiredVersionRange, ) if (!versionIsSatisfied) { serverlessLog( - `"Serverless-Offline" requires "Serverless" version ${requiredVersion} but found version ${currentVersion}. + `"Serverless-Offline" requires "Serverless" version ${requiredVersionRange} but found version ${currentVersion}. Be aware that functionality might be limited or has serious bugs. To avoid any issues update "Serverless" to a later version. `, diff --git a/src/utils/__tests__/__snapshots__/satisfiesVersionRange.test.js.snap b/src/utils/__tests__/__snapshots__/satisfiesVersionRange.test.js.snap index 0f13d8c1a..e1170273a 100644 --- a/src/utils/__tests__/__snapshots__/satisfiesVersionRange.test.js.snap +++ b/src/utils/__tests__/__snapshots__/satisfiesVersionRange.test.js.snap @@ -1,5 +1,5 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`satisfiesVersionRange should throw when invalid parameters are passed should throw error when invalid range is passed 1`] = `"Not a valid semver range."`; +exports[`satisfiesVersionRange should throw when invalid parameters are passed should throw error when invalid range is passed 1`] = `"Not a valid semver range: a.b.c"`; -exports[`satisfiesVersionRange should throw when invalid parameters are passed should throw error when invalid version is passed 1`] = `"Not a valid semver version."`; +exports[`satisfiesVersionRange should throw when invalid parameters are passed should throw error when invalid version is passed 1`] = `"Not a valid semver version: a.b.c"`; diff --git a/src/utils/__tests__/satisfiesVersionRange.test.js b/src/utils/__tests__/satisfiesVersionRange.test.js index a546b58e0..250677463 100644 --- a/src/utils/__tests__/satisfiesVersionRange.test.js +++ b/src/utils/__tests__/satisfiesVersionRange.test.js @@ -5,14 +5,14 @@ const satisfiesVersionRange = require('../satisfiesVersionRange.js') describe('satisfiesVersionRange', () => { describe('valid parameters', () => { test.each` - range | version | expected | description - ${'>=1.38'} | ${'1.38.0'} | ${true} | ${'same as minimum'} - ${'>=1.38'} | ${'1.40.0'} | ${true} | ${'greather than minimum'} - ${'>=1.38'} | ${'1.37.11'} | ${false} | ${'less than minimum'} + version | range | expected | description + ${'1.38.0'} | ${'>=1.38'} | ${true} | ${'same as minimum'} + ${'1.40.0'} | ${'>=1.38'} | ${true} | ${'greather than minimum'} + ${'1.37.11'} | ${'>=1.38'} | ${false} | ${'less than minimum'} `( 'should return $expected when $description is passed', ({ expected, range, version }) => { - const result = satisfiesVersionRange(range, version) + const result = satisfiesVersionRange(version, range) expect(result).toEqual(expected) }, ) @@ -20,14 +20,14 @@ describe('satisfiesVersionRange', () => { describe('should throw when invalid parameters are passed', () => { test.each` - range | version | description - ${'>=1.40'} | ${'a.b.c'} | ${'invalid version'} - ${'a.b.c'} | ${'1.40.0'} | ${'invalid range'} + version | range | description + ${'a.b.c'} | ${'>=1.40'} | ${'invalid version'} + ${'1.40.0'} | ${'a.b.c'} | ${'invalid range'} `( 'should throw error when $description is passed', ({ range, version }) => { expect(() => - satisfiesVersionRange(range, version), + satisfiesVersionRange(version, range), ).toThrowErrorMatchingSnapshot() }, ) diff --git a/src/utils/satisfiesVersionRange.js b/src/utils/satisfiesVersionRange.js index 48c96030a..1853de0f2 100644 --- a/src/utils/satisfiesVersionRange.js +++ b/src/utils/satisfiesVersionRange.js @@ -2,13 +2,13 @@ const { satisfies, valid, validRange } = require('semver') -module.exports = function satisfiesVersionRange(range, version) { +module.exports = function satisfiesVersionRange(version, range) { if (valid(version) == null) { - throw new Error('Not a valid semver version.') + throw new Error(`Not a valid semver version: ${version}`) } if (validRange(range) == null) { - throw new Error('Not a valid semver range.') + throw new Error(`Not a valid semver range: ${range}`) } return satisfies(version, range)