47 lines
1.2 KiB
JavaScript
47 lines
1.2 KiB
JavaScript
import chalk from 'chalk';
|
|
import Listr from 'listr';
|
|
|
|
import {
|
|
uninstallNPMPackage,
|
|
throwIfExtensionUsedByInstalledMode,
|
|
removeExtensionFromConfig,
|
|
validateExtensionYarnInfo,
|
|
} from './utils/index.js';
|
|
|
|
export default async function removeExtension(packageName) {
|
|
console.log(chalk.green.bold(`Removing ohif-extension ${packageName}...`));
|
|
|
|
const tasks = new Listr(
|
|
[
|
|
{
|
|
title: `Searching for installed extension: ${packageName}`,
|
|
task: async () => await validateExtensionYarnInfo(packageName),
|
|
},
|
|
{
|
|
title: `Checking if ${packageName} is in use by an installed mode`,
|
|
task: async () => await throwIfExtensionUsedByInstalledMode(packageName),
|
|
},
|
|
{
|
|
title: `Uninstalling npm package: ${packageName}`,
|
|
task: async () => await uninstallNPMPackage(packageName),
|
|
},
|
|
{
|
|
title: 'Removing ohif-extension from the configuration file',
|
|
task: async () => removeExtensionFromConfig(packageName),
|
|
},
|
|
],
|
|
{
|
|
exitOnError: true,
|
|
}
|
|
);
|
|
|
|
await tasks
|
|
.run()
|
|
.then(() => {
|
|
console.log(`${chalk.green.bold(`Removed ohif-extension ${packageName}`)} `);
|
|
})
|
|
.catch(error => {
|
|
console.log(error.message);
|
|
});
|
|
}
|