quaertym / ember-cli-dependency-checker

Ember CLI addon for checking missing node and bower dependencies before running ember commands
MIT License
40 stars 37 forks source link

Unhelpful message `TypeError: Invalid Version: *` #75

Closed xdumaine closed 1 year ago

xdumaine commented 7 years ago

After having linked a local module for development, and forgetting I had done so, I was left with this unhelpful message:

~/Code/project (develop *)$ ember dependency-lint
Invalid Version: *
TypeError: Invalid Version: *
    at new SemVer (/Users/pcm/Code/web-directory/node_modules/ember-cli-dependency-checker/node_modules/semver/semver.js:295:11)
    at Range.test (/Users/pcm/Code/web-directory/node_modules/ember-cli-dependency-checker/node_modules/semver/semver.js:1049:15)
    at Function.satisfies (/Users/pcm/Code/web-directory/node_modules/ember-cli-dependency-checker/node_modules/semver/semver.js:1098:16)
    at Function.VersionChecker.satisfies (/Users/pcm/Code/web-directory/node_modules/ember-cli-dependency-checker/lib/version-checker.js:31:17)
    at Package.updateRequired (/Users/pcm/Code/web-directory/node_modules/ember-cli-dependency-checker/lib/package.js:21:26)
    at Package.init (/Users/pcm/Code/web-directory/node_modules/ember-cli-dependency-checker/lib/package.js:15:27)
    at new Package (/Users/pcm/Code/web-directory/node_modules/ember-cli-dependency-checker/lib/package.js:4:13)
    at EmberCLIDependencyChecker.<anonymous> (/Users/pcm/Code/web-directory/node_modules/ember-cli-dependency-checker/lib/dependency-checker.js:133:12)
    at Array.map (native)
    at EmberCLIDependencyChecker.readDependencies (/Users/pcm/Code/web-directory/node_modules/ember-cli-dependency-checker/lib/dependency-checker.js:129:36)

By following that stacktrace though to here I just threw in this:

    try {
        return new Package(name, versionSpecified, versionInstalled, path);
    } catch (e) {
        console.error('Error mapping package', name, versionSpecified, versionInstalled, path);
        throw(e);
    }

Which gave me a much more helpful

Error mapping package SimpleWebRTC ~2.2.0 * bower_components/SimpleWebRTC

If you'd be amenable to this change, or even just a helpful console log if versionSpecified or versionInstalled is '*' I'll open a PR.

Darep commented 7 years ago

Just ran into this as well :) I like your idea. Could a more verbose message work?

console.error(`Error mapping package ${path} (version specified: ${versionSpecified}, installed: ${versionInstalled})`);
quaertym commented 7 years ago

👍 A PR would be great.