Fix bin/publish: use correct .env path for rspade_system Fix bin/publish script: prevent grep exit code 1 from terminating script 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
59 lines
1.3 KiB
JavaScript
Executable File
59 lines
1.3 KiB
JavaScript
Executable File
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;
|