@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.12",
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.21-alpha-3e7014314a8.0",
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.23-alpha-3e7014314a8.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.20-alpha-3e7014314a8.0",
30
- "@trackunit/react-graphql-tools": "1.16.4-alpha-3e7014314a8.0",
31
- "@trackunit/shared-utils": "1.16.23-alpha-3e7014314a8.0",
32
- "@trackunit/iris-app-api": "2.4.14-alpha-3e7014314a8.0",
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
- tokenParams.append("scope", "core.iris.app.publish_for_all_accounts");
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] --> B[Ensure update:trackunit script exists]
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 update]
32
- I --> J["1. {pm} run update:trackunit<br>2. {pm} install<br>3. Run generator again"]
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 UPDATE_SCRIPT_NAME = "update:trackunit";
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 pacote.manifest(IRIS_APP_PACKAGE);
35
+ const manifest = await (0, get_package_manifest_1.getPackageManifest)(IRIS_APP_PACKAGE);
37
36
  return manifest.version;
38
37
  }
39
38
  /**
40
- * Ensures the update:trackunit script exists in package.json
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 ensureUpdateScript(tree) {
43
- (0, devkit_1.updateJson)(tree, "package.json", pkgJson => {
44
- if (!pkgJson.scripts) {
45
- pkgJson.scripts = {};
46
- }
47
- if (!pkgJson.scripts[UPDATE_SCRIPT_NAME]) {
48
- pkgJson.scripts[UPDATE_SCRIPT_NAME] = UPDATE_SCRIPT_CMD;
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
- `Run the following commands first:\n` +
73
- ` ${pmCmd.run(UPDATE_SCRIPT_NAME)}\n` +
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
- // Add update script for @trackunit packages
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, {});