[prettier] detect changed files from relative dir
Previously, `yarn prettier` didn't write changed files since `glob` produced paths relative to cwd and `git diff --name-only` produced paths relative to git root directory. This changes `git diff --name-only` to `git diff --name-only --relative`
mofeiZ committed
Jan 25, 2023 at 15:16 UTC
9bd67099d7a6a2ea1b1e9c1235b2b97fd958985a
2 files changed
+8
-3
compiler/forget/scripts/prettier.js
+1
-2
@@ -25,7 +25,7 @@ let didWarn = false;
25
let didError = false;
26
27
const files = glob
28
- .sync("**/*.{js,ts}", {
28
+ .sync("**/*.{js,ts,tsx,jsx}", {
29
ignore: [
30
"**/node_modules/**",
31
"packages/demo-2021Q3/**",
@@ -37,7 +37,6 @@ const files = glob
37
],
38
})
39
.filter((f) => !onlyChanged || changedFiles.has(f));
40
-
40
if (!files.length) {
41
return;
42
}
compiler/forget/scripts/shared/list-changed-files.js
+7
-1
@@ -24,7 +24,13 @@ const execGitCmd = (args) => exec("git", args).trim().toString().split("\n");
24
const listChangedFiles = () => {
25
const mergeBase = execGitCmd(["merge-base", "HEAD", "main"]);
26
return new Set([
27
- ...execGitCmd(["diff", "--name-only", "--diff-filter=ACMRTUB", mergeBase]),
27
+ ...execGitCmd([
28
+ "diff",
29
+ "--name-only",
30
+ "--relative",
31
+ "--diff-filter=ACMRTUB",
32
+ mergeBase,
33
+ ]),
34
...execGitCmd(["ls-files", "--others", "--exclude-standard"]),
35
]);
36
};