diff --git a/packages/core/cli/src/commands/update-deps.js b/packages/core/cli/src/commands/update-deps.js index 8fde310a69..ed54d06721 100644 --- a/packages/core/cli/src/commands/update-deps.js +++ b/packages/core/cli/src/commands/update-deps.js @@ -30,8 +30,9 @@ const rmAppDir = () => { module.exports = (cli) => { cli .command('update-deps') + .option('--force') .allowUnknownOption() - .action(async () => { + .action(async (options) => { if (hasCorePackages() || !hasTsNode()) { await downloadPro(); return; @@ -46,19 +47,21 @@ module.exports = (cli) => { const { stdout } = await run('npm', ['info', `@nocobase/cli@${distTag}`, 'version'], { stdio: 'pipe', }); - if (pkg.version === stdout) { + if (!options.force && pkg.version === stdout) { await downloadPro(); rmAppDir(); return; } const descPath = resolve(process.cwd(), 'package.json'); 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 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); await writeJSON(descPath, json, { spaces: 2, encoding: 'utf8' }); await run('yarn', ['install']); diff --git a/packages/core/cli/src/commands/upgrade.js b/packages/core/cli/src/commands/upgrade.js index 925a818003..c2bb0736d3 100644 --- a/packages/core/cli/src/commands/upgrade.js +++ b/packages/core/cli/src/commands/upgrade.js @@ -29,7 +29,6 @@ async function updatePackage() { * @param {Command} cli */ module.exports = (cli) => { - const { APP_PACKAGE_ROOT } = process.env; cli .command('upgrade') .allowUnknownOption() @@ -38,10 +37,11 @@ module.exports = (cli) => { .option('-S|--skip-code-update') .action(async (options) => { checkDBDialect(); - if (hasTsNode()) promptForTs(); - if (!options.skipCodeUpdate) { + if (options.skipCodeUpdate) { + await runAppCommand('upgrade'); + } else { await run('nocobase', ['update-deps']); + await run('nocobase', ['upgrade', '--skip-code-update']); } - await runAppCommand('upgrade'); }); }; diff --git a/packages/core/create-nocobase-app/src/generator.js b/packages/core/create-nocobase-app/src/generator.js index dffd553997..56cfdb3590 100644 --- a/packages/core/create-nocobase-app/src/generator.js +++ b/packages/core/create-nocobase-app/src/generator.js @@ -37,21 +37,6 @@ class AppGenerator extends Generator { 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() { if (existsSync(this.cwd)) { 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() { const env = this.env; const envs = []; @@ -158,7 +130,6 @@ class AppGenerator extends Generator { async writing() { this.checkProjectPath(); - this.checkDialect(); const { name } = this.context;