mirror of
https://gitee.com/nocobase/nocobase.git
synced 2025-05-05 13:39:24 +08:00
40 lines
1.3 KiB
JavaScript
40 lines
1.3 KiB
JavaScript
const { Command } = require('commander');
|
|
const { run, isDev, isPackageValid, createStoragePluginsSymlink } = require('../util');
|
|
const { resolve, dirname } = require('path');
|
|
const { existsSync } = require('fs');
|
|
const { readFile, writeFile } = require('fs').promises;
|
|
|
|
/**
|
|
* @param {Command} cli
|
|
*/
|
|
module.exports = (cli) => {
|
|
const { APP_PACKAGE_ROOT } = process.env;
|
|
cli
|
|
.command('postinstall')
|
|
.allowUnknownOption()
|
|
.action(async () => {
|
|
const cwd = process.cwd();
|
|
await createStoragePluginsSymlink();
|
|
if (!isDev()) {
|
|
return;
|
|
}
|
|
if (!existsSync(resolve(cwd, '.env')) && existsSync(resolve(cwd, '.env.example'))) {
|
|
const content = await readFile(resolve(cwd, '.env.example'), 'utf-8');
|
|
await writeFile(resolve(cwd, '.env'), content, 'utf-8');
|
|
}
|
|
if (!existsSync(resolve(cwd, '.env.test')) && existsSync(resolve(cwd, '.env.test.example'))) {
|
|
const content = await readFile(resolve(cwd, '.env.test.example'), 'utf-8');
|
|
await writeFile(resolve(cwd, '.env.test'), content, 'utf-8');
|
|
}
|
|
if (!isPackageValid('umi')) {
|
|
return;
|
|
}
|
|
run('umi', ['generate', 'tmp'], {
|
|
stdio: 'pipe',
|
|
env: {
|
|
APP_ROOT: `${APP_PACKAGE_ROOT}/client`,
|
|
},
|
|
});
|
|
});
|
|
};
|