@trackunit/iris-app 2.5.21-alpha-3e7014314a8.0 → 2.5.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,131 @@
|
|
|
1
|
+
## 2.5.24 (2026-08-27)
|
|
2
|
+
|
|
3
|
+
### 🧱 Updated Dependencies
|
|
4
|
+
|
|
5
|
+
- Updated iris-app-build-utilities to 2.4.23
|
|
6
|
+
- Updated iris-app-api to 2.4.17
|
|
7
|
+
- Updated react-graphql-tools to 1.17.3
|
|
8
|
+
|
|
9
|
+
## 2.5.23 (2026-08-27)
|
|
10
|
+
|
|
11
|
+
### 🧱 Updated Dependencies
|
|
12
|
+
|
|
13
|
+
- Updated iris-app-build-utilities to 2.4.22
|
|
14
|
+
- Updated iris-app-api to 2.4.16
|
|
15
|
+
- Updated react-graphql-tools to 1.17.2
|
|
16
|
+
|
|
17
|
+
## 2.5.22 (2026-08-27)
|
|
18
|
+
|
|
19
|
+
### 🧱 Updated Dependencies
|
|
20
|
+
|
|
21
|
+
- Updated iris-app-build-utilities to 2.4.21
|
|
22
|
+
- Updated iris-app-api to 2.4.15
|
|
23
|
+
- Updated react-graphql-tools to 1.17.1
|
|
24
|
+
|
|
25
|
+
## 2.5.21 (2026-08-27)
|
|
26
|
+
|
|
27
|
+
### 🩹 Fixes
|
|
28
|
+
|
|
29
|
+
- **platform-test:** baseline specific scope gaps, and ignore implicit graph edges ([f570c0579f8](https://github.com/Trackunit/manager/commit/f570c0579f8))
|
|
30
|
+
|
|
31
|
+
### 🧱 Updated Dependencies
|
|
32
|
+
|
|
33
|
+
- Updated iris-app-build-utilities to 2.4.20
|
|
34
|
+
- Updated iris-app-api to 2.4.14
|
|
35
|
+
- Updated react-graphql-tools to 1.17.0
|
|
36
|
+
|
|
37
|
+
### ❤️ Thank You
|
|
38
|
+
|
|
39
|
+
- Cursor @cursoragent
|
|
40
|
+
- Mikkel Thorbjørn Andersen
|
|
41
|
+
|
|
42
|
+
## 2.5.20 (2026-08-27)
|
|
43
|
+
|
|
44
|
+
### 🚀 Features
|
|
45
|
+
|
|
46
|
+
- **host:** resolve account.user.view from the viewUsers account action ([68660fa3246](https://github.com/Trackunit/manager/commit/68660fa3246))
|
|
47
|
+
|
|
48
|
+
### 🧱 Updated Dependencies
|
|
49
|
+
|
|
50
|
+
- Updated iris-app-build-utilities to 2.4.19
|
|
51
|
+
- Updated iris-app-api to 2.4.13
|
|
52
|
+
- Updated react-graphql-tools to 1.16.3
|
|
53
|
+
|
|
54
|
+
### ❤️ Thank You
|
|
55
|
+
|
|
56
|
+
- Claude Opus 5 (1M context)
|
|
57
|
+
- Kenneth Sejrsgaard-Jacobsen
|
|
58
|
+
|
|
59
|
+
## 2.5.19 (2026-08-25)
|
|
60
|
+
|
|
61
|
+
### 🩹 Fixes
|
|
62
|
+
|
|
63
|
+
- **iris-app-sdk:** retry Sentry HTTP 5xx during iris app builds ([#25075](https://github.com/Trackunit/manager/pull/25075), [#24915](https://github.com/Trackunit/manager/issues/24915), [#25062](https://github.com/Trackunit/manager/issues/25062))
|
|
64
|
+
|
|
65
|
+
### 🧱 Updated Dependencies
|
|
66
|
+
|
|
67
|
+
- Updated iris-app-build-utilities to 2.4.18
|
|
68
|
+
- Updated iris-app-api to 2.4.12
|
|
69
|
+
- Updated react-vite-test-setup to 0.0.114
|
|
70
|
+
- Updated css-classname-utils to 0.0.22
|
|
71
|
+
- Updated react-graphql-tools to 1.16.2
|
|
72
|
+
- Updated shared-utils to 1.16.22
|
|
73
|
+
|
|
74
|
+
### ❤️ Thank You
|
|
75
|
+
|
|
76
|
+
- Cursor Agent @cursoragent
|
|
77
|
+
- Kristian Bødker
|
|
78
|
+
|
|
79
|
+
## 2.5.18 (2026-08-25)
|
|
80
|
+
|
|
81
|
+
### 🩹 Fixes
|
|
82
|
+
|
|
83
|
+
- **iris-app-sdk:** retry Sentry HTTP 5xx during iris app builds ([#25075](https://github.com/Trackunit/manager/pull/25075), [#24915](https://github.com/Trackunit/manager/issues/24915), [#25062](https://github.com/Trackunit/manager/issues/25062))
|
|
84
|
+
|
|
85
|
+
### 🧱 Updated Dependencies
|
|
86
|
+
|
|
87
|
+
- Updated iris-app-build-utilities to 2.4.17
|
|
88
|
+
- Updated iris-app-api to 2.4.11
|
|
89
|
+
- Updated react-vite-test-setup to 0.0.113
|
|
90
|
+
- Updated css-classname-utils to 0.0.21
|
|
91
|
+
- Updated react-graphql-tools to 1.16.1
|
|
92
|
+
- Updated shared-utils to 1.16.21
|
|
93
|
+
|
|
94
|
+
### ❤️ Thank You
|
|
95
|
+
|
|
96
|
+
- Cursor Agent @cursoragent
|
|
97
|
+
- Kristian Bødker
|
|
98
|
+
|
|
99
|
+
## 2.5.17 (2026-08-24)
|
|
100
|
+
|
|
101
|
+
### 🧱 Updated Dependencies
|
|
102
|
+
|
|
103
|
+
- Updated iris-app-build-utilities to 2.4.16
|
|
104
|
+
- Updated react-graphql-tools to 1.16.0
|
|
105
|
+
|
|
106
|
+
## 2.5.16 (2026-08-21)
|
|
107
|
+
|
|
108
|
+
### 🧱 Updated Dependencies
|
|
109
|
+
|
|
110
|
+
- Updated iris-app-build-utilities to 2.4.15
|
|
111
|
+
- Updated iris-app-api to 2.4.10
|
|
112
|
+
|
|
113
|
+
## 2.5.15 (2026-08-21)
|
|
114
|
+
|
|
115
|
+
### 🩹 Fixes
|
|
116
|
+
|
|
117
|
+
- **iris-app:** SF-791 restore CircleCI approvals ([51cff4a72ad](https://github.com/Trackunit/manager/commit/51cff4a72ad))
|
|
118
|
+
|
|
119
|
+
### ❤️ Thank You
|
|
120
|
+
|
|
121
|
+
- Mads Mætzke Tandrup
|
|
122
|
+
|
|
123
|
+
## 2.5.14 (2026-08-20)
|
|
124
|
+
|
|
125
|
+
### 🧱 Updated Dependencies
|
|
126
|
+
|
|
127
|
+
- Updated iris-app-build-utilities to 2.4.14
|
|
128
|
+
|
|
1
129
|
## 2.5.13 (2026-08-20)
|
|
2
130
|
|
|
3
131
|
### 🧱 Updated Dependencies
|
package/migrations.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"generators": {
|
|
3
3
|
"v2-5-12-p-content-space-codemod": {
|
|
4
|
-
"version": "2.5.
|
|
4
|
+
"version": "2.5.13",
|
|
5
5
|
"description": "Rewrite the legacy page-content Tailwind class to overflow-auto p-content-space, invent p-content-space on high-confidence Asset Home/Site Home/Admin content shells, and remove now-redundant bottom-inset classes.",
|
|
6
6
|
"implementation": "./migrations/p-content-space-codemod/orchestrator"
|
|
7
7
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@trackunit/iris-app",
|
|
3
|
-
"version": "2.5.
|
|
3
|
+
"version": "2.5.24",
|
|
4
4
|
"license": "SEE LICENSE IN LICENSE.txt",
|
|
5
5
|
"main": "src/index.js",
|
|
6
6
|
"generators": "./generators.json",
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"node": ">=24.x"
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"@trackunit/css-classname-utils": "0.0.
|
|
13
|
+
"@trackunit/css-classname-utils": "0.0.22",
|
|
14
14
|
"@typescript-eslint/types": "8.58.1",
|
|
15
15
|
"@typescript-eslint/typescript-estree": "8.58.1",
|
|
16
16
|
"pacote": "^21.0.4",
|
|
@@ -26,10 +26,10 @@
|
|
|
26
26
|
"@nx/react": "23.1.0",
|
|
27
27
|
"@npmcli/arborist": "^9.1.9",
|
|
28
28
|
"win-ca": "^3.5.1",
|
|
29
|
-
"@trackunit/iris-app-build-utilities": "2.4.
|
|
30
|
-
"@trackunit/react-graphql-tools": "1.
|
|
31
|
-
"@trackunit/shared-utils": "1.16.
|
|
32
|
-
"@trackunit/iris-app-api": "2.4.
|
|
29
|
+
"@trackunit/iris-app-build-utilities": "2.4.23",
|
|
30
|
+
"@trackunit/react-graphql-tools": "1.17.3",
|
|
31
|
+
"@trackunit/shared-utils": "1.16.22",
|
|
32
|
+
"@trackunit/iris-app-api": "2.4.17",
|
|
33
33
|
"tslib": "^2.6.2",
|
|
34
34
|
"@clack/prompts": "^1.0.0",
|
|
35
35
|
"@npm/types": "^1.0.2",
|
|
@@ -39,7 +39,11 @@ async function getAccessToken(env) {
|
|
|
39
39
|
tokenParams.append("client_id", clientId);
|
|
40
40
|
tokenParams.append("client_secret", clientSecret);
|
|
41
41
|
tokenParams.append("grant_type", "client_credentials");
|
|
42
|
-
|
|
42
|
+
const scopes = ["core.iris.app.publish_for_all_accounts"];
|
|
43
|
+
if (process.env.TU_APPROVE === "true") {
|
|
44
|
+
scopes.push("core.iris.app.approve");
|
|
45
|
+
}
|
|
46
|
+
tokenParams.append("scope", scopes.join(" "));
|
|
43
47
|
const tokenResponse = await fetch(`${settings.internalAuthorizationServerBaseUrl}/v1/token`, {
|
|
44
48
|
method: "POST",
|
|
45
49
|
body: tokenParams,
|
|
@@ -20,19 +20,20 @@ nx g @trackunit/iris-app:ai-agent-sync
|
|
|
20
20
|
|
|
21
21
|
```mermaid
|
|
22
22
|
flowchart TD
|
|
23
|
-
A[Run ai-agent-sync generator] -->
|
|
24
|
-
B --> C{Skip version check?}
|
|
23
|
+
A[Run ai-agent-sync generator] --> C{Skip version check?}
|
|
25
24
|
C -->|Yes| G[Sync AI agent files]
|
|
26
25
|
C -->|No| D[Get installed SDK version]
|
|
27
26
|
D --> E[Fetch latest SDK version from npm]
|
|
28
27
|
E --> F{SDK up to date?}
|
|
29
28
|
F -->|Yes| G
|
|
30
29
|
F -->|No| H[❌ Error: SDK outdated]
|
|
31
|
-
H --> I[Show commands to
|
|
32
|
-
I --> J["1. {pm}
|
|
30
|
+
H --> I[Show commands to upgrade]
|
|
31
|
+
I --> J["1. {pm} add -D @trackunit/migrations<br>2. nx g @trackunit/migrations:migrate<br>3. nx g @trackunit/migrations:run-migrations<br>4. Run generator again"]
|
|
33
32
|
G --> K[✅ Done]
|
|
34
33
|
```
|
|
35
34
|
|
|
35
|
+
Upgrading `@trackunit/*` dependencies is not this generator's job — `@trackunit/migrations:migrate` owns that, and it upgrades every `@trackunit/*` dependency whether or not the package ships codemods.
|
|
36
|
+
|
|
36
37
|
## Options
|
|
37
38
|
|
|
38
39
|
| Option | Type | Default | Description |
|
|
@@ -4,13 +4,12 @@ exports.aiAgentSyncGenerator = aiAgentSyncGenerator;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const devkit_1 = require("@nx/devkit");
|
|
6
6
|
const devkit_exports_1 = require("nx/src/devkit-exports");
|
|
7
|
-
const pacote = tslib_1.__importStar(require("pacote"));
|
|
8
7
|
const path = tslib_1.__importStar(require("path"));
|
|
9
8
|
const semver = tslib_1.__importStar(require("semver"));
|
|
9
|
+
const get_package_manifest_1 = require("../utils/get-package-manifest");
|
|
10
10
|
const link_claude_skills_1 = require("../utils/link-claude-skills");
|
|
11
11
|
const IRIS_APP_PACKAGE = "@trackunit/iris-app";
|
|
12
|
-
const
|
|
13
|
-
const UPDATE_SCRIPT_CMD = 'npx npm-check-updates "/@trackunit/" -u';
|
|
12
|
+
const MIGRATIONS_PACKAGE = "@trackunit/migrations";
|
|
14
13
|
function getStringValue(obj, key) {
|
|
15
14
|
if (typeof obj === "object" && obj !== null && key in obj) {
|
|
16
15
|
const value = obj[key];
|
|
@@ -33,30 +32,28 @@ function getInstalledSdkVersion(tree) {
|
|
|
33
32
|
* Fetches the latest version of @trackunit/iris-app from npm
|
|
34
33
|
*/
|
|
35
34
|
async function getLatestSdkVersion() {
|
|
36
|
-
const manifest = await
|
|
35
|
+
const manifest = await (0, get_package_manifest_1.getPackageManifest)(IRIS_APP_PACKAGE);
|
|
37
36
|
return manifest.version;
|
|
38
37
|
}
|
|
39
38
|
/**
|
|
40
|
-
*
|
|
39
|
+
* The single supported way to bring every @trackunit/* dependency up to date.
|
|
40
|
+
* The install of the migrations package is spelled out because a workspace that
|
|
41
|
+
* has never upgraded does not have it, and without it the generator cannot be
|
|
42
|
+
* resolved at all.
|
|
41
43
|
*/
|
|
42
|
-
function
|
|
43
|
-
(0,
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
}
|
|
50
|
-
return pkgJson;
|
|
51
|
-
});
|
|
44
|
+
function upgradeInstructions() {
|
|
45
|
+
const pmc = (0, devkit_exports_1.getPackageManagerCommand)((0, devkit_exports_1.detectPackageManager)());
|
|
46
|
+
return [
|
|
47
|
+
` ${pmc.addDev} ${MIGRATIONS_PACKAGE} # only needed once`,
|
|
48
|
+
` ${pmc.exec} nx g ${MIGRATIONS_PACKAGE}:migrate`,
|
|
49
|
+
` ${pmc.exec} nx g ${MIGRATIONS_PACKAGE}:run-migrations`,
|
|
50
|
+
].join("\n");
|
|
52
51
|
}
|
|
53
52
|
/**
|
|
54
53
|
* Syncs Cursor skills, AGENTS.md, CLAUDE.md, and AI agent configuration files.
|
|
55
54
|
* Requires the SDK to be at the latest version before running.
|
|
56
55
|
*/
|
|
57
56
|
async function aiAgentSyncGenerator(tree, options) {
|
|
58
|
-
// Always ensure the update script exists
|
|
59
|
-
ensureUpdateScript(tree);
|
|
60
57
|
// Check SDK version unless skipped
|
|
61
58
|
if (!options.skipVersionCheck) {
|
|
62
59
|
const installedVersion = getInstalledSdkVersion(tree);
|
|
@@ -66,12 +63,9 @@ async function aiAgentSyncGenerator(tree, options) {
|
|
|
66
63
|
}
|
|
67
64
|
const installed = semver.minVersion(installedVersion);
|
|
68
65
|
if (!installed || semver.lt(installed, latestVersion)) {
|
|
69
|
-
const pm = (0, devkit_exports_1.detectPackageManager)();
|
|
70
|
-
const pmCmd = (0, devkit_exports_1.getPackageManagerCommand)(pm);
|
|
71
66
|
throw new Error(`${IRIS_APP_PACKAGE} is outdated (installed: ${installedVersion}, latest: ${latestVersion}).\n\n` +
|
|
72
|
-
`
|
|
73
|
-
|
|
74
|
-
` ${pmCmd.install}\n\n` +
|
|
67
|
+
`Upgrade every @trackunit/* dependency first:\n` +
|
|
68
|
+
`${upgradeInstructions()}\n\n` +
|
|
75
69
|
`Then run this generator again.`);
|
|
76
70
|
}
|
|
77
71
|
}
|
|
@@ -6,6 +6,7 @@ const devkit_1 = require("@nx/devkit");
|
|
|
6
6
|
const js_1 = require("@nx/js");
|
|
7
7
|
const react_1 = require("@nx/react");
|
|
8
8
|
const path_1 = tslib_1.__importDefault(require("path"));
|
|
9
|
+
const get_package_manifest_1 = require("../utils/get-package-manifest");
|
|
9
10
|
const link_claude_skills_1 = require("../utils/link-claude-skills");
|
|
10
11
|
/**
|
|
11
12
|
* Preset generator for Iris apps workspace.
|
|
@@ -44,17 +45,14 @@ async function presetGenerator(tree, options) {
|
|
|
44
45
|
tsconfig.compilerOptions.moduleResolution = "bundler";
|
|
45
46
|
return tsconfig;
|
|
46
47
|
});
|
|
48
|
+
// Ships the generator that upgrades every @trackunit/* dependency, so a new
|
|
49
|
+
// workspace can run the documented upgrade flow without installing it first.
|
|
50
|
+
const migrationsVersion = (await (0, get_package_manifest_1.getPackageManifest)("@trackunit/migrations")).version;
|
|
47
51
|
(0, devkit_1.addDependenciesToPackageJson)(tree, {
|
|
48
52
|
react: "19.0.0",
|
|
49
53
|
"react-dom": "19.0.0",
|
|
50
|
-
}, {
|
|
51
|
-
|
|
52
|
-
(0, devkit_1.updateJson)(tree, "package.json", (pkgJson) => {
|
|
53
|
-
if (!pkgJson.scripts) {
|
|
54
|
-
pkgJson.scripts = {};
|
|
55
|
-
}
|
|
56
|
-
pkgJson.scripts["update:trackunit"] = 'npx npm-check-updates "/@trackunit/" -u';
|
|
57
|
-
return pkgJson;
|
|
54
|
+
}, {
|
|
55
|
+
"@trackunit/migrations": migrationsVersion,
|
|
58
56
|
});
|
|
59
57
|
// This react generator adds react 19 and react-dom 19 to the package.json if we don't add react 18 above.
|
|
60
58
|
const initReact = await (0, react_1.reactInitGenerator)(tree, {});
|