// `gjsify flatpak` — yargs subcommand-group dispatcher.
//
// Wires {init, build, deps, ci, check, sync-flathub, diff, release}.
// Each subcommand is a self-contained `Command<>` so it composes the
// same way as `gresource` / `gettext` / `gsettings` at the top level.
import { flatpakInitCommand } from './init.js';
import { flatpakBuildCommand } from './build.js';
import { flatpakDepsCommand } from './deps.js';
import { flatpakSourcesCommand } from './sources.js';
import { flatpakCiCommand } from './ci.js';
import { flatpakCheckCommand } from './check.js';
import { flatpakSyncFlathubCommand } from './sync-flathub.js';
import { flatpakDiffCommand } from './diff.js';
import { flatpakReleaseCommand } from './release.js';
export const flatpakCommand = {
    command: 'flatpak <subcommand>',
    description: 'Flatpak toolchain: init/build/deps/sources/ci/check/sync-flathub/diff/release subcommands for shipping GJS apps and CLIs as Flatpaks.',
    builder: (yargs) => {
        return yargs
            .command(flatpakInitCommand.command, flatpakInitCommand.description, flatpakInitCommand.builder, flatpakInitCommand.handler)
            .command(flatpakBuildCommand.command, flatpakBuildCommand.description, flatpakBuildCommand.builder, flatpakBuildCommand.handler)
            .command(flatpakDepsCommand.command, flatpakDepsCommand.description, flatpakDepsCommand.builder, flatpakDepsCommand.handler)
            .command(flatpakSourcesCommand.command, flatpakSourcesCommand.description, flatpakSourcesCommand.builder, flatpakSourcesCommand.handler)
            .command(flatpakCiCommand.command, flatpakCiCommand.description, flatpakCiCommand.builder, flatpakCiCommand.handler)
            .command(flatpakCheckCommand.command, flatpakCheckCommand.description, flatpakCheckCommand.builder, flatpakCheckCommand.handler)
            .command(flatpakSyncFlathubCommand.command, flatpakSyncFlathubCommand.description, flatpakSyncFlathubCommand.builder, flatpakSyncFlathubCommand.handler)
            .command(flatpakDiffCommand.command, flatpakDiffCommand.description, flatpakDiffCommand.builder, flatpakDiffCommand.handler)
            .command(flatpakReleaseCommand.command, flatpakReleaseCommand.description, flatpakReleaseCommand.builder, flatpakReleaseCommand.handler)
            .demandCommand(1)
            .strict();
    },
};
export { flatpakInitCommand, flatpakBuildCommand, flatpakDepsCommand, flatpakSourcesCommand, flatpakCiCommand, flatpakCheckCommand, flatpakSyncFlathubCommand, flatpakDiffCommand, flatpakReleaseCommand, };
