mirror of
https://github.com/strapi/strapi.git
synced 2025-12-16 09:45:08 +00:00
* add possibility to use strapi on a non-root base url path * fix documentation password form * use server.url and admin.url in config Signed-off-by: Pierre Noël <pierre.noel@strapi.io> * update doc proxy Signed-off-by: Pierre Noël <pierre.noel@strapi.io> * move server.url location in config Signed-off-by: Pierre Noël <pierre.noel@strapi.io> * refacto Signed-off-by: Pierre Noël <pierre.noel@strapi.io> * add possibility to put relative urls Signed-off-by: Pierre Noël <pierre.noel@strapi.io> * allow '/' as an admin url + refacto Signed-off-by: Pierre Noël <pierre.noel@strapi.io> * update yarn.lock Signed-off-by: Pierre Noël <petersg83@gmail.com> * refacto Signed-off-by: Pierre Noël <petersg83@gmail.com> * Remove default proxy option Signed-off-by: Alexandre Bodin <bodin.alex@gmail.com> * fix github provider Signed-off-by: Pierre Noël <petersg83@gmail.com> * fix github login Signed-off-by: Pierre Noël <petersg83@gmail.com> * Remove files that should be here Signed-off-by: Alexandre Bodin <bodin.alex@gmail.com> Co-authored-by: Pierre Noël <pierre.noel@strapi.io> Co-authored-by: Alexandre Bodin <bodin.alex@gmail.com>
69 lines
1.8 KiB
JavaScript
69 lines
1.8 KiB
JavaScript
'use strict';
|
|
|
|
const { join } = require('path');
|
|
const { existsSync, removeSync } = require('fs-extra');
|
|
const ora = require('ora');
|
|
const execa = require('execa');
|
|
const inquirer = require('inquirer');
|
|
const findPackagePath = require('../load/package-path');
|
|
|
|
module.exports = async (plugins, { deleteFiles }) => {
|
|
const answers = await inquirer.prompt([
|
|
{
|
|
type: 'confirm',
|
|
name: 'deleteFiles',
|
|
message: `Do you want to delete the plugin generated files in the extensions folder ?`,
|
|
default: true,
|
|
when: !deleteFiles,
|
|
},
|
|
]);
|
|
|
|
const loader = ora();
|
|
const dir = process.cwd();
|
|
|
|
const pluginArgs = plugins.map(name => `strapi-plugin-${name}`);
|
|
|
|
try {
|
|
// verify should rebuild before removing the pacakge
|
|
let shouldRebuild = false;
|
|
for (let name of plugins) {
|
|
let pkgPath = findPackagePath(`strapi-plugin-${name}`);
|
|
if (existsSync(join(pkgPath, 'admin', 'src', 'index.js'))) {
|
|
shouldRebuild = true;
|
|
}
|
|
}
|
|
|
|
loader.start(`Uninstalling dependencies`);
|
|
|
|
const useYarn = existsSync(join(dir, 'yarn.lock'));
|
|
if (useYarn) {
|
|
await execa('yarn', ['remove', ...pluginArgs]);
|
|
} else {
|
|
await execa('npm', ['remove', ...pluginArgs]);
|
|
}
|
|
|
|
loader.succeed();
|
|
|
|
if (deleteFiles === true || answers.deleteFiles === true) {
|
|
loader.start('Deleting old files');
|
|
for (let name of plugins) {
|
|
const pluginDir = join(dir, 'extensions', name);
|
|
if (existsSync(pluginDir)) {
|
|
removeSync(pluginDir);
|
|
}
|
|
}
|
|
loader.succeed();
|
|
}
|
|
|
|
if (shouldRebuild) {
|
|
loader.start(`Rebuilding admin UI`);
|
|
await execa('npm', ['run', 'build']);
|
|
loader.succeed();
|
|
}
|
|
} catch (err) {
|
|
loader.clear();
|
|
console.error(err.message);
|
|
process.exit(1);
|
|
}
|
|
};
|