axios-miniprogram/scripts/play.ts

41 lines
1.2 KiB
TypeScript
Raw Normal View History

2023-05-05 10:59:37 +08:00
import enquirer from 'enquirer';
2023-08-12 15:48:36 +08:00
import consola from 'consola';
2023-05-05 10:59:37 +08:00
import { exec, resolve } from './utils';
import { safeExit } from './utils';
2023-05-04 10:39:52 +08:00
2023-05-05 10:59:37 +08:00
const configPath = resolve('example/config');
const configTempPath = resolve('example/config/temp');
2023-05-04 10:39:52 +08:00
2023-05-05 10:59:37 +08:00
safeExit(main);
2023-05-04 10:39:52 +08:00
async function main() {
2023-05-05 10:59:37 +08:00
const { platform } = await enquirer.prompt<{ platform: string }>({
type: 'select',
name: 'platform',
message: '请选择启动平台',
choices: metas(),
});
2023-05-04 10:39:52 +08:00
2023-08-12 15:48:36 +08:00
console.log();
consola.info(
`运行${metas().find((meta) => meta.name === platform)!.message}`,
);
2023-05-05 10:59:37 +08:00
exec(`tsc ${configTempPath}/**.ts --outDir ${configPath}`);
2023-08-12 15:48:36 +08:00
exec(`pnpm --filter example dev:${platform}`);
2023-05-05 10:59:37 +08:00
}
function metas() {
return [
{ name: 'weapp', message: '微信小程序' },
{ name: 'swan', message: '百度小程序' },
{ name: 'alipay', message: '支付宝小程序' },
{ name: 'tt', message: '抖音小程序' },
{ name: 'qq', message: 'QQ 小程序' },
{ name: 'jd', message: '京东小程序' },
{ name: 'dd', message: '钉钉小程序' },
{ name: 'lark', message: '飞书小程序' },
{ name: 'kwai', message: '快手小程序' },
{ name: 'h5', message: 'H5' },
];
2023-05-04 10:39:52 +08:00
}