Flatten the repo: move everything out of app/ to the root
Now that the CLI and the Next.js app are one package, nesting it inside app/ served no purpose - the repo root itself becomes the published npm package. Merges app/.gitignore and app/README.md into the root versions, drops the now-duplicate app/LICENSE, and updates path references (README, docs/ARCHITECTURE.md, docs/CONFIG_REFERENCE.md, package.json's repository.directory) that assumed the app/ nesting. Also fixes a real bug this surfaced: the in-app docs viewer resolved docs/ relative to process.cwd(), which only worked by accident when the CLI happened to be invoked from app/'s parent directory. A first attempt at fixing it with import.meta.dirname broke instead, for the same cross-module-graph reason config-path resolution already documented - Next compiles Route Handlers through a separate module graph that doesn't preserve source-relative import.meta paths. Fixed by exposing the app root via TRIGGERSHELL_APP_ROOT (set once in server.ts, where import.meta *does* resolve correctly), the same pattern already used for TRIGGERSHELL_CONFIG_PATH. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,18 @@
|
||||
import { EventEmitter } from "node:events";
|
||||
import type { ServerMessage } from "../ws/protocol";
|
||||
|
||||
declare global {
|
||||
var __triggershellRunEvents: EventEmitter | undefined;
|
||||
}
|
||||
|
||||
/** Decouples the run engine from the WS transport: the engine emits, ws/server.ts broadcasts.
|
||||
* Anchored on `globalThis` because Next compiles Route Handlers through its own module graph,
|
||||
* separate from the modules `server.ts` requires directly via tsx - a plain module-level
|
||||
* singleton would silently end up duplicated (one copy per graph) instead of shared. */
|
||||
export const runEvents: EventEmitter = globalThis.__triggershellRunEvents ?? new EventEmitter();
|
||||
globalThis.__triggershellRunEvents = runEvents;
|
||||
runEvents.setMaxListeners(0);
|
||||
|
||||
export function emitRunMessage(message: ServerMessage) {
|
||||
runEvents.emit("message", message);
|
||||
}
|
||||
Reference in New Issue
Block a user