Archived
Clean up remaining dead code and dependencies
- Replace unused 'codemirror' barrel dep with explicit @codemirror/{state,
view,commands,language} sub-packages that were imported but unlisted
- Remove unused exports: writeNamespacedQuery, targetWorkspacePathForRun,
isWorkspaceDeletionRun, piWebConfigDir, duplicate parsePiWebRuntimeResponse
- Remove unused types: WorkspacePanelFiles, WorkspacePanelHost,
GetActiveSession, SaveAttachmentsResponse, QueryValues
- Drop now-unused re-exports/imports cascading from the above
- Add knip config + 'npm run knip' script for ongoing dead-code detection
This commit is contained in:
@@ -1,5 +1,4 @@
|
||||
export type QueryValue = string | number | boolean | readonly (string | number | boolean)[];
|
||||
export type QueryValues = Record<string, QueryValue | undefined | null>;
|
||||
|
||||
export function queryNamespace(contributionId: string): string {
|
||||
return contributionId.replaceAll(":", ".");
|
||||
@@ -26,24 +25,6 @@ export function readNamespacedString(namespace: string, key: string): string | u
|
||||
return value === "" ? undefined : value;
|
||||
}
|
||||
|
||||
export function writeNamespacedQuery(namespace: string, values: QueryValues, options?: { replace?: boolean | undefined }): void {
|
||||
const url = new URL(window.location.href);
|
||||
const prefix = `${namespace}--`;
|
||||
for (const key of Array.from(url.searchParams.keys())) {
|
||||
if (key.startsWith(prefix)) url.searchParams.delete(key);
|
||||
}
|
||||
for (const [key, value] of Object.entries(values)) {
|
||||
if (value === undefined || value === null || value === "") continue;
|
||||
const namespacedKey = `${prefix}${key}`;
|
||||
if (Array.isArray(value)) {
|
||||
for (const item of value) url.searchParams.append(namespacedKey, String(item));
|
||||
} else {
|
||||
url.searchParams.set(namespacedKey, String(value));
|
||||
}
|
||||
}
|
||||
commitUrl(url, options);
|
||||
}
|
||||
|
||||
export function setNamespacedQueryKey(namespace: string, key: string, value: QueryValue | undefined | null, options?: { replace?: boolean | undefined }): void {
|
||||
const url = new URL(window.location.href);
|
||||
const namespacedKey = `${namespace}--${key}`;
|
||||
|
||||
@@ -52,14 +52,10 @@ export interface WorkspaceFiles {
|
||||
readFile(path: string): Promise<FileContentResponse>;
|
||||
}
|
||||
|
||||
export type WorkspacePanelFiles = WorkspaceFiles;
|
||||
|
||||
export interface WorkspaceHost {
|
||||
requestRender(): void;
|
||||
}
|
||||
|
||||
export type WorkspacePanelHost = WorkspaceHost;
|
||||
|
||||
export interface WorkspaceContext {
|
||||
machine: PluginMachine;
|
||||
workspace: Workspace;
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import { workspaceDeleteOperation, workspaceDeleteOperationMetadataKey, targetWorkspaceIdMetadataKey, targetWorkspacePathMetadataKey } from "../../shared/workspaceDeletion";
|
||||
import { workspaceDeleteOperation, workspaceDeleteOperationMetadataKey, targetWorkspaceIdMetadataKey } from "../../shared/workspaceDeletion";
|
||||
import type { AppState } from "./appState";
|
||||
import type { TerminalCommandRun, Workspace } from "./api";
|
||||
|
||||
export { targetWorkspaceIdMetadataKey, targetWorkspacePathMetadataKey, workspaceDeleteOperation, workspaceDeleteOperationMetadataKey, workspaceDeletionMetadata } from "../../shared/workspaceDeletion";
|
||||
export { targetWorkspaceIdMetadataKey, workspaceDeleteOperation, workspaceDeleteOperationMetadataKey, workspaceDeletionMetadata } from "../../shared/workspaceDeletion";
|
||||
|
||||
export function workspaceDeletionRunFilter(projectId?: string): { projectId?: string; metadata: Record<string, string> } {
|
||||
return {
|
||||
@@ -38,14 +38,7 @@ export function targetWorkspaceIdForRun(run: TerminalCommandRun): string | undef
|
||||
return run.metadata[targetWorkspaceIdMetadataKey];
|
||||
}
|
||||
|
||||
export function targetWorkspacePathForRun(run: TerminalCommandRun): string | undefined {
|
||||
return run.metadata[targetWorkspacePathMetadataKey];
|
||||
}
|
||||
|
||||
export function isWorkspaceDeletionRunPending(run: TerminalCommandRun): boolean {
|
||||
return run.status === "queued" || run.status === "running";
|
||||
}
|
||||
|
||||
export function isWorkspaceDeletionRun(run: TerminalCommandRun): boolean {
|
||||
return run.metadata[workspaceDeleteOperationMetadataKey] === workspaceDeleteOperation;
|
||||
}
|
||||
|
||||
@@ -197,6 +197,3 @@ export function examplePiWebConfig(config: PiWebConfig = {}): string {
|
||||
return `${JSON.stringify({ host: config.host ?? "127.0.0.1", port: config.port ?? 8504, allowedHosts: config.allowedHosts ?? [] }, null, 2)}\n`;
|
||||
}
|
||||
|
||||
export function piWebConfigDir(env: NodeJS.ProcessEnv = process.env): string {
|
||||
return dirname(defaultPiWebConfigPath(env));
|
||||
}
|
||||
|
||||
@@ -2,5 +2,3 @@ export interface ActiveSession<TRuntime> {
|
||||
runtime: TRuntime;
|
||||
unsubscribe: () => void;
|
||||
}
|
||||
|
||||
export type GetActiveSession<TRuntime> = (sessionId: string) => Promise<ActiveSession<TRuntime>>;
|
||||
|
||||
@@ -175,10 +175,6 @@ export interface SavedPromptAttachment {
|
||||
size: number;
|
||||
}
|
||||
|
||||
export interface SaveAttachmentsResponse {
|
||||
attachments: SavedPromptAttachment[];
|
||||
}
|
||||
|
||||
export interface SessionModel {
|
||||
provider?: string;
|
||||
id?: string;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import type { PiWebCapability, PiWebComponentStatus, PiWebInstallationInfo, PiWebRuntimeComponent, PiWebRuntimeResponse, PiWebVersionResponse } from "./apiTypes.js";
|
||||
import type { PiWebCapability, PiWebComponentStatus, PiWebInstallationInfo, PiWebRuntimeComponent, PiWebVersionResponse } from "./apiTypes.js";
|
||||
import { isPiWebCapability } from "./capabilities.js";
|
||||
|
||||
export function parsePiWebVersionResponse(value: unknown): PiWebVersionResponse | undefined {
|
||||
@@ -13,19 +13,6 @@ export function parsePiWebVersionResponse(value: unknown): PiWebVersionResponse
|
||||
return { packageName, generatedAt, components: { web, sessiond } };
|
||||
}
|
||||
|
||||
export function parsePiWebRuntimeResponse(value: unknown): PiWebRuntimeResponse | undefined {
|
||||
if (!isRecord(value)) return undefined;
|
||||
const packageName = value["packageName"];
|
||||
const generatedAt = value["generatedAt"];
|
||||
const components = value["components"];
|
||||
if (typeof packageName !== "string" || packageName === "" || typeof generatedAt !== "string" || generatedAt === "" || !isRecord(components)) return undefined;
|
||||
const web = parsePiWebRuntimeComponent(components["web"]);
|
||||
const sessiond = parsePiWebRuntimeComponent(components["sessiond"]);
|
||||
const capabilities = parsePiWebCapabilities(value["capabilities"]);
|
||||
if (web === undefined || sessiond === undefined || capabilities === undefined) return undefined;
|
||||
return { packageName, generatedAt, components: { web, sessiond }, capabilities };
|
||||
}
|
||||
|
||||
export function parsePiWebRuntimeComponent(value: unknown): PiWebRuntimeComponent | undefined {
|
||||
if (!isRecord(value)) return undefined;
|
||||
const component = value["component"];
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
export const workspaceDeleteOperation = "workspace.delete";
|
||||
export const workspaceDeleteOperationMetadataKey = "pi.operation";
|
||||
export const targetWorkspaceIdMetadataKey = "target.workspaceId";
|
||||
export const targetWorkspacePathMetadataKey = "target.workspacePath";
|
||||
const targetWorkspacePathMetadataKey = "target.workspacePath";
|
||||
|
||||
export interface WorkspaceDeletionTarget {
|
||||
id: string;
|
||||
|
||||
Reference in New Issue
Block a user