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";