UNPKG

@bscotch/stitch

Version:

Stitch: The GameMaker Studio 2 Asset Pipeline Development Kit.

43 lines 1.41 kB
import { keysOf } from '@bscotch/utility'; import { parse as parseArgs } from 'ts-command-line-args'; import { StitchProject } from '../../index.js'; import { assert } from '../../utility/errors.js'; import { globalParams } from './params.global.js'; export * from './params.global.js'; export * from './params.merge.js'; export * from './params.types.js'; export async function loadProjectFromArgs(options) { return await StitchProject.load({ projectPath: options.targetProject, dangerouslyAllowDirtyWorkingDir: options.force, readOnly: options.readOnly, }); } export function parseStitchArgs(args, info) { const argsConfig = { ...args, ...globalParams, }; const argNames = keysOf(argsConfig); const groups = argNames.map((name) => { // @ts-expect-error const { group } = argsConfig[name]; assert(group, `Argument definition for ${name} does not have a group.`); return group; }); return parseArgs(argsConfig, { // @ts-expect-error helpArg: 'help', headerContentSections: [ { header: info.title, content: info.description, }, ], optionSections: [...new Set(groups)].map((groupName) => ({ group: groupName, header: groupName, })), }); } //# sourceMappingURL=params.js.map