Skip to content

Commit 68254a2

Browse files
committed
refactor: migrate to node16 module resolution for TypeScript 6.0 compatibility
Switch module and moduleResolution from commonjs/node to node16/node16 across all three tsconfig files. Add explicit .js extensions to all relative imports (static and dynamic) in src/ and test/. This unblocks the TypeScript 6.0 upgrade (Dependabot PR #21) which deprecated moduleResolution=node10. Closes #22 Signed-off-by: Sebastien Tardif <sebtardif@ncf.ca>
1 parent 7549763 commit 68254a2

21 files changed

Lines changed: 55 additions & 55 deletions

src/binary/patchloom.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ import {
88
getManagedInstallRoot,
99
inspectManagedInstallStatus,
1010
ManagedInstallStatus
11-
} from "../install/managed";
12-
import { formatError } from "../util";
11+
} from "../install/managed.js";
12+
import { formatError } from "../util.js";
1313

1414
const execFileAsync = promisify(execFile);
1515

src/commands/configureMcp.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
import * as fs from "node:fs/promises";
22
import * as path from "node:path";
33
import * as vscode from "vscode";
4-
import { patchloomNeedsUpgrade, resolvePatchloomStatus } from "../binary/patchloom";
5-
import { configureMcpTargets, inspectMcpTargets } from "../mcp/config";
6-
import { activeWorkspaceFolder, describeWorkspaceEnvironment } from "../workspace/readiness";
7-
import { refreshStatusBar } from "../status/statusBar";
4+
import { patchloomNeedsUpgrade, resolvePatchloomStatus } from "../binary/patchloom.js";
5+
import { configureMcpTargets, inspectMcpTargets } from "../mcp/config.js";
6+
import { activeWorkspaceFolder, describeWorkspaceEnvironment } from "../workspace/readiness.js";
7+
import { refreshStatusBar } from "../status/statusBar.js";
88

