{
    // https://www.typescriptlang.org/docs/handbook/declaration-files/dts-from-js.html
    "include": ["*.js", "src/Vault.js", "src/Config.js"],
    "compilerOptions": {
      // Tells TypeScript to read JS files, as
      // normally they are ignored as source files
      "allowJs": true,
      // Generate d.ts files
      "declaration": true,
      // This compiler run should
      // only output d.ts files
      "emitDeclarationOnly": true,
      // Types should go into this directory.
      // Removing this would place the .d.ts files
      // next to the .js files
      "outDir": "dist",
      // go to js file when using IDE functions like
      // "Go to Definition" in VSCode
      "declarationMap": true,
      // https://blogs.msdn.microsoft.com/typescript/2018/01/31/announcing-typescript-2-7/#easier-ecmascript-module-interoperability
      "esModuleInterop": true,
      // https://www.typescriptlang.org/docs/handbook/release-notes/typescript-2-7.html#es-module-interoperability
      "module": "nodenext",
      "target": "ES2020",
      "moduleResolution": "nodenext",
      "strict": true
    }
  }