@trackunit/iris-app-build-utilities 1.12.49 → 1.12.50

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,10 @@
1
+ ## 1.12.50 (2026-02-26)
2
+
3
+ ### 🧱 Updated Dependencies
4
+
5
+ - Updated iris-app-api to 1.14.45
6
+ - Updated shared-utils to 1.13.45
7
+
1
8
  ## 1.12.49 (2026-02-25)
2
9
 
3
10
  ### 🧱 Updated Dependencies
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@trackunit/iris-app-build-utilities",
3
- "version": "1.12.49",
3
+ "version": "1.12.50",
4
4
  "license": "SEE LICENSE IN LICENSE.txt",
5
5
  "repository": "https://github.com/Trackunit/manager",
6
6
  "engines": {
@@ -15,9 +15,9 @@
15
15
  "tslib": "^2.6.2",
16
16
  "csp-header": "^5.2.1",
17
17
  "@rspack/core": "1.6.7",
18
- "@trackunit/iris-app-api": "1.14.44",
18
+ "@trackunit/iris-app-api": "1.14.45",
19
19
  "@nx/devkit": "22.4.4",
20
- "@trackunit/shared-utils": "1.13.44",
20
+ "@trackunit/shared-utils": "1.13.45",
21
21
  "http-proxy-middleware": "3.0.5",
22
22
  "pacote": "^21.0.4",
23
23
  "semver": "7.5.4"
@@ -12,19 +12,26 @@ export declare const versionCheck: (pkg: string, localRange: string, range: stri
12
12
  * @param pkg package to look for.
13
13
  * @returns { Promise<string> } returns version
14
14
  */
15
- export declare const getLatestRemoteVersion: (pkg: string) => Promise<string>;
15
+ export declare const getLatestRemoteVersion: (pkg: string, throwError?: boolean) => Promise<string | undefined>;
16
16
  /**
17
17
  * Check if the current version of the package is the same as the one in the manager.
18
18
  *
19
19
  * @param {string} managerNxVersion version of nx in the manager
20
20
  * @returns { boolean} true if its a valid version
21
21
  */
22
- export declare function checkNxVersion(managerNxVersion: string, throwError?: boolean): Promise<boolean>;
22
+ export declare const checkNxVersion: (managerNxVersion: string, throwError?: boolean) => Promise<boolean>;
23
23
  /**
24
+ * Check if the current version of the trackunit packages is the same as the one in the manager.
24
25
  *
26
+ * @param {Record<string, string>} dependencies - The dependencies to check.
27
+ * @param {boolean} throwError - Whether to throw an error if the version is not the same.
28
+ * @returns {Promise<boolean>} true if the versions are the same.
25
29
  */
26
- export declare function checkTrackunitPackages(dependencies: Record<string, string>, throwError?: boolean): Promise<boolean>;
30
+ export declare const checkTrackunitPackages: (dependencies: Record<string, string>, throwError?: boolean) => Promise<boolean>;
27
31
  /**
32
+ * Check if the current version of the packages is the same as the one in the manager.
28
33
  *
34
+ * @param {boolean} throwError - Whether to throw an error if the version is not the same.
35
+ * @returns {Promise<boolean>} true if the versions are the same.
29
36
  */
30
- export declare function checkPackageVersion(throwError?: boolean): Promise<boolean>;
37
+ export declare const checkPackageVersion: (throwError?: boolean) => Promise<boolean>;
@@ -1,9 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getLatestRemoteVersion = exports.versionCheck = void 0;
4
- exports.checkNxVersion = checkNxVersion;
5
- exports.checkTrackunitPackages = checkTrackunitPackages;
6
- exports.checkPackageVersion = checkPackageVersion;
3
+ exports.checkPackageVersion = exports.checkTrackunitPackages = exports.checkNxVersion = exports.getLatestRemoteVersion = exports.versionCheck = void 0;
7
4
  const tslib_1 = require("tslib");
8
5
  const devkit_1 = require("@nx/devkit");
9
6
  const shared_utils_1 = require("@trackunit/shared-utils");
@@ -40,14 +37,17 @@ exports.versionCheck = versionCheck;
40
37
  * @param pkg package to look for.
41
38
  * @returns { Promise<string> } returns version
42
39
  */
43
- const getLatestRemoteVersion = async (pkg) => {
40
+ const getLatestRemoteVersion = async (pkg, throwError = true) => {
44
41
  try {
45
42
  const manifest = await pacote.manifest(pkg);
46
43
  return manifest.version;
47
44
  }
48
45
  catch (error) {
49
- throw new Error(`Error fetching manifest for package ${pkg}. This package might need to be published, or it has been included as a dependency by mistake.`);
46
+ if (throwError) {
47
+ throw new Error(`Error fetching manifest for package ${pkg}. This package might need to be published, or it has been included as a dependency by mistake.`);
48
+ }
50
49
  }
50
+ return undefined;
51
51
  };
52
52
  exports.getLatestRemoteVersion = getLatestRemoteVersion;
53
53
  /**
@@ -56,18 +56,23 @@ exports.getLatestRemoteVersion = getLatestRemoteVersion;
56
56
  * @param {string} managerNxVersion version of nx in the manager
57
57
  * @returns { boolean} true if its a valid version
58
58
  */
59
- async function checkNxVersion(managerNxVersion, throwError = true) {
59
+ const checkNxVersion = async (managerNxVersion, throwError = true) => {
60
60
  const currentNxVersion = (0, child_process_1.execSync)("nx --version")
61
61
  .toString("utf-8")
62
62
  .replace(/\r?\n|\r/, ""); // regex removes any line breaks
63
63
  return (0, exports.versionCheck)("nx", currentNxVersion, managerNxVersion, throwError);
64
- }
64
+ };
65
+ exports.checkNxVersion = checkNxVersion;
65
66
  /**
67
+ * Check if the current version of the trackunit packages is the same as the one in the manager.
66
68
  *
69
+ * @param {Record<string, string>} dependencies - The dependencies to check.
70
+ * @param {boolean} throwError - Whether to throw an error if the version is not the same.
71
+ * @returns {Promise<boolean>} true if the versions are the same.
67
72
  */
68
- async function checkTrackunitPackages(dependencies, throwError = true) {
73
+ const checkTrackunitPackages = async (dependencies, throwError = true) => {
69
74
  for (const key in dependencies) {
70
- const remoteVersion = await (0, exports.getLatestRemoteVersion)(key);
75
+ const remoteVersion = await (0, exports.getLatestRemoteVersion)(key, throwError);
71
76
  if (remoteVersion) {
72
77
  const localDependencyVersion = dependencies[key];
73
78
  // If @trackunit dependencies are linked/added locally using "file:", skip the version check, used for E2E tests.
@@ -77,7 +82,8 @@ async function checkTrackunitPackages(dependencies, throwError = true) {
77
82
  }
78
83
  }
79
84
  return true;
80
- }
85
+ };
86
+ exports.checkTrackunitPackages = checkTrackunitPackages;
81
87
  function getLibraries() {
82
88
  const packageJsonLocal = (0, devkit_1.readJsonFile)("package.json");
83
89
  const trackunitDependencies = (0, shared_utils_1.objectFromEntries)(Object.entries(packageJsonLocal.dependencies || {}).filter(([key]) => key.startsWith("@trackunit/")));
@@ -85,14 +91,18 @@ function getLibraries() {
85
91
  return { trackunitDependencies, trackunitDevDependencies };
86
92
  }
87
93
  /**
94
+ * Check if the current version of the packages is the same as the one in the manager.
88
95
  *
96
+ * @param {boolean} throwError - Whether to throw an error if the version is not the same.
97
+ * @returns {Promise<boolean>} true if the versions are the same.
89
98
  */
90
- async function checkPackageVersion(throwError = true) {
99
+ const checkPackageVersion = async (throwError = true) => {
91
100
  const { trackunitDependencies, trackunitDevDependencies } = getLibraries();
92
101
  // const managerNxVersion = version.managerNxVersion;
93
102
  // await checkNxVersion(managerNxVersion, throwError);
94
- await checkTrackunitPackages(trackunitDependencies, throwError);
95
- await checkTrackunitPackages(trackunitDevDependencies, throwError);
103
+ await (0, exports.checkTrackunitPackages)(trackunitDependencies, throwError);
104
+ await (0, exports.checkTrackunitPackages)(trackunitDevDependencies, throwError);
96
105
  return true;
97
- }
106
+ };
107
+ exports.checkPackageVersion = checkPackageVersion;
98
108
  //# sourceMappingURL=checkPackageVersion.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"checkPackageVersion.js","sourceRoot":"","sources":["../../../../../libs/iris-app-sdk/iris-app-build-utilities/src/checkPackageVersion.ts"],"names":[],"mappings":";;;AAqDA,wCAKC;AAKD,wDAYC;AAgBD,kDAOC;;AAlGD,uCAA0C;AAC1C,0DAA4D;AAC5D,iDAAyC;AACzC,uDAAiC;AACjC,uDAAiC;AAEjC;;;;;;GAMG;AACI,MAAM,YAAY,GAAG,CAAC,GAAW,EAAE,UAAkB,EAAE,KAAa,EAAE,UAAU,GAAG,IAAI,EAAE,EAAE;IAChG,MAAM,YAAY,GAAG,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,CAAC,wBAAwB;IAC1F,MAAM,aAAa,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,gEAAgE;IAEzH,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC;QAC3C,MAAM,GAAG,GAAG,YAAY,GAAG,+BAA+B,KAAK,mBAAmB,UAAU,kDAAkD,GAAG,IAAI,KAAK,6FAA6F,CAAC;QACxP,IAAI,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,UAAU,EAAE,CAAC;YAC3E,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;QACvB,CAAC;aAAM,CAAC;YACN,sCAAsC;YACtC,OAAO,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC;YACjC,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAfW,QAAA,YAAY,gBAevB;AAEF;;;;;GAKG;AACI,MAAM,sBAAsB,GAAG,KAAK,EAAE,GAAW,EAAE,EAAE;IAC1D,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC5C,OAAO,QAAQ,CAAC,OAAO,CAAC;IAC1B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,uCAAuC,GAAG,gGAAgG,CAC3I,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AATW,QAAA,sBAAsB,0BASjC;AAEF;;;;;GAKG;AACI,KAAK,UAAU,cAAc,CAAC,gBAAwB,EAAE,UAAU,GAAG,IAAI;IAC9E,MAAM,gBAAgB,GAAG,IAAA,wBAAQ,EAAC,cAAc,CAAC;SAC9C,QAAQ,CAAC,OAAO,CAAC;SACjB,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,gCAAgC;IAC5D,OAAO,IAAA,oBAAY,EAAC,IAAI,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,UAAU,CAAC,CAAC;AAC5E,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,sBAAsB,CAAC,YAAoC,EAAE,UAAU,GAAG,IAAI;IAClG,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;QAC/B,MAAM,aAAa,GAAuB,MAAM,IAAA,8BAAsB,EAAC,GAAG,CAAC,CAAC;QAC5E,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,sBAAsB,GAAuB,YAAY,CAAC,GAAG,CAAC,CAAC;YACrE,iHAAiH;YACjH,IAAI,sBAAsB,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBACxE,IAAA,oBAAY,EAAC,GAAG,EAAE,sBAAsB,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,YAAY;IACnB,MAAM,gBAAgB,GAAoD,IAAA,qBAAY,EAAC,cAAc,CAAC,CAAC;IACvG,MAAM,qBAAqB,GAAG,IAAA,gCAAiB,EAC7C,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CACrG,CAAC;IACF,MAAM,wBAAwB,GAAG,IAAA,gCAAiB,EAChD,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CACxG,CAAC;IACF,OAAO,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,CAAC;AAC7D,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,mBAAmB,CAAC,UAAU,GAAG,IAAI;IACzD,MAAM,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,GAAG,YAAY,EAAE,CAAC;IAC3E,qDAAqD;IACrD,sDAAsD;IACtD,MAAM,sBAAsB,CAAC,qBAAqB,EAAE,UAAU,CAAC,CAAC;IAChE,MAAM,sBAAsB,CAAC,wBAAwB,EAAE,UAAU,CAAC,CAAC;IACnE,OAAO,IAAI,CAAC;AACd,CAAC","sourcesContent":["import { readJsonFile } from \"@nx/devkit\";\nimport { objectFromEntries } from \"@trackunit/shared-utils\";\nimport { execSync } from \"child_process\";\nimport * as pacote from \"pacote\";\nimport * as semver from \"semver\";\n\n/**\n *\n * @param pkg package to look for.\n * @param localRange local version of the package.\n * @param range range\n * @returns { boolean } true if its a valid version\n */\nexport const versionCheck = (pkg: string, localRange: string, range: string, throwError = true) => {\n const localVersion = semver.minVersion(localRange) ?? localRange; // ('^1.0.0') => '1.0.0'\n const remoteVersion = semver.minVersion(range) ?? range; // Assume range is in a format that semver.minVersion can handle\n\n if (!semver.satisfies(localVersion, range)) {\n const msg = `Package \"${pkg}\" outdated. Remote Version: ${range} Local version: ${localRange}. 👈\\n Update package using command: \\n npm i ${pkg}@${range}\\n ...or to update all trackunit dependencies: \\n npx npm-check-updates \"/@trackunit/\" -u`;\n if (semver.major(localVersion) < semver.major(remoteVersion) && throwError) {\n throw new Error(msg);\n } else {\n // eslint-disable-next-line no-console\n console.warn(\"⚠️ \" + msg + \"\\n\");\n return true;\n }\n }\n return true;\n};\n\n/**\n * Get the latest version of the package from the registry.\n *\n * @param pkg package to look for.\n * @returns { Promise<string> } returns version\n */\nexport const getLatestRemoteVersion = async (pkg: string) => {\n try {\n const manifest = await pacote.manifest(pkg);\n return manifest.version;\n } catch (error) {\n throw new Error(\n `Error fetching manifest for package ${pkg}. This package might need to be published, or it has been included as a dependency by mistake.`\n );\n }\n};\n\n/**\n * Check if the current version of the package is the same as the one in the manager.\n *\n * @param {string} managerNxVersion version of nx in the manager\n * @returns { boolean} true if its a valid version\n */\nexport async function checkNxVersion(managerNxVersion: string, throwError = true) {\n const currentNxVersion = execSync(\"nx --version\")\n .toString(\"utf-8\")\n .replace(/\\r?\\n|\\r/, \"\"); // regex removes any line breaks\n return versionCheck(\"nx\", currentNxVersion, managerNxVersion, throwError);\n}\n\n/**\n *\n */\nexport async function checkTrackunitPackages(dependencies: Record<string, string>, throwError = true) {\n for (const key in dependencies) {\n const remoteVersion: string | undefined = await getLatestRemoteVersion(key);\n if (remoteVersion) {\n const localDependencyVersion: string | undefined = dependencies[key];\n // If @trackunit dependencies are linked/added locally using \"file:\", skip the version check, used for E2E tests.\n if (localDependencyVersion && !localDependencyVersion.includes(\"file:\")) {\n versionCheck(key, localDependencyVersion, remoteVersion, throwError);\n }\n }\n }\n return true;\n}\n\nfunction getLibraries() {\n const packageJsonLocal: Record<string, string | Record<string, string>> = readJsonFile(\"package.json\");\n const trackunitDependencies = objectFromEntries(\n Object.entries(packageJsonLocal.dependencies || {}).filter(([key]) => key.startsWith(\"@trackunit/\"))\n );\n const trackunitDevDependencies = objectFromEntries(\n Object.entries(packageJsonLocal.devDependencies || {}).filter(([key]) => key.startsWith(\"@trackunit/\"))\n );\n return { trackunitDependencies, trackunitDevDependencies };\n}\n\n/**\n *\n */\nexport async function checkPackageVersion(throwError = true) {\n const { trackunitDependencies, trackunitDevDependencies } = getLibraries();\n // const managerNxVersion = version.managerNxVersion;\n // await checkNxVersion(managerNxVersion, throwError);\n await checkTrackunitPackages(trackunitDependencies, throwError);\n await checkTrackunitPackages(trackunitDevDependencies, throwError);\n return true;\n}\n"]}
1
+ {"version":3,"file":"checkPackageVersion.js","sourceRoot":"","sources":["../../../../../libs/iris-app-sdk/iris-app-build-utilities/src/checkPackageVersion.ts"],"names":[],"mappings":"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","sourcesContent":["import { readJsonFile } from \"@nx/devkit\";\nimport { objectFromEntries } from \"@trackunit/shared-utils\";\nimport { execSync } from \"child_process\";\nimport * as pacote from \"pacote\";\nimport * as semver from \"semver\";\n\n/**\n *\n * @param pkg package to look for.\n * @param localRange local version of the package.\n * @param range range\n * @returns { boolean } true if its a valid version\n */\nexport const versionCheck = (pkg: string, localRange: string, range: string, throwError = true) => {\n const localVersion = semver.minVersion(localRange) ?? localRange; // ('^1.0.0') => '1.0.0'\n const remoteVersion = semver.minVersion(range) ?? range; // Assume range is in a format that semver.minVersion can handle\n\n if (!semver.satisfies(localVersion, range)) {\n const msg = `Package \"${pkg}\" outdated. Remote Version: ${range} Local version: ${localRange}. 👈\\n Update package using command: \\n npm i ${pkg}@${range}\\n ...or to update all trackunit dependencies: \\n npx npm-check-updates \"/@trackunit/\" -u`;\n if (semver.major(localVersion) < semver.major(remoteVersion) && throwError) {\n throw new Error(msg);\n } else {\n // eslint-disable-next-line no-console\n console.warn(\"⚠️ \" + msg + \"\\n\");\n return true;\n }\n }\n return true;\n};\n\n/**\n * Get the latest version of the package from the registry.\n *\n * @param pkg package to look for.\n * @returns { Promise<string> } returns version\n */\nexport const getLatestRemoteVersion = async (pkg: string, throwError = true): Promise<string | undefined> => {\n try {\n const manifest = await pacote.manifest(pkg);\n return manifest.version;\n } catch (error) {\n if (throwError) {\n throw new Error(\n `Error fetching manifest for package ${pkg}. This package might need to be published, or it has been included as a dependency by mistake.`\n );\n }\n }\n return undefined;\n};\n\n/**\n * Check if the current version of the package is the same as the one in the manager.\n *\n * @param {string} managerNxVersion version of nx in the manager\n * @returns { boolean} true if its a valid version\n */\nexport const checkNxVersion = async (managerNxVersion: string, throwError = true): Promise<boolean> => {\n const currentNxVersion = execSync(\"nx --version\")\n .toString(\"utf-8\")\n .replace(/\\r?\\n|\\r/, \"\"); // regex removes any line breaks\n return versionCheck(\"nx\", currentNxVersion, managerNxVersion, throwError);\n}\n\n/**\n * Check if the current version of the trackunit packages is the same as the one in the manager.\n *\n * @param {Record<string, string>} dependencies - The dependencies to check.\n * @param {boolean} throwError - Whether to throw an error if the version is not the same.\n * @returns {Promise<boolean>} true if the versions are the same.\n */\nexport const checkTrackunitPackages = async (dependencies: Record<string, string>, throwError = true): Promise<boolean> => {\n for (const key in dependencies) {\n const remoteVersion: string | undefined = await getLatestRemoteVersion(key, throwError);\n if (remoteVersion) {\n const localDependencyVersion: string | undefined = dependencies[key];\n // If @trackunit dependencies are linked/added locally using \"file:\", skip the version check, used for E2E tests.\n if (localDependencyVersion && !localDependencyVersion.includes(\"file:\")) {\n versionCheck(key, localDependencyVersion, remoteVersion, throwError);\n }\n }\n }\n return true;\n}\n\nfunction getLibraries() {\n const packageJsonLocal: Record<string, string | Record<string, string>> = readJsonFile(\"package.json\");\n const trackunitDependencies = objectFromEntries(\n Object.entries(packageJsonLocal.dependencies || {}).filter(([key]) => key.startsWith(\"@trackunit/\"))\n );\n const trackunitDevDependencies = objectFromEntries(\n Object.entries(packageJsonLocal.devDependencies || {}).filter(([key]) => key.startsWith(\"@trackunit/\"))\n );\n return { trackunitDependencies, trackunitDevDependencies };\n}\n\n/**\n * Check if the current version of the packages is the same as the one in the manager.\n * \n * @param {boolean} throwError - Whether to throw an error if the version is not the same.\n * @returns {Promise<boolean>} true if the versions are the same.\n */\n export const checkPackageVersion = async (throwError = true): Promise<boolean> => {\n const { trackunitDependencies, trackunitDevDependencies } = getLibraries();\n // const managerNxVersion = version.managerNxVersion;\n // await checkNxVersion(managerNxVersion, throwError);\n await checkTrackunitPackages(trackunitDependencies, throwError);\n await checkTrackunitPackages(trackunitDevDependencies, throwError);\n return true;\n }\n"]}