From 7352b7f36bb6698fa8dfb7fe4b7fcd22891285cd Mon Sep 17 00:00:00 2001
From: Graham Christensen <graham@grahamc.com>
Date: Mon, 6 May 2024 17:45:12 -0400
Subject: [PATCH] lockfile-summary, d'oh

---
 dist/index.js     | 4 ++--
 dist/index.js.map | 2 +-
 package.json      | 2 +-
 pnpm-lock.yaml    | 8 ++++----
 src/index.ts      | 6 +++---
 src/nix.test.ts   | 6 +++---
 src/nix.ts        | 2 +-
 7 files changed, 15 insertions(+), 15 deletions(-)

diff --git a/dist/index.js b/dist/index.js
index 7572256..8777dfd 100644
--- a/dist/index.js
+++ b/dist/index.js
@@ -93396,7 +93396,7 @@ const external_node_path_namespaceObject = __WEBPACK_EXTERNAL_createRequire(impo
 const external_node_stream_promises_namespaceObject = __WEBPACK_EXTERNAL_createRequire(import.meta.url)("node:stream/promises");
 ;// CONCATENATED MODULE: external "node:zlib"
 const external_node_zlib_namespaceObject = __WEBPACK_EXTERNAL_createRequire(import.meta.url)("node:zlib");
-;// CONCATENATED MODULE: ./node_modules/.pnpm/github.com+DeterminateSystems+detsys-ts@38e5bec8265276e0ffc60a474eeb0fe563690ad1_ohjjfxyz5zc5v7acp635bu77r4/node_modules/detsys-ts/dist/index.js
+;// CONCATENATED MODULE: ./node_modules/.pnpm/github.com+DeterminateSystems+detsys-ts@2391ba1ef3d22027cd4d9ecce147007a88f63643_is35d24tynybsms6zejuqsabhi/node_modules/detsys-ts/dist/index.js
 var __defProp = Object.defineProperty;
 var __export = (target, all) => {
   for (var name in all)
@@ -94333,7 +94333,7 @@ function makeNixCommandArgs(nixOptions, flakeInputs, commitMessage) {
   ]);
   return nixOptions.concat(["flake", "lock"]).concat(flakeInputFlags).concat([
     "--commit-lock-file",
-    "--commit-lock-file-summary",
+    "--commit-lockfile-summary",
     `"${commitMessage}"`
   ]);
 }
