ember-cli-version-checker
Advanced tools
Comparing version 4.1.0 to 5.0.0
@@ -0,1 +1,17 @@ | ||
## v5.0.0 (2020-02-14) | ||
#### :boom: Breaking Change | ||
* [#165](https://github.com/ember-cli/ember-cli-version-checker/pull/165) Remove Un-needed features ([@stefanpenner](https://github.com/stefanpenner)) | ||
* [#170](https://github.com/ember-cli/ember-cli-version-checker/pull/170) Drop node 8 support ([@stefanpenner](https://github.com/stefanpenner)) | ||
#### :rocket: Enhancement | ||
* [#173](https://github.com/ember-cli/ember-cli-version-checker/pull/173) Add partial windows coverage ([@stefanpenner](https://github.com/stefanpenner)) | ||
* [#172](https://github.com/ember-cli/ember-cli-version-checker/pull/172) use GH Actions ([@stefanpenner](https://github.com/stefanpenner)) | ||
* [#171](https://github.com/ember-cli/ember-cli-version-checker/pull/171) Improve error message ([@stefanpenner](https://github.com/stefanpenner)) | ||
#### Committers: 2 | ||
- Stefan Penner ([@stefanpenner](https://github.com/stefanpenner)) | ||
- [@dependabot-preview[bot]](https://github.com/apps/dependabot-preview) | ||
## v4.1.0 (2020-01-17) | ||
@@ -2,0 +18,0 @@ |
{ | ||
"name": "ember-cli-version-checker", | ||
"version": "4.1.0", | ||
"version": "5.0.0", | ||
"description": "Determine if your addon is being used by a minimum version of Ember CLI.", | ||
@@ -30,3 +30,3 @@ "homepage": "https://github.com/rwjblue/ember-cli-version-checker", | ||
"resolve-package-path": "^2.0.0", | ||
"semver": "^6.3.0", | ||
"semver": "^7.1.3", | ||
"silent-error": "^1.1.1" | ||
@@ -36,6 +36,6 @@ }, | ||
"broccoli-test-helper": "^2.0.0", | ||
"eslint-config-prettier": "^6.9.0", | ||
"eslint-config-prettier": "^6.10.0", | ||
"eslint-plugin-prettier": "^3.1.2", | ||
"lerna-changelog": "^0.8.3", | ||
"mocha": "^7.0.0", | ||
"lerna-changelog": "^1.0.0", | ||
"mocha": "^7.0.1", | ||
"mocha-eslint": "^6.0.0", | ||
@@ -49,7 +49,7 @@ "prettier": "^1.19.1" | ||
"engines": { | ||
"node": "8.* || 10.* || >= 12.*" | ||
"node": "10.* || >= 12.*" | ||
}, | ||
"volta": { | ||
"node": "8.17.0" | ||
"node": "10.19.0" | ||
} | ||
} |
# Ember CLI Version Checker | ||
[![npm version](https://badge.fury.io/js/ember-cli-version-checker.svg)](https://badge.fury.io/js/ember-cli-version-checker) | ||
[![Build Status](https://travis-ci.org/ember-cli/ember-cli-version-checker.svg?branch=master)](https://travis-ci.org/ember-cli/ember-cli-version-checker) | ||
![](https://github.com/stefanpenner/do-you-even-test/workflows/ci/badge.svg) | ||
@@ -121,27 +121,2 @@ Makes it easier to determine if a compatible version of a given NPM or Bower package is present. | ||
### forEmber | ||
Since ember introduced the `ember-source` from NPM, ember has two ways to be | ||
shipped. One from bower `ember` and other from NPM `ember-source`. The | ||
function `forEmber` will look for `ember-source` from NPM, if it doesn't | ||
find it, it will look for `ember` in bower. | ||
```javascript | ||
let VersionChecker = require('ember-cli-version-checker'); | ||
module.exports = { | ||
name: 'awesome-addon', | ||
init() { | ||
this._super.init.apply(this, arguments); | ||
let checker = new VersionChecker(this.project); | ||
let ember = checker.forEmber(); | ||
if (ember.isAbove('2.10.0')) { | ||
/* deal with 2.10.0 stuff */ | ||
}; | ||
} | ||
}; | ||
``` | ||
### exists | ||
@@ -148,0 +123,0 @@ |
'use strict'; | ||
const fs = require('fs'); | ||
const semver = require('semver'); | ||
const getProject = require('./get-project'); | ||
const resolvePackage = require('resolve-package-path'); | ||
@@ -24,2 +26,5 @@ function getVersionFromJSONFile(filePath) { | ||
this.name = name; | ||
let addon = this._parent._addon; | ||
let basedir = addon.root || getProject(addon).root; | ||
this._jsonPath = resolvePackage(this.name, basedir); | ||
} | ||
@@ -52,11 +57,8 @@ | ||
let message = _message; | ||
if (!message) { | ||
message = `The addon \`${this._parent._addon.name}\` requires the ${this._type} package \`${this.name}\` to be above ${compareVersion}, but you have ${this.version}.`; | ||
} | ||
if (!this.isAbove(compareVersion)) { | ||
const error = new Error(message); | ||
error.suppressStacktrace = true; | ||
throw error; | ||
if (!message) { | ||
const parentAddon = this._parent._addon; | ||
message = `The addon \`${parentAddon.name}\` @ \`${parentAddon.root}\` requires the npm package \`${this.name}\` to be above ${compareVersion}, but you have ${this.version}.`; | ||
} | ||
throw new Error(message); | ||
} | ||
@@ -66,4 +68,3 @@ } | ||
let semverMethods = ['gt', 'lt', 'gte', 'lte', 'eq', 'neq', 'satisfies']; | ||
semverMethods.forEach(function(method) { | ||
for (let method of ['gt', 'lt', 'gte', 'lte', 'eq', 'neq', 'satisfies']) { | ||
DependencyVersionChecker.prototype[method] = function(range) { | ||
@@ -75,4 +76,4 @@ if (!this.version) { | ||
}; | ||
}); | ||
} | ||
module.exports = DependencyVersionChecker; |
'use strict'; | ||
const DependencyVersionChecker = require('./dependency-version-checker'); | ||
const getProject = require('./get-project'); | ||
const resolvePackage = require('resolve-package-path'); | ||
module.exports = class NPMDependencyVersionChecker extends DependencyVersionChecker { | ||
constructor(parent, name) { | ||
super(parent, name); | ||
let addon = this._parent._addon; | ||
let basedir = addon.root || getProject(addon).root; | ||
this._jsonPath = resolvePackage(this.name, basedir); | ||
this._type = 'npm'; | ||
} | ||
}; |
@@ -64,6 +64,12 @@ 'use strict'; | ||
let message = | ||
customMessage || | ||
`[ember-cli-version-checker] This project requires a single implementation version of the npm package \`${name}\`, but there're multiple. Please resolve \`${name}\` to same version:`; | ||
let message; | ||
if (uniqueImplementations.size < 1) { | ||
message = `[ember-cli-version-checker] This project requires a single implementation version of the npm package \`${name}\`, but none where found.`; | ||
} else { | ||
if (customMessage) { | ||
message = customMessage; | ||
} else { | ||
message = `[ember-cli-version-checker] This project requires a single implementation version of the npm package \`${name}\`, but there're multiple. Please resolve \`${name}\` to same version:`; | ||
} | ||
} | ||
for (let root of uniqueImplementations) { | ||
@@ -70,0 +76,0 @@ message += `\n - ${name} @ ${root}`; |
'use strict'; | ||
/* eslint-env node */ | ||
const BowerDependencyVersionChecker = require('./bower-dependency-version-checker'); | ||
const NPMDependencyVersionChecker = require('./npm-dependency-version-checker'); | ||
const getProject = require('./get-project'); | ||
const DependencyVersionChecker = require('./dependency-version-checker'); | ||
const ProjectWideDependencyChecker = require('./project-wide-dependency-checker'); | ||
class VersionChecker { | ||
module.exports = class VersionChecker { | ||
constructor(addon) { | ||
@@ -21,5 +17,7 @@ this._addon = addon; | ||
if (type === 'bower') { | ||
return new BowerDependencyVersionChecker(this, name); | ||
throw new Error( | ||
'[ember-cli-version-checker] Bower is no longer supported' | ||
); | ||
} else { | ||
return new NPMDependencyVersionChecker(this, name); | ||
return new DependencyVersionChecker(this, name); | ||
} | ||
@@ -29,14 +27,6 @@ } | ||
forEmber() { | ||
let project = getProject(this._addon); | ||
let checker = project === this._addon ? this : new VersionChecker(project); | ||
let emberVersionChecker = checker.for('ember-source', 'npm'); | ||
if (emberVersionChecker.version) { | ||
return emberVersionChecker; | ||
} | ||
return checker.for('ember', 'bower'); | ||
throw new Error( | ||
`[ember-cli-version-checker] 'checker.forEmber' has been removed, please use 'checker.for(\`ember-source\`)'` | ||
); | ||
} | ||
} | ||
module.exports = VersionChecker; | ||
}; |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
24423
10
210
282
+ Addedsemver@7.6.3(transitive)
- Removedsemver@6.3.1(transitive)
Updatedsemver@^7.1.3