99
export async function configureMcp(): Promise<void> {
1010
const status = await resolvePatchloomStatus();

src/commands/initializeProject.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
import { execFile } from "node:child_process";
22
import { promisify } from "node:util";
33
import type * as VSCode from "vscode";
4-
import { patchloomNeedsUpgrade, resolvePatchloomStatus } from "../binary/patchloom";
5-
import { formatError } from "../util";
6-
import { activeWorkspaceFolder } from "../workspace/readiness";
4+
import { patchloomNeedsUpgrade, resolvePatchloomStatus } from "../binary/patchloom.js";
5+
import { formatError } from "../util.js";
6+
import { activeWorkspaceFolder } from "../workspace/readiness.js";
77

88
const execFileAsync = promisify(execFile);
99
const encoder = new TextEncoder();
@@ -13,7 +13,7 @@ export type AgentsFileState = "missing" | "up_to_date" | "different";
1313

1414
export async function initializeProject(): Promise<void> {
1515
const vscode = await import("vscode");
16-
const { refreshStatusBar } = await import("../status/statusBar");
16+
const { refreshStatusBar } = await import("../status/statusBar.js");
1717
const folder = await activeWorkspaceFolder({
1818
promptIfMany: true,
1919
placeHolder: "Select the workspace folder to initialize for Patchloom"

src/commands/quickActions.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ import * as os from "node:os";
44
import * as path from "node:path";
55
import { promisify } from "node:util";
66
import type * as VSCode from "vscode";
7-
import { patchloomNeedsUpgrade, resolvePatchloomStatus } from "../binary/patchloom";
8-
import { formatError } from "../util";
9-
import { activeWorkspaceFolder, describeWorkspaceEnvironment } from "../workspace/readiness";
7+
import { patchloomNeedsUpgrade, resolvePatchloomStatus } from "../binary/patchloom.js";
8+
import { formatError } from "../util.js";
9+
import { activeWorkspaceFolder, describeWorkspaceEnvironment } from "../workspace/readiness.js";
1010

1111
const execFileAsync = promisify(execFile);
1212
const STRUCTURED_FILE_EXTENSIONS = new Set([".json", ".yaml", ".yml", ".toml"]);
@@ -274,7 +274,7 @@ async function previewAndMaybeApply(
274274

275275
const document = await vscode.workspace.openTextDocument(target.uri);
276276
await vscode.window.showTextDocument(document, { preview: false });
277-
const { refreshStatusBar } = await import("../status/statusBar");
277+
const { refreshStatusBar } = await import("../status/statusBar.js");
278278
await refreshStatusBar();
279279
await vscode.window.showInformationMessage(`Applied Patchloom quick action to ${target.relativePath}.`);
280280
}

src/commands/setupWorkspace.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import * as vscode from "vscode";
2-
import { PATCHLOOM_RELEASES_URL, patchloomNeedsUpgrade, resolvePatchloomStatus } from "../binary/patchloom";
3-
import { describeWorkspaceEnvironment, inspectWorkspaceReadiness } from "../workspace/readiness";
2+
import { PATCHLOOM_RELEASES_URL, patchloomNeedsUpgrade, resolvePatchloomStatus } from "../binary/patchloom.js";
3+
import { describeWorkspaceEnvironment, inspectWorkspaceReadiness } from "../workspace/readiness.js";
44

55
export async function setupWorkspace(): Promise<void> {
66
const status = await resolvePatchloomStatus();

src/commands/showStatus.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
import { patchloomNeedsUpgrade, resolvePatchloomStatus } from "../binary/patchloom";
2-
import { buildStatusDetails, preferredStatusAction } from "../status/details";
3-
import { inspectWorkspaceReadiness } from "../workspace/readiness";
1+
import { patchloomNeedsUpgrade, resolvePatchloomStatus } from "../binary/patchloom.js";
2+
import { buildStatusDetails, preferredStatusAction } from "../status/details.js";
3+
import { inspectWorkspaceReadiness } from "../workspace/readiness.js";
44

55
export { buildStatusDetails, preferredStatusAction, type SetupAction } from "../status/details";
66

src/extension.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
import * as vscode from "vscode";
2-
import { configureMcp } from "./commands/configureMcp";
3-
import { initializeProject } from "./commands/initializeProject";
4-
import { runQuickAction } from "./commands/quickActions";
5-
import { setupWorkspace, openPatchloomReleases, openPatchloomSettings } from "./commands/setupWorkspace";
6-
import { showStatus } from "./commands/showStatus";
7-
import { setManagedInstallRoot } from "./install/managed";
8-
import { disposeStatusBar, refreshStatusBar } from "./status/statusBar";
2+
import { configureMcp } from "./commands/configureMcp.js";
3+
import { initializeProject } from "./commands/initializeProject.js";
4+
import { runQuickAction } from "./commands/quickActions.js";
5+
import { setupWorkspace, openPatchloomReleases, openPatchloomSettings } from "./commands/setupWorkspace.js";
6+
import { showStatus } from "./commands/showStatus.js";
7+
import { setManagedInstallRoot } from "./install/managed.js";
8+
import { disposeStatusBar, refreshStatusBar } from "./status/statusBar.js";
99

1010
export function activate(context: vscode.ExtensionContext): void {
1111
setManagedInstallRoot(context.globalStorageUri.fsPath);

src/install/managed.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { createHash } from "node:crypto";
22
import * as path from "node:path";
3-
import { formatError } from "../util";
3+
import { formatError } from "../util.js";
44

55
export const PATCHLOOM_RELEASE_REPO = "patchloom/patchloom";
66
export const PATCHLOOM_MANAGED_INSTALL_DIR = "patchloom-managed";

src/mcp/config.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import * as path from "node:path";
2-
import { configuredBinaryPathFromSetting } from "../binary/patchloom";
2+
import { configuredBinaryPathFromSetting } from "../binary/patchloom.js";
33

44
export type McpTargetKind = "vscode-workspace" | "cursor-workspace" | "windsurf-user";
55

src/status/details.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ import {
33
describePatchloomSource,
44
patchloomNeedsUpgrade,
55
PatchloomStatus
6-
} from "../binary/patchloom";
7-
import { WorkspaceReadiness } from "../workspace/readiness";
6+
} from "../binary/patchloom.js";
7+
import { WorkspaceReadiness } from "../workspace/readiness.js";
88

99
export interface SetupAction {
1010
readonly title: string;

0 commit comments

Comments
 (0)