Socket
Socket
Sign inDemoInstall

ember-cli-version-checker

Package Overview
Dependencies
Maintainers
5
Versions
35
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ember-cli-version-checker - npm Package Compare versions

Comparing version 4.1.0 to 5.0.0

16

CHANGELOG.md

@@ -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 @@

14

package.json
{
"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;
};
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc