gale/scripts/refresh_types.ts

37 lines
1006 B
TypeScript

import { resolve, toFileUrl } from "https://deno.land/std/path/mod.ts";
async function main()
{
// Read and parse the deno.json file
const denoJson = JSON.parse(await Deno.readTextFile("./deno.json"));
// Check if compilerOptions and types are defined
if (denoJson.compilerOptions?.types)
{
const types:string[] = denoJson.compilerOptions.types;
// Iterate over each type file and cache it
for (const typeFile of types)
{
let lookup:string = typeFile;
console.log(`found ambient type file`, lookup);
if(typeFile.startsWith("."))
{
lookup = toFileUrl(resolve(Deno.cwd(), typeFile)).href;
}
console.log(`Scan found types: ${lookup}`);
await import(lookup); // This will cache the file
}
console.log("Scan complete; be sure to restart the Deno Language Server!!");
} else {
console.log("No types found in compilerOptions.");
}
}
main().catch((error) => {
console.error("Error:", error);
Deno.exit(1);
});