From 5d720b33f72e667a71cb967c0eb21571453e1896 Mon Sep 17 00:00:00 2001 From: Andreas Arvidsson Date: Sun, 20 Sep 2026 08:45:14 +0200 Subject: [PATCH] Clean up of cheatsheet test --- .../{test => src/cheatsheet}/Cheatsheet.test.ts | 2 +- .../src/{ => cheatsheet}/Cheatsheet.ts | 2 +- .../src/{ => cheatsheet}/injectCheatsheetInfo.ts | 16 ++++++++++------ packages/lib-node-common/src/index.ts | 2 +- 4 files changed, 13 insertions(+), 9 deletions(-) rename packages/lib-node-common/{test => src/cheatsheet}/Cheatsheet.test.ts (94%) rename packages/lib-node-common/src/{ => cheatsheet}/Cheatsheet.ts (96%) rename packages/lib-node-common/src/{ => cheatsheet}/injectCheatsheetInfo.ts (54%) diff --git a/packages/lib-node-common/test/Cheatsheet.test.ts b/packages/lib-node-common/src/cheatsheet/Cheatsheet.test.ts similarity index 94% rename from packages/lib-node-common/test/Cheatsheet.test.ts rename to packages/lib-node-common/src/cheatsheet/Cheatsheet.test.ts index ced3beaf07..bf2fd80618 100644 --- a/packages/lib-node-common/test/Cheatsheet.test.ts +++ b/packages/lib-node-common/src/cheatsheet/Cheatsheet.test.ts @@ -1,7 +1,7 @@ import assert from "node:assert/strict"; import { parse } from "node-html-parser"; import type { CheatsheetInfo } from "@cursorless/lib-common"; -import { injectCheatsheetInfo } from "../src/injectCheatsheetInfo"; +import { injectCheatsheetInfo } from "./injectCheatsheetInfo"; suite("Cheatsheet", () => { test("injects cheatsheet info as executable script text", () => { diff --git a/packages/lib-node-common/src/Cheatsheet.ts b/packages/lib-node-common/src/cheatsheet/Cheatsheet.ts similarity index 96% rename from packages/lib-node-common/src/Cheatsheet.ts rename to packages/lib-node-common/src/cheatsheet/Cheatsheet.ts index a28d67c8d4..97ffe2e2b8 100644 --- a/packages/lib-node-common/src/Cheatsheet.ts +++ b/packages/lib-node-common/src/cheatsheet/Cheatsheet.ts @@ -7,7 +7,7 @@ import { getErrorMessage, showWarning, } from "@cursorless/lib-common"; -import type { FileSystemTalonSpokenForms } from "./FileSystemTalonSpokenForms"; +import type { FileSystemTalonSpokenForms } from "../FileSystemTalonSpokenForms"; import { injectCheatsheetInfo } from "./injectCheatsheetInfo"; interface CheatSheetCommandArgV0 { diff --git a/packages/lib-node-common/src/injectCheatsheetInfo.ts b/packages/lib-node-common/src/cheatsheet/injectCheatsheetInfo.ts similarity index 54% rename from packages/lib-node-common/src/injectCheatsheetInfo.ts rename to packages/lib-node-common/src/cheatsheet/injectCheatsheetInfo.ts index 1f853dfa35..231dab173c 100644 --- a/packages/lib-node-common/src/injectCheatsheetInfo.ts +++ b/packages/lib-node-common/src/cheatsheet/injectCheatsheetInfo.ts @@ -1,4 +1,4 @@ -import { parse, TextNode } from "node-html-parser"; +import { parse } from "node-html-parser"; import type { CheatsheetInfo } from "@cursorless/lib-common"; export function injectCheatsheetInfo( @@ -11,11 +11,15 @@ export function injectCheatsheetInfo( String.raw`\u003c`, ); - root - .getElementById("cheatsheet-data")! - .set_content( - new TextNode(`document.cheatsheetInfo = ${serializedCheatsheetInfo};`), - ); + const dataElement = root.getElementById("cheatsheet-data"); + + if (dataElement == null) { + throw new Error("Cheatsheet cheatsheet-data element not found"); + } + + dataElement.set_content( + `document.cheatsheetInfo = ${serializedCheatsheetInfo};`, + ); return root.toString(); } diff --git a/packages/lib-node-common/src/index.ts b/packages/lib-node-common/src/index.ts index b57c087312..992e3122fb 100644 --- a/packages/lib-node-common/src/index.ts +++ b/packages/lib-node-common/src/index.ts @@ -1,4 +1,4 @@ -export * from "./Cheatsheet"; +export * from "./cheatsheet/Cheatsheet"; export * from "./FileSystemCommandHistoryStorage"; export * from "./FileSystemRawTreeSitterQueryProvider"; export * from "./FileSystemTalonSpokenForms";