Skip to content

Commit 521205d

Browse files
authored
Add support for the changedFilePatterns config (#1033)
* Add support for the `changedFilesPatterns` config * fixed type errors * fixed formatting * add missing dev dep * Rename the new config option to `changedFilePatterns` * Add changesets
1 parent b360d50 commit 521205d

File tree

17 files changed

+657
-205
lines changed

17 files changed

+657
-205
lines changed
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@changesets/config": minor
3+
---
4+
5+
Support and validation for the new `changedFilePatterns` option has been added.

.changeset/healthy-rats-chew.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@changesets/git": minor
3+
---
4+
5+
`getChangedPackagesSinceRef` accepts now a new `changedFilePatterns` option. It can be used to determine which packages should be classified as changed. You can pass an array of glob patterns to it.

.changeset/spicy-apes-visit.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@changesets/types": patch
3+
---
4+
5+
Added `changedFilePatterns` property to `Config` and `WrittenConfig` types.

.changeset/wicked-years-share.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
---
2+
"@changesets/cli": minor
3+
---
4+
5+
A new config-level `changedFilePatterns` option has been added. You can configure it with an array of glob patterns like here:
6+
7+
```json
8+
// .changeset/config.json
9+
{
10+
"changedFilePatterns": ["src/**"]
11+
}
12+
```
13+
14+
Files that do not match the configured pattern won't contribute to the "changed" status of the package to which they belong. This both affects `changesets add` and `changeset status`.

packages/apply-release-plan/src/index.test.ts

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ class FakeReleasePlan {
4747
fixed: [],
4848
linked: [],
4949
access: "restricted",
50+
changedFilePatterns: ["**"],
5051
baseBranch: "main",
5152
updateInternalDependencies: "patch",
5253
ignore: [],
@@ -89,6 +90,7 @@ async function testSetup(
8990
fixed: [],
9091
linked: [],
9192
access: "restricted",
93+
changedFilePatterns: ["**"],
9294
baseBranch: "main",
9395
updateInternalDependencies: "patch",
9496
ignore: [],
@@ -661,6 +663,7 @@ describe("apply release plan", () => {
661663
linked: [],
662664
access: "restricted",
663665
baseBranch: "main",
666+
changedFilePatterns: ["**"],
664667
updateInternalDependencies: "patch",
665668
privatePackages: { version: true, tag: false },
666669
ignore: [],
@@ -736,6 +739,7 @@ describe("apply release plan", () => {
736739
linked: [],
737740
access: "restricted",
738741
baseBranch: "main",
742+
changedFilePatterns: ["**"],
739743
updateInternalDependencies: "patch",
740744
privatePackages: { version: true, tag: false },
741745
ignore: [],
@@ -992,6 +996,7 @@ describe("apply release plan", () => {
992996
fixed: [],
993997
linked: [],
994998
access: "restricted",
999+
changedFilePatterns: ["**"],
9951000
baseBranch: "main",
9961001
updateInternalDependencies,
9971002
ignore: [],
@@ -1107,6 +1112,7 @@ describe("apply release plan", () => {
11071112
fixed: [],
11081113
linked: [],
11091114
access: "restricted",
1115+
changedFilePatterns: ["**"],
11101116
baseBranch: "main",
11111117
updateInternalDependencies,
11121118
ignore: [],
@@ -1207,6 +1213,7 @@ describe("apply release plan", () => {
12071213
fixed: [],
12081214
linked: [],
12091215
access: "restricted",
1216+
changedFilePatterns: ["**"],
12101217
baseBranch: "main",
12111218
updateInternalDependencies,
12121219
ignore: [],
@@ -1306,6 +1313,7 @@ describe("apply release plan", () => {
13061313
fixed: [],
13071314
linked: [],
13081315
access: "restricted",
1316+
changedFilePatterns: ["**"],
13091317
baseBranch: "main",
13101318
updateInternalDependencies,
13111319
ignore: [],
@@ -1408,6 +1416,7 @@ describe("apply release plan", () => {
14081416
fixed: [],
14091417
linked: [],
14101418
access: "restricted",
1419+
changedFilePatterns: ["**"],
14111420
baseBranch: "main",
14121421
updateInternalDependencies,
14131422
ignore: [],
@@ -1523,6 +1532,7 @@ describe("apply release plan", () => {
15231532
fixed: [],
15241533
linked: [],
15251534
access: "restricted",
1535+
changedFilePatterns: ["**"],
15261536
baseBranch: "main",
15271537
updateInternalDependencies,
15281538
ignore: [],
@@ -1631,6 +1641,7 @@ describe("apply release plan", () => {
16311641
fixed: [],
16321642
linked: [],
16331643
access: "restricted",
1644+
changedFilePatterns: ["**"],
16341645
baseBranch: "main",
16351646
updateInternalDependencies,
16361647
ignore: [],
@@ -1730,6 +1741,7 @@ describe("apply release plan", () => {
17301741
fixed: [],
17311742
linked: [],
17321743
access: "restricted",
1744+
changedFilePatterns: ["**"],
17331745
baseBranch: "main",
17341746
updateInternalDependencies,
17351747
ignore: [],
@@ -1830,6 +1842,7 @@ describe("apply release plan", () => {
18301842
fixed: [],
18311843
linked: [],
18321844
access: "restricted",
1845+
changedFilePatterns: ["**"],
18331846
baseBranch: "main",
18341847
updateInternalDependencies: "patch",
18351848
ignore: [],
@@ -2058,6 +2071,7 @@ describe("apply release plan", () => {
20582071
linked: [],
20592072
access: "restricted",
20602073
baseBranch: "main",
2074+
changedFilePatterns: ["**"],
20612075
changelog: [
20622076
path.resolve(__dirname, "test-utils/simple-get-changelog-entry"),
20632077
null,
@@ -2198,6 +2212,7 @@ describe("apply release plan", () => {
21982212
fixed: [],
21992213
linked: [],
22002214
access: "restricted",
2215+
changedFilePatterns: ["**"],
22012216
baseBranch: "main",
22022217
updateInternalDependencies: "patch",
22032218
ignore: [],
@@ -2306,6 +2321,7 @@ describe("apply release plan", () => {
23062321
fixed: [],
23072322
linked: [],
23082323
access: "restricted",
2324+
changedFilePatterns: ["**"],
23092325
baseBranch: "main",
23102326
updateInternalDependencies: "minor",
23112327
ignore: [],
@@ -2426,6 +2442,7 @@ describe("apply release plan", () => {
24262442
fixed: [],
24272443
linked: [],
24282444
access: "restricted",
2445+
changedFilePatterns: ["**"],
24292446
baseBranch: "main",
24302447
updateInternalDependencies: "minor",
24312448
ignore: [],
@@ -2560,6 +2577,7 @@ describe("apply release plan", () => {
25602577
fixed: [],
25612578
linked: [],
25622579
access: "restricted",
2580+
changedFilePatterns: ["**"],
25632581
baseBranch: "main",
25642582
updateInternalDependencies: "minor",
25652583
ignore: [],

packages/cli/src/commands/add/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ export default async function add(
4242
const changedPackages = await git.getChangedPackagesSinceRef({
4343
cwd,
4444
ref: config.baseBranch,
45+
changedFilePatterns: config.changedFilePatterns,
4546
});
4647
const changedPackagesName = changedPackages
4748
.filter((pkg) => isListablePackage(config, pkg.packageJson))

0 commit comments

Comments
 (0)