mirror of
https://github.com/Rushilwiz/spaceout.git
synced 2025-04-22 20:39:50 -04:00
37 lines
928 B
JavaScript
37 lines
928 B
JavaScript
const { yellow, cyan } = require('colorette');
|
|
const logger = require('./logger');
|
|
const { packageExists } = require('./package-exists');
|
|
const { promptInstallation } = require('./prompt-installation');
|
|
|
|
const packagePrefix = '@webpack-cli';
|
|
|
|
const run = async (name, ...args) => {
|
|
const scopeName = packagePrefix + '/' + name;
|
|
|
|
let pkgLoc = packageExists(scopeName);
|
|
|
|
if (!pkgLoc) {
|
|
try {
|
|
pkgLoc = await promptInstallation(`${scopeName}`, () => {
|
|
logger.error(`The command moved into a separate package: ${yellow(scopeName)}\n`);
|
|
});
|
|
} catch (err) {
|
|
logger.error(`Action Interrupted, use ${cyan('webpack-cli help')} to see possible commands.`);
|
|
}
|
|
}
|
|
|
|
if (!pkgLoc) {
|
|
return;
|
|
}
|
|
|
|
let mod = require(scopeName);
|
|
|
|
if (mod.default) {
|
|
mod = mod.default;
|
|
}
|
|
|
|
return mod(...args);
|
|
};
|
|
|
|
module.exports = run;
|