mirror of
https://github.com/Kaelio/ktx.git
synced 2026-06-19 08:28:06 +02:00
chore(workspace): gate dead-code with knip production mode
Turn on production-mode knip plus an autofix run in pre-commit and the `pnpm dead-code` script, document the `/** @internal */` convention for test-only exports in AGENTS.md, annotate test-only exports across the CLI with that JSDoc, and drop dead exports/wrappers the new gate surfaced (e.g. `cli-project.ts`, `lookerRuntimeSourceToFileAdapterSource`, `createLocalScanEnrichmentProvidersFromConfig`, `PGLITE_OWNER_PROCESS_BACKEND_CAPABILITIES`, stale type re-exports). Replace the loose `ignoreIssues` allowlist in `knip.json` with explicit production entries so cross-package barrel leaks are caught.
This commit is contained in:
parent
ac3885b652
commit
b690e6988b
71 changed files with 211 additions and 279 deletions
|
|
@ -25,7 +25,7 @@ const runtimeAssetManifestSchema = z.object({
|
|||
}),
|
||||
});
|
||||
|
||||
export type KtxRuntimeAssetManifest = z.infer<typeof runtimeAssetManifestSchema>;
|
||||
type KtxRuntimeAssetManifest = z.infer<typeof runtimeAssetManifestSchema>;
|
||||
|
||||
const installedRuntimeManifestSchema = z.object({
|
||||
schemaVersion: z.literal(1),
|
||||
|
|
@ -76,6 +76,7 @@ export interface ManagedPythonDaemonLayout extends ManagedPythonRuntimeLayout {
|
|||
daemonStderrPath: string;
|
||||
}
|
||||
|
||||
/** @internal */
|
||||
export interface ManagedRuntimeAsset {
|
||||
manifest: KtxRuntimeAssetManifest;
|
||||
wheelPath: string;
|
||||
|
|
@ -104,7 +105,7 @@ export interface ManagedPythonRuntimeInstallResult {
|
|||
manifest: InstalledKtxRuntimeManifest;
|
||||
}
|
||||
|
||||
export type ManagedPythonRuntimeStatusKind = 'missing' | 'ready' | 'mismatched' | 'broken';
|
||||
type ManagedPythonRuntimeStatusKind = 'missing' | 'ready' | 'mismatched' | 'broken';
|
||||
|
||||
export interface ManagedPythonRuntimeStatus {
|
||||
kind: ManagedPythonRuntimeStatusKind;
|
||||
|
|
@ -121,6 +122,7 @@ export interface ManagedPythonRuntimeDoctorCheck {
|
|||
fix?: string;
|
||||
}
|
||||
|
||||
/** @internal */
|
||||
export const MISSING_UV_RUNTIME_INSTALL_MESSAGE =
|
||||
'uv is required to install the KTX Python runtime. KTX does not download uv automatically. Install uv, make sure it is on PATH, and retry: ktx admin runtime install --yes';
|
||||
|
||||
|
|
@ -142,6 +144,7 @@ function executablePath(venvDir: string, platform: NodeJS.Platform, name: string
|
|||
return join(venvDir, 'bin', name);
|
||||
}
|
||||
|
||||
/** @internal */
|
||||
export function managedPythonRuntimeLayout(options: ManagedPythonRuntimeLayoutOptions): ManagedPythonRuntimeLayout {
|
||||
const platform = options.platform ?? process.platform;
|
||||
const env = options.env ?? process.env;
|
||||
|
|
@ -235,6 +238,7 @@ function parseRequiresPythonFromWheel(input: { wheelPath: string; contents: Buff
|
|||
};
|
||||
}
|
||||
|
||||
/** @internal */
|
||||
export async function verifyRuntimeAsset(input: { assetDir: string }): Promise<ManagedRuntimeAsset> {
|
||||
const manifestPath = join(input.assetDir, 'manifest.json');
|
||||
let manifestData: unknown;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue