{
   "$schema": "https://json.schemastore.org/tsconfig",

   "compilerOptions": {
      "rootDir": "../",
      "useDefineForClassFields": false,
      "isolatedModules": true,

      /* ===============================
         Output (tsup controls formats)
         =============================== */
      "outDir": "dist",
      "declaration": true,
      "declarationMap": true,
      "sourceMap": true,
      "emitDeclarationOnly": false,

      /* ===============================
         Language & runtime
         =============================== */
      "target": "ES2022",
      "lib": ["ES2022", "DOM"],

      /* ===============================
         Module system (CRITICAL)
         =============================== */
      "module": "nodenext",
      "moduleResolution": "NodeNext",

      /* ===============================
         Interop & compatibility
         =============================== */
      "esModuleInterop": true,
      "allowSyntheticDefaultImports": true,
      "resolveJsonModule": true,

      /* ===============================
         Type checking
         =============================== */
      "strict": true,
      "noImplicitAny": false,
      "strictNullChecks": true,
      "strictFunctionTypes": true,
      "strictPropertyInitialization": true,
      "noFallthroughCasesInSwitch": true,

      /* ===============================
         Developer experience
         =============================== */
      "skipLibCheck": true,
      "forceConsistentCasingInFileNames": true,
      "noErrorTruncation": true,

      /* ===============================
         Decorators (if used)
         =============================== */
      "experimentalDecorators": true,

      /* ===============================
         Internal path aliases
         =============================== */
      "baseUrl": ".",
      "paths": {
         // ── Helpers & constants ──────────────────────────
         "@adaas/are/helpers/*":     ["../src/helpers/*"],
         "@adaas/are/constants/*":   ["../src/constants/*"],

         // ── Core library (wildcard — resolves any file inside the folder) ──
         "@adaas/are/loader/*":       ["../src/lib/AreLoader/*"],
         "@adaas/are/tokenizer/*":    ["../src/lib/AreTokenizer/*"],
         "@adaas/are/compiler/*":     ["../src/lib/AreCompiler/*"],
         "@adaas/are/transformer/*":  ["../src/lib/AreTransformer/*"],
         "@adaas/are/interpreter/*":  ["../src/lib/AreInterpreter/*"],
         "@adaas/are/lifecycle/*":    ["../src/lib/AreLifecycle/*"],
         "@adaas/are/component/*":    ["../src/lib/AreComponent/*"],
         "@adaas/are/event/*":        ["../src/lib/AreEvent/*"],
         "@adaas/are/node/*":         ["../src/lib/AreNode/*"],
         "@adaas/are/resolver/*":     ["../src/lib/AreComponentResolver/*"],
         "@adaas/are/store/*":        ["../src/lib/AreStore/*"],
         "@adaas/are/scene/*":        ["../src/lib/AreScene/*"],
         "@adaas/are/instruction/*":  ["../src/lib/AreInstruction/*"],
         "@adaas/are/syntax/*":       ["../src/lib/AreSyntax/*"],
         "@adaas/are/attribute/*":    ["../src/lib/AreAttribute/*"],
         "@adaas/are/watcher/*":      ["../src/lib/AreWatcher/*"],
         "@adaas/are/signals/*":      ["../src/lib/AreSignals/*"],
         "@adaas/are/engine/*":       ["../src/lib/AreEngine/*"],

         // ── Exported engines ────────────────────────────
         "@adaas/are/engines/html/*": ["../src/engines/html/*"],
      },
      /* ===============================
         Types
         =============================== */
      // "typeRoots": ["node_modules/@types"]
   },
   "include": [
      "../src/**/*",
   ],
   "exclude": [
      "../node_modules",
      "../dist",
      "**/*.spec.ts"
   ]
}