hmr #1
37
server.tsx
37
server.tsx
@ -256,25 +256,36 @@ const SocketsBroadcast =(inData:string)=>{ for (const socket of Sockets){ socket
|
||||
const FilesChanged:Map<string, string> = new Map();
|
||||
const ProcessFiles =debounce(async()=>
|
||||
{
|
||||
console.log("Files changed...")
|
||||
for await (const [file, action] of FilesChanged)
|
||||
console.log("Processing Files...", FilesChanged);
|
||||
for await (const [path, action] of FilesChanged)
|
||||
{
|
||||
const pathname = file.substring(Deno.cwd().length).replaceAll("\\", "/");
|
||||
console.log(pathname, action);
|
||||
if(Transpileable(pathname))
|
||||
const key = path.substring(Deno.cwd().length).replaceAll("\\", "/");
|
||||
console.log(key, action);
|
||||
|
||||
if(action != "remove")
|
||||
{
|
||||
if(action !== "remove")
|
||||
{
|
||||
await TranspileFS(file, pathname, false);
|
||||
console.log(` ...cached "${pathname}"`);
|
||||
SocketsBroadcast(pathname);
|
||||
}
|
||||
await TranspileFS(path, key, false);
|
||||
console.log(` ...cached "${key}"`);
|
||||
SocketsBroadcast(key);
|
||||
}
|
||||
else
|
||||
{
|
||||
Transpiled.delete(key)
|
||||
}
|
||||
}
|
||||
FilesChanged.clear();
|
||||
}, 1000);
|
||||
for await (const event of Deno.watchFs(Deno.cwd()))
|
||||
{
|
||||
event.paths.forEach( path => FilesChanged.set(path, event.kind) );
|
||||
ProcessFiles();
|
||||
event.paths.forEach( path =>
|
||||
{
|
||||
if(Transpileable(path))
|
||||
{
|
||||
FilesChanged.set(path, event.kind);
|
||||
}
|
||||
});
|
||||
if(FilesChanged.size)
|
||||
{
|
||||
ProcessFiles();
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user