File: /var/www/vhost/disk-apps/alq-cali.bikenow.co/node_modules/laravel-mix/src/VueVersion.js
class VueVersion {
/**
*
* @param {import("./Mix")} mix
*/
constructor(mix) {
this.mix = mix;
}
/**
* Vue versions that are supported by Mix.
*
* @returns {number[]}
*/
supported() {
return [2, 3];
}
/**
* Detect and validate the current version of Vue for the build.
*
* @param {string|number|null|undefined} [version]
* @returns {number}
*/
detect(version) {
version = parseInt(`${version}`);
if (!version || isNaN(version)) {
try {
return this.detect(require(this.mix.resolve('vue')).version);
} catch (e) {
this.mix.logger.error(`${e}`);
this.fail();
}
}
if (this.supported().includes(version)) {
return version;
}
this.fail();
}
/**
* Abort and log that a supported version of Vue wasn't found.
* @returns {never}
*/
fail() {
this.mix.logger.error(
`We couldn't find a supported version of Vue in your project. ` +
`Please ensure that it's installed (npm install vue).`
);
throw new Error('Unable to detect vue version');
}
}
module.exports = VueVersion;