Pierre Noël 57d7d876b7
Fix/#4513/ability to use a sub path behind a proxy (#5833)
* 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>
2020-05-08 13:50:00 +02:00

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);
}
};