Files
vue-cli/packages/@vue/cli/lib/util/getVersions.js
Wade Tandy e8aa68864c fix: fix usage with https proxy by switching from axios to request (#829)
Closes #785

Axios has a [known issue](https://github.com/axios/axios/issues/658)
that causes requests to hang when accessing an HTTPS resource via a
proxy served over HTTP.  This changes out the axios dependency for the
[request](https://github.com/request/request) library. In order to keep
`async/await` conventions easy, I also dropped in the
[request-promise-native](https://github.com/request/request-promise-native)
dependency.
2018-02-12 16:41:23 -05:00

30 lines
971 B
JavaScript

module.exports = async function getVersions () {
const current = require(`../../package.json`).version
let latest
if (process.env.VUE_CLI_LATEST_VERSION) {
// cached value
latest = process.env.VUE_CLI_LATEST_VERSION
} else if (process.env.VUE_CLI_TEST || process.env.VUE_CLI_DEBUG) {
// test/debug, use local version
latest = process.env.VUE_CLI_LATEST_VERSION = current
} else {
const request = require('./request')
const options = require('../options').loadOptions()
const registry = options.useTaobaoRegistry
? `https://registry.npm.taobao.org`
: `https://registry.npmjs.org`
const res = await request.get(`${registry}/vue-cli-version-marker/latest`)
if (res.statusCode === 200) {
latest = process.env.VUE_CLI_LATEST_VERSION = res.body.version
} else {
// fallback to local version
latest = process.env.VUE_CLI_LATEST_VERSION = current
}
}
return {
current,
latest
}
}