1use std::sync::Arc;
2
3use anyhow::Result;
4use clap::Subcommand;
5use swc_common::SourceMap;
6
7use self::{exec_test::ExecForTestingCommand, minifier::MinifierCommand};
8
9mod exec_test;
10mod minifier;
11
12#[derive(Debug, Subcommand)]
14pub(crate) enum EsCommand {
15 #[clap(subcommand)]
16 Minifier(MinifierCommand),
17 #[clap(subcommand)]
18 ExecForTesting(ExecForTestingCommand),
19}
20
21impl EsCommand {
22 pub fn run(self, cm: Arc<SourceMap>) -> Result<()> {
23 match self {
24 Self::Minifier(cmd) => cmd.run(cm),
25 Self::ExecForTesting(cmd) => cmd.run(cm),
26 }
27 }
28}