2023-08-27 19:20:46 +08:00

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