Merge pull request #17 from bognarlaszlo/watchfiles-extended

watchFiles should look for changes in all files inside sourceDir
This commit is contained in:
Marton Lederer 2021-08-22 17:44:30 +02:00 committed by GitHub
commit 44a484c9da
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

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;