From d896d1e72bf7934cf586b18128ec777600ed1036 Mon Sep 17 00:00:00 2001 From: Abdelhak Akermi Date: Sun, 2 Aug 2020 19:38:05 +0300 Subject: [PATCH 1/2] test($compile): add test for unsorted options --- src/help/__tests__/help.spec.ts | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/help/__tests__/help.spec.ts b/src/help/__tests__/help.spec.ts index adb2b99..98d565e 100644 --- a/src/help/__tests__/help.spec.ts +++ b/src/help/__tests__/help.spec.ts @@ -48,6 +48,16 @@ describe("help", () => { return expect(strip(await getHelp(prog))).toMatchSnapshot() }) + it("should display help for a program with options in order given", async () => { + prog + .argument("", "Mandarory foo arg") + .argument("[other]", "Other args") + .option("-f, --file ", " Output file") + .option("-e, --ext ", " extension file") + return expect(strip(await getHelp(prog))).toMatchSnapshot() + }) + + it("should display help for a program having at least one command (with args & options)", async () => { prog .command("test-command", "Test command") From 22165b0228340e9367ce44ae72a9dfc3422f4964 Mon Sep 17 00:00:00 2001 From: Abdelhak Akermi Date: Sun, 2 Aug 2020 19:39:37 +0300 Subject: [PATCH 2/2] refactor: disable sort by name --- src/help/templates/command.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/help/templates/command.ts b/src/help/templates/command.ts index 83de126..07059d1 100644 --- a/src/help/templates/command.ts +++ b/src/help/templates/command.ts @@ -10,7 +10,7 @@ import sortBy from "lodash/sortBy" export const command: Template = async (ctx: TemplateContext) => { const { cmd, globalOptions: globalFlags, eol, eol3, colorize, tpl } = ctx - const options = sortBy(cmd!.options, "name"), + const options = sortBy(cmd!.options, "required"), globalOptions = Array.from(globalFlags.keys()) const help =