diff --git a/dist/index.js.map b/dist/index.js.map
index 33b43ea..4abd672 100644
--- a/dist/index.js.map
+++ b/dist/index.js.map
@@ -1 +1 @@
-{"version":3,"sources":["../src/nix.ts","../src/index.ts"],"sourcesContent":["// Build the Nix args out of inputs from the Actions environment\nexport function makeNixCommandArgs(\n  nixOptions: string[],\n  flakeInputs: string[],\n  commitMessage: string,\n): string[] {\n  const flakeInputFlags = flakeInputs.flatMap((input) => [\n    \"--update-input\",\n    input,\n  ]);\n\n  return nixOptions\n    .concat([\"flake\", \"lock\"])\n    .concat(flakeInputFlags)\n    .concat([\n      \"--commit-lock-file\",\n      \"--commit-lock-file-summary\",\n      `\"${commitMessage}\"`,\n    ]);\n}\n","import { makeNixCommandArgs } from \"./nix.js\";\nimport * as actionsCore from \"@actions/core\";\nimport * as actionsExec from \"@actions/exec\";\nimport { ActionOptions, IdsToolbox, inputs } from \"detsys-ts\";\n\nconst EVENT_EXECUTION_FAILURE = \"execution_failure\";\n\nclass UpdateFlakeLockAction {\n  idslib: IdsToolbox;\n  private commitMessage: string;\n  private nixOptions: string[];\n  private flakeInputs: string[];\n  private pathToFlakeDir: string | null;\n\n  constructor() {\n    const options: ActionOptions = {\n      name: \"update-flake-lock\",\n      fetchStyle: \"universal\",\n      requireNix: \"fail\",\n    };\n\n    this.idslib = new IdsToolbox(options);\n    this.commitMessage = inputs.getString(\"commit-msg\");\n    this.flakeInputs = inputs.getArrayOfStrings(\"inputs\", \"comma\");\n    this.nixOptions = inputs.getArrayOfStrings(\"nix-options\", \"comma\");\n    this.pathToFlakeDir = inputs.getStringOrNull(\"path-to-flake-dir\");\n  }\n\n  async update(): Promise<void> {\n    // Nix command of this form:\n    // nix ${maybe nix options} flake lock ${maybe --update-input flags} --commit-lock-file --commit-lock-file-summary ${commit message}\n    // Example commands:\n    // nix --extra-substituters https://example.com flake lock --update-input nixpkgs --commit-lock-file --commit-lock-file-summary \"updated flake.lock\"\n    // nix flake lock --commit-lock-file --commit-lock-file-summary \"updated flake.lock\"\n    const nixCommandArgs: string[] = makeNixCommandArgs(\n      this.nixOptions,\n      this.flakeInputs,\n      this.commitMessage,\n    );\n\n    actionsCore.debug(\n      JSON.stringify({\n        options: this.nixOptions,\n        inputs: this.flakeInputs,\n        message: this.commitMessage,\n        args: nixCommandArgs,\n      }),\n    );\n\n    const execOptions: actionsExec.ExecOptions = {};\n    if (this.pathToFlakeDir !== null) {\n      execOptions.cwd = this.pathToFlakeDir;\n    }\n\n    const exitCode = await actionsExec.exec(\"nix\", nixCommandArgs, execOptions);\n\n    if (exitCode !== 0) {\n      this.idslib.recordEvent(EVENT_EXECUTION_FAILURE, {\n        exitCode,\n      });\n      actionsCore.setFailed(`non-zero exit code of ${exitCode} detected`);\n    } else {\n      actionsCore.info(`flake.lock file was successfully updated`);\n    }\n  }\n}\n\nfunction main(): void {\n  const updateFlakeLock = new UpdateFlakeLockAction();\n\n  updateFlakeLock.idslib.onMain(async () => {\n    await updateFlakeLock.update();\n  });\n\n  updateFlakeLock.idslib.execute();\n}\n\nmain();\n"],"mappings":";AACO,SAAS,mBACd,YACA,aACA,eACU;AACV,QAAM,kBAAkB,YAAY,QAAQ,CAAC,UAAU;AAAA,IACrD;AAAA,IACA;AAAA,EACF,CAAC;AAED,SAAO,WACJ,OAAO,CAAC,SAAS,MAAM,CAAC,EACxB,OAAO,eAAe,EACtB,OAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA,IAAI,aAAa;AAAA,EACnB,CAAC;AACL;;;AClBA,YAAY,iBAAiB;AAC7B,YAAY,iBAAiB;AAC7B,SAAwB,YAAY,cAAc;AAElD,IAAM,0BAA0B;AAEhC,IAAM,wBAAN,MAA4B;AAAA,EAO1B,cAAc;AACZ,UAAM,UAAyB;AAAA,MAC7B,MAAM;AAAA,MACN,YAAY;AAAA,MACZ,YAAY;AAAA,IACd;AAEA,SAAK,SAAS,IAAI,WAAW,OAAO;AACpC,SAAK,gBAAgB,OAAO,UAAU,YAAY;AAClD,SAAK,cAAc,OAAO,kBAAkB,UAAU,OAAO;AAC7D,SAAK,aAAa,OAAO,kBAAkB,eAAe,OAAO;AACjE,SAAK,iBAAiB,OAAO,gBAAgB,mBAAmB;AAAA,EAClE;AAAA,EAEA,MAAM,SAAwB;AAM5B,UAAM,iBAA2B;AAAA,MAC/B,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,IACP;AAEA,IAAY;AAAA,MACV,KAAK,UAAU;AAAA,QACb,SAAS,KAAK;AAAA,QACd,QAAQ,KAAK;AAAA,QACb,SAAS,KAAK;AAAA,QACd,MAAM;AAAA,MACR,CAAC;AAAA,IACH;AAEA,UAAM,cAAuC,CAAC;AAC9C,QAAI,KAAK,mBAAmB,MAAM;AAChC,kBAAY,MAAM,KAAK;AAAA,IACzB;AAEA,UAAM,WAAW,MAAkB,iBAAK,OAAO,gBAAgB,WAAW;AAE1E,QAAI,aAAa,GAAG;AAClB,WAAK,OAAO,YAAY,yBAAyB;AAAA,QAC/C;AAAA,MACF,CAAC;AACD,MAAY,sBAAU,yBAAyB,QAAQ,WAAW;AAAA,IACpE,OAAO;AACL,MAAY,iBAAK,0CAA0C;AAAA,IAC7D;AAAA,EACF;AACF;AAEA,SAAS,OAAa;AACpB,QAAM,kBAAkB,IAAI,sBAAsB;AAElD,kBAAgB,OAAO,OAAO,YAAY;AACxC,UAAM,gBAAgB,OAAO;AAAA,EAC/B,CAAC;AAED,kBAAgB,OAAO,QAAQ;AACjC;AAEA,KAAK;","names":[]}
\ No newline at end of file
+{"version":3,"sources":["../src/nix.ts","../src/index.ts"],"sourcesContent":["// Build the Nix args out of inputs from the Actions environment\nexport function makeNixCommandArgs(\n  nixOptions: string[],\n  flakeInputs: string[],\n  commitMessage: string,\n): string[] {\n  const flakeInputFlags = flakeInputs.flatMap((input) => [\n    \"--update-input\",\n    input,\n  ]);\n\n  return nixOptions\n    .concat([\"flake\", \"lock\"])\n    .concat(flakeInputFlags)\n    .concat([\n      \"--commit-lock-file\",\n      \"--commit-lockfile-summary\",\n      `\"${commitMessage}\"`,\n    ]);\n}\n","import { makeNixCommandArgs } from \"./nix.js\";\nimport * as actionsCore from \"@actions/core\";\nimport * as actionsExec from \"@actions/exec\";\nimport { ActionOptions, IdsToolbox, inputs } from \"detsys-ts\";\n\nconst EVENT_EXECUTION_FAILURE = \"execution_failure\";\n\nclass UpdateFlakeLockAction {\n  idslib: IdsToolbox;\n  private commitMessage: string;\n  private nixOptions: string[];\n  private flakeInputs: string[];\n  private pathToFlakeDir: string | null;\n\n  constructor() {\n    const options: ActionOptions = {\n      name: \"update-flake-lock\",\n      fetchStyle: \"universal\",\n      requireNix: \"fail\",\n    };\n\n    this.idslib = new IdsToolbox(options);\n    this.commitMessage = inputs.getString(\"commit-msg\");\n    this.flakeInputs = inputs.getArrayOfStrings(\"inputs\", \"comma\");\n    this.nixOptions = inputs.getArrayOfStrings(\"nix-options\", \"comma\");\n    this.pathToFlakeDir = inputs.getStringOrNull(\"path-to-flake-dir\");\n  }\n\n  async update(): Promise<void> {\n    // Nix command of this form:\n    // nix ${maybe nix options} flake lock ${maybe --update-input flags} --commit-lock-file --commit-lockfile-summary ${commit message}\n    // Example commands:\n    // nix --extra-substituters https://example.com flake lock --update-input nixpkgs --commit-lock-file --commit-lockfile-summary \"updated flake.lock\"\n    // nix flake lock --commit-lock-file --commit-lockfile-summary \"updated flake.lock\"\n    const nixCommandArgs: string[] = makeNixCommandArgs(\n      this.nixOptions,\n      this.flakeInputs,\n      this.commitMessage,\n    );\n\n    actionsCore.debug(\n      JSON.stringify({\n        options: this.nixOptions,\n        inputs: this.flakeInputs,\n        message: this.commitMessage,\n        args: nixCommandArgs,\n      }),\n    );\n\n    const execOptions: actionsExec.ExecOptions = {};\n    if (this.pathToFlakeDir !== null) {\n      execOptions.cwd = this.pathToFlakeDir;\n    }\n\n    const exitCode = await actionsExec.exec(\"nix\", nixCommandArgs, execOptions);\n\n    if (exitCode !== 0) {\n      this.idslib.recordEvent(EVENT_EXECUTION_FAILURE, {\n        exitCode,\n      });\n      actionsCore.setFailed(`non-zero exit code of ${exitCode} detected`);\n    } else {\n      actionsCore.info(`flake.lock file was successfully updated`);\n    }\n  }\n}\n\nfunction main(): void {\n  const updateFlakeLock = new UpdateFlakeLockAction();\n\n  updateFlakeLock.idslib.onMain(async () => {\n    await updateFlakeLock.update();\n  });\n\n  updateFlakeLock.idslib.execute();\n}\n\nmain();\n"],"mappings":";AACO,SAAS,mBACd,YACA,aACA,eACU;AACV,QAAM,kBAAkB,YAAY,QAAQ,CAAC,UAAU;AAAA,IACrD;AAAA,IACA;AAAA,EACF,CAAC;AAED,SAAO,WACJ,OAAO,CAAC,SAAS,MAAM,CAAC,EACxB,OAAO,eAAe,EACtB,OAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA,IAAI,aAAa;AAAA,EACnB,CAAC;AACL;;;AClBA,YAAY,iBAAiB;AAC7B,YAAY,iBAAiB;AAC7B,SAAwB,YAAY,cAAc;AAElD,IAAM,0BAA0B;AAEhC,IAAM,wBAAN,MAA4B;AAAA,EAO1B,cAAc;AACZ,UAAM,UAAyB;AAAA,MAC7B,MAAM;AAAA,MACN,YAAY;AAAA,MACZ,YAAY;AAAA,IACd;AAEA,SAAK,SAAS,IAAI,WAAW,OAAO;AACpC,SAAK,gBAAgB,OAAO,UAAU,YAAY;AAClD,SAAK,cAAc,OAAO,kBAAkB,UAAU,OAAO;AAC7D,SAAK,aAAa,OAAO,kBAAkB,eAAe,OAAO;AACjE,SAAK,iBAAiB,OAAO,gBAAgB,mBAAmB;AAAA,EAClE;AAAA,EAEA,MAAM,SAAwB;AAM5B,UAAM,iBAA2B;AAAA,MAC/B,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,IACP;AAEA,IAAY;AAAA,MACV,KAAK,UAAU;AAAA,QACb,SAAS,KAAK;AAAA,QACd,QAAQ,KAAK;AAAA,QACb,SAAS,KAAK;AAAA,QACd,MAAM;AAAA,MACR,CAAC;AAAA,IACH;AAEA,UAAM,cAAuC,CAAC;AAC9C,QAAI,KAAK,mBAAmB,MAAM;AAChC,kBAAY,MAAM,KAAK;AAAA,IACzB;AAEA,UAAM,WAAW,MAAkB,iBAAK,OAAO,gBAAgB,WAAW;AAE1E,QAAI,aAAa,GAAG;AAClB,WAAK,OAAO,YAAY,yBAAyB;AAAA,QAC/C;AAAA,MACF,CAAC;AACD,MAAY,sBAAU,yBAAyB,QAAQ,WAAW;AAAA,IACpE,OAAO;AACL,MAAY,iBAAK,0CAA0C;AAAA,IAC7D;AAAA,EACF;AACF;AAEA,SAAS,OAAa;AACpB,QAAM,kBAAkB,IAAI,sBAAsB;AAElD,kBAAgB,OAAO,OAAO,YAAY;AACxC,UAAM,gBAAgB,OAAO;AAAA,EAC/B,CAAC;AAED,kBAAgB,OAAO,QAAQ;AACjC;AAEA,KAAK;","names":[]}
\ No newline at end of file
diff --git a/package.json b/package.json
index 8589a1d..b470d07 100644
--- a/package.json
+++ b/package.json
@@ -28,7 +28,7 @@
   "dependencies": {
     "@actions/core": "^1.10.1",
     "@actions/exec": "^1.1.1",
-    "detsys-ts": "github:DeterminateSystems/detsys-ts#array-inputs"
+    "detsys-ts": "github:DeterminateSystems/detsys-ts"
   },
   "devDependencies": {
     "@trivago/prettier-plugin-sort-imports": "^4.3.0",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 5068aa8..18d4272 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -12,8 +12,8 @@ dependencies:
     specifier: ^1.1.1
     version: 1.1.1
   detsys-ts:
-    specifier: github:DeterminateSystems/detsys-ts#array-inputs
-    version: github.com/DeterminateSystems/detsys-ts/38e5bec8265276e0ffc60a474eeb0fe563690ad1
+    specifier: github:DeterminateSystems/detsys-ts
+    version: github.com/DeterminateSystems/detsys-ts/2391ba1ef3d22027cd4d9ecce147007a88f63643
 
 devDependencies:
   '@trivago/prettier-plugin-sort-imports':
@@ -4463,8 +4463,8 @@ packages:
     engines: {node: '>=12.20'}
     dev: true
 
-  github.com/DeterminateSystems/detsys-ts/38e5bec8265276e0ffc60a474eeb0fe563690ad1:
-    resolution: {tarball: https://codeload.github.com/DeterminateSystems/detsys-ts/tar.gz/38e5bec8265276e0ffc60a474eeb0fe563690ad1}
+  github.com/DeterminateSystems/detsys-ts/2391ba1ef3d22027cd4d9ecce147007a88f63643:
+    resolution: {tarball: https://codeload.github.com/DeterminateSystems/detsys-ts/tar.gz/2391ba1ef3d22027cd4d9ecce147007a88f63643}
     name: detsys-ts
     version: 1.0.0
     dependencies:
diff --git a/src/index.ts b/src/index.ts
index 0eb7ca9..d83be41 100644
--- a/src/index.ts
+++ b/src/index.ts
@@ -28,10 +28,10 @@ class UpdateFlakeLockAction {
 
   async update(): Promise<void> {
     // Nix command of this form:
-    // nix ${maybe nix options} flake lock ${maybe --update-input flags} --commit-lock-file --commit-lock-file-summary ${commit message}
+    // nix ${maybe nix options} flake lock ${maybe --update-input flags} --commit-lock-file --commit-lockfile-summary ${commit message}
     // Example commands:
-    // nix --extra-substituters https://example.com flake lock --update-input nixpkgs --commit-lock-file --commit-lock-file-summary "updated flake.lock"
-    // nix flake lock --commit-lock-file --commit-lock-file-summary "updated flake.lock"
+    // nix --extra-substituters https://example.com flake lock --update-input nixpkgs --commit-lock-file --commit-lockfile-summary "updated flake.lock"
+    // nix flake lock --commit-lock-file --commit-lockfile-summary "updated flake.lock"
     const nixCommandArgs: string[] = makeNixCommandArgs(
       this.nixOptions,
       this.flakeInputs,
diff --git a/src/nix.test.ts b/src/nix.test.ts
index c89b036..eee96bd 100644
--- a/src/nix.test.ts
+++ b/src/nix.test.ts
@@ -24,7 +24,7 @@ test("Nix command arguments", () => {
         "flake",
         "lock",
         "--commit-lock-file",
-        "--commit-lock-file-summary",
+        "--commit-lockfile-summary",
         '"just testing"',
       ],
     },
@@ -42,7 +42,7 @@ test("Nix command arguments", () => {
         "--update-input",
         "rust-overlay",
         "--commit-lock-file",
-        "--commit-lock-file-summary",
+        "--commit-lockfile-summary",
         '"just testing"',
       ],
     },
@@ -57,7 +57,7 @@ test("Nix command arguments", () => {
         "flake",
         "lock",
         "--commit-lock-file",
-        "--commit-lock-file-summary",
+        "--commit-lockfile-summary",
         '"just testing"',
       ],
     },
diff --git a/src/nix.ts b/src/nix.ts
index dfd8870..6bb3d87 100644
--- a/src/nix.ts
+++ b/src/nix.ts
@@ -14,7 +14,7 @@ export function makeNixCommandArgs(
     .concat(flakeInputFlags)
     .concat([
       "--commit-lock-file",
-      "--commit-lock-file-summary",
+      "--commit-lockfile-summary",
       `"${commitMessage}"`,
     ]);
 }