node.js - Interagera med filsystemet med TypeScript path-alias


Jag arbetar i ett ganska stort monorepo, så jag satte upp några sökvägsalias i min tsconfig.json:

"paths": {
  "@app/specialLib/*": ["libs/specialLib/src/lib/*"],
  "@app/specialLib": ["libs/specialLib/src/index.ts"],
}

så att jag kan förenkla mina importuttalanden, både i mina appar och på andra ställen inom biblioteket:

import { Foo } from "@app/specialLib"
import { SubItem } from "@app/specialLib/nested/library"

I en av mina bibliotekfiler behöver jag arbeta med filsystemet, med writeFileSync:

// the path to the log file
const itemLog = "@app/specialLib/item-log.json";

// remove the necessary item from the log
let loggedItems: LogItem[] = require(itemLog);
loggedItems = loggedItems.filter(({ id }) => {
    id != this.id;
});

// write the log back to the file system
writeFileSync(resolve(itemLog), JSON.stringify(loggedItems));

Nu kan kompilatorn lösa require utan problem, men när jag försöker köra mitt skript får jag Error: ENOENT: no such file or directory, open 'C:\Users\Chris\development\Big.Monorepo\@app\specialLib\item-log.json', eftersom det förstås inte finns någon sådan mapp på min dator. Jag har försökt använda variabeln direkt, samt att omsluta den med path.resolve(), med samma resultat.

Så min fråga är denna: finns det ett sätt att läsa och skriva till filsystemet med Nodes inbyggda funktionalitet i kombination med TypeScript-sökvägsalias?