git mv per the regrouping RFC: the five human-collaboration seams and tui join packages/interaction/, app-boot becomes packages/boot/, and jsonrpc joins the renamed scaffold/ (formerly sdk/) as its server half beside client/protocol/create-sdk/helper/scripts/telemetry, whose folders drop the legacy sdk- prefix. Three new group README triplets replace the ui/ and sdk/ ones; tsconfig references/paths/globs, knip keys, vitest globs, gate scripts, catalogs, docs, and the lockfile follow. Adds the four settled FIXME rename markers (dsh-sdk-server, dsh-sdk-telemetry, dsh-sdk-helper, dsh-sdk-scripts). The scaffold folders diverge from their npm names until those renames land, so tsconfig.base.json maps the three affected names explicitly beside the group wildcard. Also repairs two pre-existing stale-path classes the strengthened sweep surfaced: docs/web-styling.md's retired web-ui host package and type-model spec fixture-literal joins. app-boot's three Loader-composition specs time out at the default 5s under full-suite parallel load on this filesystem (pre-existing; pass isolated with --testTimeout=30000); interaction/scaffold/boot suites otherwise green (687 passed).
28 lines
863 B
TypeScript
28 lines
863 B
TypeScript
/**
|
|
* Node module customization hook for project-local plugin package names.
|
|
*
|
|
* @module @deepseek-ai/dsh-scripts/local-plugin-loader-hooks
|
|
*/
|
|
|
|
import type { ResolveHookContext, ResolveFnOutput } from 'node:module'
|
|
|
|
interface HookData {
|
|
mappings: Readonly<Record<string, string>>
|
|
}
|
|
|
|
let mappings: Readonly<Record<string, string>> = {}
|
|
|
|
/** Receive the package-name to source-URL map from the launcher thread. */
|
|
export function initialize(data: HookData): void {
|
|
mappings = { ...data.mappings }
|
|
}
|
|
|
|
/** Resolve exact local workspace package names to their TypeScript entry source. */
|
|
export async function resolve(
|
|
specifier: string,
|
|
context: ResolveHookContext,
|
|
nextResolve: (specifier: string, context: ResolveHookContext) => Promise<ResolveFnOutput>,
|
|
): Promise<ResolveFnOutput> {
|
|
return nextResolve(mappings[specifier] ?? specifier, context)
|
|
}
|