Rudi Ørnhøj
Rudi Ørnhøj

Reputation: 221

Yarn upgrade-interactive always to `exotic`

I'm playing around with a centralized build setup which is hosted on github: https://github.com/skybrud/sky-build-setup/tree/master

In the npm module this repo is used, I have the following package.json:

{
  "name": "sky-crop",
  "version": "1.0.5",
  "description": "Vue component for cropping images",
  "main": "dist/skycrop.js",
  "scripts": {
    "vanilla": "rimraf ./node_modules && yarn run dist",
    "build": "rimraf ./dist && webpack --config ./webpack.config.js",
    "dist": "yarn install && yarn run build"
  },
  "build": "module",
  "author": "Skybrud.dk",
  "license": "MIT",
  "repository": {
    "type": "git",
    "url": "https://github.com/skybrud/sky-crop.git"
  },
  "dependencies": {
    "sky-window": "^1.0.4"
  },
  "devDependencies": {
    "sky-build-setup": "https://github.com/skybrud/sky-build-setup.git#semver:^1.0.0"
  }
}

Here's my issue. When running yarn upgrade-interactive I always get the following: enter image description here

For some reason the to part always refers to exotic in stead of being up to date.

Can someone point me in the right direction about what is going on? And what does exotic exactly mean? I haven't been able to locate the description anywhere.

Upvotes: 1

Views: 1428

Answers (1)

GavinoGrifoni
GavinoGrifoni

Reputation: 763

Yarn can't manage dependencies versions for dependencies not belonging to the npm packages repository.

In your case, the devDependency sky-build-setup is resolved using a github url, where yarn doesn't have a way of knowing if there is a new version of the dependency nor how to update it. The dependencies not belonging to npm (i.e. the ones resolved via urls or file:) are marked as exotic in the interactive-upgrade process.

On the other hand, the dependency sky-window comes from npm and yarn can assess if you are using the latest version and eventually update it for you.

Upvotes: 3

Related Questions