mirror of
https://gitee.com/nocobase/nocobase.git
synced 2025-05-05 05:29:26 +08:00
fix: upgrade
This commit is contained in:
parent
582f0647e3
commit
615b8759e2
@ -30,8 +30,9 @@ const rmAppDir = () => {
|
|||||||
module.exports = (cli) => {
|
module.exports = (cli) => {
|
||||||
cli
|
cli
|
||||||
.command('update-deps')
|
.command('update-deps')
|
||||||
|
.option('--force')
|
||||||
.allowUnknownOption()
|
.allowUnknownOption()
|
||||||
.action(async () => {
|
.action(async (options) => {
|
||||||
if (hasCorePackages() || !hasTsNode()) {
|
if (hasCorePackages() || !hasTsNode()) {
|
||||||
await downloadPro();
|
await downloadPro();
|
||||||
return;
|
return;
|
||||||
@ -46,19 +47,21 @@ module.exports = (cli) => {
|
|||||||
const { stdout } = await run('npm', ['info', `@nocobase/cli@${distTag}`, 'version'], {
|
const { stdout } = await run('npm', ['info', `@nocobase/cli@${distTag}`, 'version'], {
|
||||||
stdio: 'pipe',
|
stdio: 'pipe',
|
||||||
});
|
});
|
||||||
if (pkg.version === stdout) {
|
if (!options.force && pkg.version === stdout) {
|
||||||
await downloadPro();
|
await downloadPro();
|
||||||
rmAppDir();
|
rmAppDir();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const descPath = resolve(process.cwd(), 'package.json');
|
const descPath = resolve(process.cwd(), 'package.json');
|
||||||
const descJson = await readJSON(descPath, 'utf8');
|
const descJson = await readJSON(descPath, 'utf8');
|
||||||
await run('yarn', ['add', `@nocobase/cli@${distTag}`, '-W']);
|
|
||||||
if (descJson['devDependencies']?.['@nocobase/devtools']) {
|
|
||||||
await run('yarn', ['add', `@nocobase/devtools@${distTag}`, '-W', '-D']);
|
|
||||||
}
|
|
||||||
const sourcePath = resolve(__dirname, '../../templates/create-app-package.json');
|
const sourcePath = resolve(__dirname, '../../templates/create-app-package.json');
|
||||||
const sourceJson = await readJSON(sourcePath, 'utf8');
|
const sourceJson = await readJSON(sourcePath, 'utf8');
|
||||||
|
if (descJson['dependencies']?.['@nocobase/cli']) {
|
||||||
|
descJson['dependencies']['@nocobase/cli'] = stdout;
|
||||||
|
}
|
||||||
|
if (descJson['devDependencies']?.['@nocobase/devtools']) {
|
||||||
|
descJson['devDependencies']['@nocobase/devtools'] = stdout;
|
||||||
|
}
|
||||||
const json = deepmerge(descJson, sourceJson);
|
const json = deepmerge(descJson, sourceJson);
|
||||||
await writeJSON(descPath, json, { spaces: 2, encoding: 'utf8' });
|
await writeJSON(descPath, json, { spaces: 2, encoding: 'utf8' });
|
||||||
await run('yarn', ['install']);
|
await run('yarn', ['install']);
|
||||||
|
@ -29,7 +29,6 @@ async function updatePackage() {
|
|||||||
* @param {Command} cli
|
* @param {Command} cli
|
||||||
*/
|
*/
|
||||||
module.exports = (cli) => {
|
module.exports = (cli) => {
|
||||||
const { APP_PACKAGE_ROOT } = process.env;
|
|
||||||
cli
|
cli
|
||||||
.command('upgrade')
|
.command('upgrade')
|
||||||
.allowUnknownOption()
|
.allowUnknownOption()
|
||||||
@ -38,10 +37,11 @@ module.exports = (cli) => {
|
|||||||
.option('-S|--skip-code-update')
|
.option('-S|--skip-code-update')
|
||||||
.action(async (options) => {
|
.action(async (options) => {
|
||||||
checkDBDialect();
|
checkDBDialect();
|
||||||
if (hasTsNode()) promptForTs();
|
if (options.skipCodeUpdate) {
|
||||||
if (!options.skipCodeUpdate) {
|
await runAppCommand('upgrade');
|
||||||
|
} else {
|
||||||
await run('nocobase', ['update-deps']);
|
await run('nocobase', ['update-deps']);
|
||||||
|
await run('nocobase', ['upgrade', '--skip-code-update']);
|
||||||
}
|
}
|
||||||
await runAppCommand('upgrade');
|
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
@ -37,21 +37,6 @@ class AppGenerator extends Generator {
|
|||||||
return items;
|
return items;
|
||||||
}
|
}
|
||||||
|
|
||||||
checkDbEnv() {
|
|
||||||
const dialect = this.args.dbDialect;
|
|
||||||
const env = this.env;
|
|
||||||
if (dialect === 'sqlite') {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (!env.DB_DATABASE || !env.DB_USER || !env.DB_PASSWORD) {
|
|
||||||
console.log(
|
|
||||||
chalk.red(
|
|
||||||
`Please set DB_HOST, DB_PORT, DB_DATABASE, DB_USER, DB_PASSWORD in .env file to complete database settings`,
|
|
||||||
),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
checkProjectPath() {
|
checkProjectPath() {
|
||||||
if (existsSync(this.cwd)) {
|
if (existsSync(this.cwd)) {
|
||||||
console.log(chalk.red('Project directory already exists'));
|
console.log(chalk.red('Project directory already exists'));
|
||||||
@ -59,19 +44,6 @@ class AppGenerator extends Generator {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
checkDialect() {
|
|
||||||
const dialect = this.args.dbDialect;
|
|
||||||
const supportDialects = ['mysql', 'mariadb', 'postgres', 'kingbase'];
|
|
||||||
if (!supportDialects.includes(dialect)) {
|
|
||||||
console.log(
|
|
||||||
`dialect ${chalk.red(dialect)} is not supported, currently supported dialects are ${chalk.green(
|
|
||||||
supportDialects.join(','),
|
|
||||||
)}.`,
|
|
||||||
);
|
|
||||||
process.exit(1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
getContext() {
|
getContext() {
|
||||||
const env = this.env;
|
const env = this.env;
|
||||||
const envs = [];
|
const envs = [];
|
||||||
@ -158,7 +130,6 @@ class AppGenerator extends Generator {
|
|||||||
|
|
||||||
async writing() {
|
async writing() {
|
||||||
this.checkProjectPath();
|
this.checkProjectPath();
|
||||||
this.checkDialect();
|
|
||||||
|
|
||||||
const { name } = this.context;
|
const { name } = this.context;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user