Skill Tracer
Skills › HyperFrames › hyperframes › main-module.mjs

main-module.mjs

13 lines · skills/hyperframes/scripts/lib/main-module.mjs at a595755

1import { realpathSync } from "node:fs";
2import { pathToFileURL } from "node:url";
3
4// Node resolves symlinks in the main module's import.meta.url but argv[1] keeps the invoked
5// spelling (a symlinked skills dir, or /tmp vs /private/tmp on macOS), so compare real paths.
6export function isMainModule(importMetaUrl) {
7 if (!process.argv[1]) return false;
8 try {
9 return pathToFileURL(realpathSync(process.argv[1])).href === importMetaUrl;
10 } catch {
11 return false;
12 }