You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+6Lines changed: 6 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,6 +5,11 @@ All notable changes to this project will be documented in this file.
5
5
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
8
+
## [0.16.0] - 2026-04-04
9
+
10
+
### Changed
11
+
-**Breaking:** Merged `target` and `virtual-target` types into a unified target definition. The `type` field is removed. All targets now support `app`, `targetName`, `changeDirs`, lockfile detection, and fine-grained mode. `targetName` defaults to the package name when not set. `changeDirs` defaults to `**/*` when not set.
12
+
8
13
## [0.15.3] - 2026-02-23
9
14
10
15
### Fixed
@@ -197,6 +202,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
Copy file name to clipboardExpand all lines: README.md
+15-22Lines changed: 15 additions & 22 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -86,11 +86,9 @@ Each project can optionally have a `.goodchangesrc.json` file in its root direct
86
86
{
87
87
"targets": [
88
88
{
89
-
"type": "target",
90
89
"app": "@gooddata/gdc-dashboards"
91
90
},
92
91
{
93
-
"type": "virtual-target",
94
92
"targetName": "neobackstop",
95
93
"changeDirs": [
96
94
{ "glob": "src/**/*" },
@@ -104,20 +102,16 @@ Each project can optionally have a `.goodchangesrc.json` file in its root direct
104
102
}
105
103
```
106
104
107
-
### Target
105
+
### Trigger conditions
108
106
109
-
Marks a project as an e2e test package. The package name is included in the output when any of the 4 trigger conditions are met.
107
+
Each target is triggered by any of these conditions:
110
108
111
-
**Trigger conditions:**
112
-
113
-
1.**Direct file changes** -- files changed in the project folder (excluding ignored paths)
109
+
1.**Direct file changes** -- files matching `changeDirs` globs changed (excluding ignored paths). Defaults to `**/*` (entire project) when `changeDirs` is not set.
114
110
2.**External dependency changes** -- a dependency version changed in `pnpm-lock.yaml`
115
-
3.**Tainted workspace imports** -- the target imports a tainted symbol from a workspace library
111
+
3.**Tainted workspace imports** -- a file matching `changeDirs` globs imports a tainted symbol from a workspace library
116
112
4.**Corresponding app is tainted** -- the app specified by `app` is affected (any of the above conditions)
117
113
118
-
### Virtual target
119
-
120
-
An aggregated target that uses glob patterns to match files across a project. Does not correspond to a real package name in the output -- uses `targetName` instead.
114
+
### changeDirs
121
115
122
116
Each `changeDirs` entry is an object with:
123
117
@@ -142,20 +136,19 @@ Each `changeDirs` entry is an object with:
|`app`|`string`| Package name of the corresponding app this target tests |
149
+
|`targetName`|`string`| Custom output name (defaults to the package name when not set) |
150
+
|`changeDirs`|`ChangeDir[]`| Glob patterns to match files. Defaults to `**/*` (entire project). Each entry: `{"glob": "...", "filter?": "...", "type?": "fine-grained"}`|
151
+
|`ignores`|`string[]`| Per-target ignore globs. Additive with the global `ignores` -- only applies to this target's detection |
159
152
160
153
The `.goodchangesrc.json` file itself is always ignored.
0 commit comments