watchFiles should look for changes in all files inside sourceDir

This commit is contained in:
Bognár László 2021-08-19 11:55:14 +02:00
parent 8735128467
commit 5e3b8b69e7

View File

@ -1,6 +1,12 @@
import { Plugin } from "esbuild";
import { Plugin as PostCSSPlugin } from "postcss";
import { ensureDir, readFile, writeFile } from "fs-extra";
import {
ensureDir,
readFile,
readdirSync,
statSync,
writeFile
} from "fs-extra";
import { TextDecoder } from "util";
import {
SassException,
@ -135,7 +141,7 @@ const postCSSPlugin = ({
return {
namespace: isModule ? "postcss-module" : "file",
path: tmpFilePath,
watchFiles: [sourceFullPath],
watchFiles: getFilesRecursive(sourceDir),
pluginData: {
originalPath: sourceFullPath
}
@ -199,4 +205,14 @@ function getSassImpl() {
return require(impl);
}
function getFilesRecursive(directory: string): string[] {
return readdirSync(directory).reduce((files, file) => {
const name = path.join(directory, file);
return statSync(name).isDirectory()
? [...files, getFilesRecursive(name)]
: [...files, name];
}, []);
}
export default postCSSPlugin;