import { execSync } from 'child_process' import { join } from 'path' import { accessFile, getCwd, judgeVersion, loadConfig } from 'ssr-common-utils' // import type { Argv } from 'ssr-types' const start = async (argv: any) => { const { cli } = require('@midwayjs/cli/bin/cli') const cwd = getCwd() const config = loadConfig() if (judgeVersion(require(join(cwd, './package.json')).dependencies['@midwayjs/decorator'])?.major === 2) { execSync('npx cross-env ets') } argv._[0] = 'dev' argv.ts = true argv.port = config.serverPort argv.ssl = !!config.https argv.fast = argv.fast || true argv.tsConfig = (await accessFile(join(cwd, './tsconfig.build.json'))) ? join(cwd, './tsconfig.build.json') : join(cwd, './tsconfig.json') await cli(argv) } export { start }