From 21422e0db4935bca7b80b8fd733de5dec324a9aa Mon Sep 17 00:00:00 2001 From: Andrey Sobolev Date: Fri, 10 Oct 2025 19:31:41 +0700 Subject: [PATCH] Update prettier and new update-deps script Prettier + svelte support --- common/config/rush/pnpm-lock.yaml | 132 ++++++++- common/config/rush/version-policies.json | 82 +++--- common/scripts/package.json | 2 +- packages/measurements-otlp/CHANGELOG.json | 17 ++ packages/measurements-otlp/CHANGELOG.md | 9 + packages/measurements-otlp/package.json | 2 +- packages/measurements/CHANGELOG.json | 17 ++ packages/measurements/CHANGELOG.md | 9 + packages/measurements/package.json | 2 +- packages/platform-rig/CHANGELOG.json | 17 ++ packages/platform-rig/CHANGELOG.md | 11 + packages/platform-rig/bin/update-deps.js | 335 ++++++++++++++++++++++ packages/platform-rig/package.json | 9 +- packages/postgres-base/CHANGELOG.json | 17 ++ packages/postgres-base/CHANGELOG.md | 9 + packages/postgres-base/package.json | 2 +- 16 files changed, 623 insertions(+), 49 deletions(-) create mode 100644 packages/measurements-otlp/CHANGELOG.json create mode 100644 packages/measurements-otlp/CHANGELOG.md create mode 100644 packages/measurements/CHANGELOG.json create mode 100644 packages/measurements/CHANGELOG.md create mode 100644 packages/platform-rig/CHANGELOG.json create mode 100644 packages/platform-rig/CHANGELOG.md create mode 100755 packages/platform-rig/bin/update-deps.js create mode 100644 packages/postgres-base/CHANGELOG.json create mode 100644 packages/postgres-base/CHANGELOG.md diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index 4c71f5ed3c..a66d711c27 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -116,8 +116,14 @@ importers: specifier: ^6.1.1 version: 6.6.0(eslint@8.57.1) prettier: - specifier: ^3.1.0 + specifier: ^3.6.2 version: 3.6.2 + prettier-plugin-svelte: + specifier: ^3.4.0 + version: 3.4.0(prettier@3.6.2)(svelte@4.2.20) + svelte: + specifier: ^4.2.20 + version: 4.2.20 typescript: specifier: ^5.9.3 version: 5.9.3 @@ -152,6 +158,10 @@ importers: packages: + '@ampproject/remapping@2.3.0': + resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} + engines: {node: '>=6.0.0'} + '@babel/code-frame@7.27.1': resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==} engines: {node: '>=6.9.0'} @@ -1172,6 +1182,9 @@ packages: '@types/connect@3.4.38': resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} + '@types/estree@1.0.8': + resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} + '@types/graceful-fs@4.1.9': resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==} @@ -1335,6 +1348,10 @@ packages: argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + aria-query@5.3.2: + resolution: {integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==} + engines: {node: '>= 0.4'} + array-buffer-byte-length@1.0.2: resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==} engines: {node: '>= 0.4'} @@ -1371,6 +1388,10 @@ packages: resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} engines: {node: '>= 0.4'} + axobject-query@4.1.0: + resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==} + engines: {node: '>= 0.4'} + babel-jest@29.7.0: resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -1488,6 +1509,9 @@ packages: resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} + code-red@1.0.4: + resolution: {integrity: sha512-7qJWqItLA8/VPVlKJlFXU+NBlo/qyfs39aJcuMT/2ere32ZqvF5OSxgdM5xOfJJ7O429gg2HM47y8v9P+9wrNw==} + collect-v8-coverage@1.0.2: resolution: {integrity: sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==} @@ -1513,6 +1537,10 @@ packages: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} + css-tree@2.3.1: + resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} + data-view-buffer@1.0.2: resolution: {integrity: sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==} engines: {node: '>= 0.4'} @@ -1756,6 +1784,9 @@ packages: resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} engines: {node: '>=4.0'} + estree-walker@3.0.3: + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} + esutils@2.0.3: resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} engines: {node: '>=0.10.0'} @@ -2081,6 +2112,9 @@ packages: resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} engines: {node: '>=8'} + is-reference@3.0.3: + resolution: {integrity: sha512-ixkJoqQvAP88E6wLydLGGqCJsrFUnqoH6HnaczB8XmDH1oaWU+xxdptvikTgaEhtZ53Ky6YXiBuUI2WXLMCwjw==} + is-regex@1.2.1: resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==} engines: {node: '>= 0.4'} @@ -2341,6 +2375,9 @@ packages: lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + locate-character@3.0.0: + resolution: {integrity: sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==} + locate-path@5.0.0: resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} engines: {node: '>=8'} @@ -2364,6 +2401,9 @@ packages: lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + magic-string@0.30.19: + resolution: {integrity: sha512-2N21sPY9Ws53PZvsEpVtNuSW+ScYbQdp4b9qUaL+9QkHUrGFKo56Lg9Emg5s9V/qrtNBmiR01sYhUOwu3H+VOw==} + make-dir@4.0.0: resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} engines: {node: '>=10'} @@ -2378,6 +2418,9 @@ packages: resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} engines: {node: '>= 0.4'} + mdn-data@2.0.30: + resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} + merge-stream@2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} @@ -2524,6 +2567,9 @@ packages: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} + periscopic@3.1.0: + resolution: {integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==} + pg-int8@1.0.1: resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==} engines: {node: '>=4.0.0'} @@ -2578,6 +2624,12 @@ packages: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} + prettier-plugin-svelte@3.4.0: + resolution: {integrity: sha512-pn1ra/0mPObzqoIQn/vUTR3ZZI6UuZ0sHqMK5x2jMLGrs53h0sXhkVuDcrlssHwIMk7FYrMjHBPoUSyyEEDlBQ==} + peerDependencies: + prettier: ^3.0.0 + svelte: ^3.2.0 || ^4.0.0-next.0 || ^5.0.0-next.0 + prettier@3.6.2: resolution: {integrity: sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==} engines: {node: '>=14'} @@ -2732,6 +2784,10 @@ packages: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} + source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} + engines: {node: '>=0.10.0'} + source-map-support@0.5.13: resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==} @@ -2802,6 +2858,10 @@ packages: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} + svelte@4.2.20: + resolution: {integrity: sha512-eeEgGc2DtiUil5ANdtd8vPwt9AgaMdnuUFnPft9F5oMvU/FHu5IHFic+p1dR/UOB7XU2mX2yHW+NcTch4DCh5Q==} + engines: {node: '>=16'} + test-exclude@6.0.0: resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} engines: {node: '>=8'} @@ -3002,6 +3062,11 @@ packages: snapshots: + '@ampproject/remapping@2.3.0': + dependencies: + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.30 + '@babel/code-frame@7.27.1': dependencies: '@babel/helper-validator-identifier': 7.27.1 @@ -4296,6 +4361,8 @@ snapshots: dependencies: '@types/node': 22.18.1 + '@types/estree@1.0.8': {} + '@types/graceful-fs@4.1.9': dependencies: '@types/node': 22.18.1 @@ -4489,6 +4556,8 @@ snapshots: argparse@2.0.1: {} + aria-query@5.3.2: {} + array-buffer-byte-length@1.0.2: dependencies: call-bound: 1.0.4 @@ -4547,6 +4616,8 @@ snapshots: dependencies: possible-typed-array-names: 1.1.0 + axobject-query@4.1.0: {} + babel-jest@29.7.0(@babel/core@7.28.4): dependencies: '@babel/core': 7.28.4 @@ -4698,6 +4769,14 @@ snapshots: co@4.6.0: {} + code-red@1.0.4: + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 + '@types/estree': 1.0.8 + acorn: 8.15.0 + estree-walker: 3.0.3 + periscopic: 3.1.0 + collect-v8-coverage@1.0.2: {} color-convert@2.0.1: @@ -4731,6 +4810,11 @@ snapshots: shebang-command: 2.0.0 which: 2.0.2 + css-tree@2.3.1: + dependencies: + mdn-data: 2.0.30 + source-map-js: 1.2.1 + data-view-buffer@1.0.2: dependencies: call-bound: 1.0.4 @@ -5090,6 +5174,10 @@ snapshots: estraverse@5.3.0: {} + estree-walker@3.0.3: + dependencies: + '@types/estree': 1.0.8 + esutils@2.0.3: {} execa@5.1.1: @@ -5448,6 +5536,10 @@ snapshots: is-path-inside@3.0.3: {} + is-reference@3.0.3: + dependencies: + '@types/estree': 1.0.8 + is-regex@1.2.1: dependencies: call-bound: 1.0.4 @@ -5894,6 +5986,8 @@ snapshots: lines-and-columns@1.2.4: {} + locate-character@3.0.0: {} + locate-path@5.0.0: dependencies: p-locate: 4.1.0 @@ -5914,6 +6008,10 @@ snapshots: dependencies: yallist: 3.1.1 + magic-string@0.30.19: + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 + make-dir@4.0.0: dependencies: semver: 7.7.2 @@ -5926,6 +6024,8 @@ snapshots: math-intrinsics@1.1.0: {} + mdn-data@2.0.30: {} + merge-stream@2.0.0: {} merge2@1.4.1: {} @@ -6064,6 +6164,12 @@ snapshots: path-type@4.0.0: {} + periscopic@3.1.0: + dependencies: + '@types/estree': 1.0.8 + estree-walker: 3.0.3 + is-reference: 3.0.3 + pg-int8@1.0.1: {} pg-protocol@1.10.3: {} @@ -6102,6 +6208,11 @@ snapshots: prelude-ls@1.2.1: {} + prettier-plugin-svelte@3.4.0(prettier@3.6.2)(svelte@4.2.20): + dependencies: + prettier: 3.6.2 + svelte: 4.2.20 + prettier@3.6.2: {} pretty-format@29.7.0: @@ -6285,6 +6396,8 @@ snapshots: slash@3.0.0: {} + source-map-js@1.2.1: {} + source-map-support@0.5.13: dependencies: buffer-from: 1.1.2 @@ -6359,6 +6472,23 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} + svelte@4.2.20: + dependencies: + '@ampproject/remapping': 2.3.0 + '@jridgewell/sourcemap-codec': 1.5.5 + '@jridgewell/trace-mapping': 0.3.30 + '@types/estree': 1.0.8 + acorn: 8.15.0 + aria-query: 5.3.2 + axobject-query: 4.1.0 + code-red: 1.0.4 + css-tree: 2.3.1 + estree-walker: 3.0.3 + is-reference: 3.0.3 + locate-character: 3.0.0 + magic-string: 0.30.19 + periscopic: 3.1.0 + test-exclude@6.0.0: dependencies: '@istanbuljs/schema': 0.1.3 diff --git a/common/config/rush/version-policies.json b/common/config/rush/version-policies.json index d03b73a3b6..4520f52c5f 100644 --- a/common/config/rush/version-policies.json +++ b/common/config/rush/version-policies.json @@ -20,21 +20,21 @@ // * SemVer range is usually restricted to a single version. // */ // "definitionName": "lockStepVersion", - // + // // /** // * (Required) The name that will be used for the "versionPolicyName" field in rush.json. // * This name is also used command-line parameters such as "--version-policy" // * and "--to-version-policy". // */ // "policyName": "MyBigFramework", - // + // // /** // * (Required) The current version. All packages belonging to the set should have this version // * in the current branch. When bumping versions, Rush uses this to determine the next version. // * (The "version" field in package.json is NOT considered.) // */ // "version": "1.0.0", - // + // // /** // * (Required) The type of bump that will be performed when publishing the next release. // * When creating a release branch in Git, this field should be updated according to the @@ -43,7 +43,7 @@ // * Valid values are: "prerelease", "preminor", "minor", "patch", "major" // */ // "nextBump": "prerelease", - // + // // /** // * (Optional) If specified, all packages in the set share a common CHANGELOG.md file. // * This file is stored with the specified "main" project, which must be a member of the set. @@ -52,7 +52,7 @@ // * package in the set. // */ // "mainProject": "my-app", - // + // // /** // * (Optional) If enabled, the "rush change" command will prompt the user for their email address // * and include it in the JSON change files. If an organization maintains multiple repos, tracking @@ -63,40 +63,40 @@ // */ // // "includeEmailInChangeFile": true // }, - // - // { - // /** - // * (Required) Indicates the kind of version policy being defined ("lockStepVersion" or "individualVersion"). - // * - // * The "individualVersion" mode specifies that the projects will use "individual versioning". - // * This is the typical NPM model where each package has an independent version number - // * and CHANGELOG.md file. Although a single CI definition is responsible for publishing the - // * packages, they otherwise don't have any special relationship. The version bumping will - // * depend on how developers answer the "rush change" questions for each package that - // * is changed. - // */ - // "definitionName": "individualVersion", - // - // "policyName": "MyRandomLibraries", - // - // /** - // * (Optional) This can be used to enforce that all packages in the set must share a common - // * major version number, e.g. because they are from the same major release branch. - // * It can also be used to discourage people from accidentally making "MAJOR" SemVer changes - // * inappropriately. The minor/patch version parts will be bumped independently according - // * to the types of changes made to each project, according to the "rush change" command. - // */ - // "lockedMajor": 3, - // - // /** - // * (Optional) When publishing is managed by Rush, by default the "rush change" command will - // * request changes for any projects that are modified by a pull request. These change entries - // * will produce a CHANGELOG.md file. If you author your CHANGELOG.md manually or announce updates - // * in some other way, set "exemptFromRushChange" to true to tell "rush change" to ignore the projects - // * belonging to this version policy. - // */ - // "exemptFromRushChange": false, - // - // // "includeEmailInChangeFile": true - // } + // + { + /** + * (Required) Indicates the kind of version policy being defined ("lockStepVersion" or "individualVersion"). + * + * The "individualVersion" mode specifies that the projects will use "individual versioning". + * This is the typical NPM model where each package has an independent version number + * and CHANGELOG.md file. Although a single CI definition is responsible for publishing the + * packages, they otherwise don't have any special relationship. The version bumping will + * depend on how developers answer the "rush change" questions for each package that + * is changed. + */ + "definitionName": "individualVersion", + + "policyName": "huly.utils", + + /** + * (Optional) This can be used to enforce that all packages in the set must share a common + * major version number, e.g. because they are from the same major release branch. + * It can also be used to discourage people from accidentally making "MAJOR" SemVer changes + * inappropriately. The minor/patch version parts will be bumped independently according + * to the types of changes made to each project, according to the "rush change" command. + */ + "lockedMajor": 0, + + /** + * (Optional) When publishing is managed by Rush, by default the "rush change" command will + * request changes for any projects that are modified by a pull request. These change entries + * will produce a CHANGELOG.md file. If you author your CHANGELOG.md manually or announce updates + * in some other way, set "exemptFromRushChange" to true to tell "rush change" to ignore the projects + * belonging to this version policy. + */ + "exemptFromRushChange": false + + // "includeEmailInChangeFile": true + } ] diff --git a/common/scripts/package.json b/common/scripts/package.json index 0fceb28c27..c9e8c21511 100644 --- a/common/scripts/package.json +++ b/common/scripts/package.json @@ -5,7 +5,7 @@ "format": "echo \"No format specified\"" }, "devDependencies": { - "@hcengineering/platform-rig": "workspace:^0.7.10" + "@hcengineering/platform-rig": "workspace:^0.7.11" }, "private": true } diff --git a/packages/measurements-otlp/CHANGELOG.json b/packages/measurements-otlp/CHANGELOG.json new file mode 100644 index 0000000000..07533eb4ef --- /dev/null +++ b/packages/measurements-otlp/CHANGELOG.json @@ -0,0 +1,17 @@ +{ + "name": "@hcengineering/measurements-otlp", + "entries": [ + { + "version": "0.7.10", + "tag": "@hcengineering/measurements-otlp_v0.7.10", + "date": "Fri, 10 Oct 2025 12:32:59 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@hcengineering/platform-rig\" from `^0.7.10` to `0.7.11`" + } + ] + } + } + ] +} diff --git a/packages/measurements-otlp/CHANGELOG.md b/packages/measurements-otlp/CHANGELOG.md new file mode 100644 index 0000000000..69185c1289 --- /dev/null +++ b/packages/measurements-otlp/CHANGELOG.md @@ -0,0 +1,9 @@ +# Change Log - @hcengineering/measurements-otlp + +This log was last generated on Fri, 10 Oct 2025 12:32:59 GMT and should not be manually modified. + +## 0.7.10 +Fri, 10 Oct 2025 12:32:59 GMT + +_Initial release_ + diff --git a/packages/measurements-otlp/package.json b/packages/measurements-otlp/package.json index 009c6489f6..6629bff49e 100644 --- a/packages/measurements-otlp/package.json +++ b/packages/measurements-otlp/package.json @@ -27,7 +27,7 @@ "_phase:validate": "compile validate" }, "devDependencies": { - "@hcengineering/platform-rig": "workspace:^0.7.10", + "@hcengineering/platform-rig": "workspace:^0.7.11", "jest": "^29.7.0", "ts-jest": "^29.1.1", "@types/jest": "^29.5.5" diff --git a/packages/measurements/CHANGELOG.json b/packages/measurements/CHANGELOG.json new file mode 100644 index 0000000000..ff042fd1e9 --- /dev/null +++ b/packages/measurements/CHANGELOG.json @@ -0,0 +1,17 @@ +{ + "name": "@hcengineering/measurements", + "entries": [ + { + "version": "0.7.10", + "tag": "@hcengineering/measurements_v0.7.10", + "date": "Fri, 10 Oct 2025 12:32:59 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@hcengineering/platform-rig\" from `^0.7.10` to `0.7.11`" + } + ] + } + } + ] +} diff --git a/packages/measurements/CHANGELOG.md b/packages/measurements/CHANGELOG.md new file mode 100644 index 0000000000..fa46e9c0ea --- /dev/null +++ b/packages/measurements/CHANGELOG.md @@ -0,0 +1,9 @@ +# Change Log - @hcengineering/measurements + +This log was last generated on Fri, 10 Oct 2025 12:32:59 GMT and should not be manually modified. + +## 0.7.10 +Fri, 10 Oct 2025 12:32:59 GMT + +_Initial release_ + diff --git a/packages/measurements/package.json b/packages/measurements/package.json index 1dcb9b6731..beed045d3e 100644 --- a/packages/measurements/package.json +++ b/packages/measurements/package.json @@ -27,7 +27,7 @@ "_phase:validate": "compile validate" }, "devDependencies": { - "@hcengineering/platform-rig": "workspace:^0.7.10", + "@hcengineering/platform-rig": "workspace:^0.7.11", "jest": "^29.7.0", "ts-jest": "^29.1.1", "@types/jest": "^29.5.5" diff --git a/packages/platform-rig/CHANGELOG.json b/packages/platform-rig/CHANGELOG.json new file mode 100644 index 0000000000..e3a49bfc16 --- /dev/null +++ b/packages/platform-rig/CHANGELOG.json @@ -0,0 +1,17 @@ +{ + "name": "@hcengineering/platform-rig", + "entries": [ + { + "version": "0.7.11", + "tag": "@hcengineering/platform-rig_v0.7.11", + "date": "Fri, 10 Oct 2025 12:32:59 GMT", + "comments": { + "patch": [ + { + "comment": "Bump prettier and enable svelte" + } + ] + } + } + ] +} diff --git a/packages/platform-rig/CHANGELOG.md b/packages/platform-rig/CHANGELOG.md new file mode 100644 index 0000000000..d492d68eee --- /dev/null +++ b/packages/platform-rig/CHANGELOG.md @@ -0,0 +1,11 @@ +# Change Log - @hcengineering/platform-rig + +This log was last generated on Fri, 10 Oct 2025 12:32:59 GMT and should not be manually modified. + +## 0.7.11 +Fri, 10 Oct 2025 12:32:59 GMT + +### Patches + +- Bump prettier and enable svelte + diff --git a/packages/platform-rig/bin/update-deps.js b/packages/platform-rig/bin/update-deps.js new file mode 100755 index 0000000000..1db163629b --- /dev/null +++ b/packages/platform-rig/bin/update-deps.js @@ -0,0 +1,335 @@ +#!/usr/bin/env node +// +// Copyright Ā© 2025 Hardcore Engineering Inc. +// +// Script to check and update @hcengineering/* dependencies across all Rush packages +// + +const fs = require('fs') +const path = require('path') +const https = require('https') +const { execSync } = require('child_process') + +const SCOPE = '@hcengineering/' + +/** + * Get list of Rush projects using 'rush list --json' + */ +function getRushProjects() { + try { + const output = execSync('rush list --json', { + encoding: 'utf-8', + stdio: ['pipe', 'pipe', 'pipe'] + }) + + const data = JSON.parse(output) + + // rush list --json returns { projects: [...] } + const projects = data.projects || data + + if (!Array.isArray(projects)) { + throw new Error('Expected rush list --json to return an array of projects') + } + + return projects + } catch (err) { + if (err.message.includes('rush') || err.code === 'ENOENT') { + throw new Error('Failed to run "rush list --json". Make sure you are in a Rush workspace and Rush is installed.') + } + throw new Error(`Failed to get Rush projects: ${err.message}`) + } +} + +/** + * Get the workspace root from rush list output + */ +function getWorkspaceRoot(projects) { + if (projects.length === 0) { + return process.cwd() + } + + // Use fullPath from rush list output + const firstProject = projects[0] + if (firstProject.fullPath && firstProject.path) { + // Remove the relative path part from the full path to get workspace root + return firstProject.fullPath.replace(new RegExp(firstProject.path + '$'), '') + } + + // Fallback: find rush.json + let currentDir = process.cwd() + while (currentDir !== '/') { + const rushJsonPath = path.join(currentDir, 'rush.json') + if (fs.existsSync(rushJsonPath)) { + return currentDir + } + currentDir = path.dirname(currentDir) + } + + throw new Error('Could not determine workspace root') +} + +/** + * Get the latest version of a package from npm registry + */ +function getLatestVersion(packageName) { + return new Promise((resolve, reject) => { + const url = `https://registry.npmjs.org/${packageName}/latest` + + https + .get(url, (res) => { + let data = '' + + res.on('data', (chunk) => { + data += chunk + }) + + res.on('end', () => { + if (res.statusCode === 200) { + try { + const parsed = JSON.parse(data) + resolve(parsed.version) + } catch (err) { + reject(new Error(`Failed to parse response for ${packageName}: ${err.message}`)) + } + } else if (res.statusCode === 404) { + resolve(null) // Package not found in registry + } else { + reject(new Error(`HTTP ${res.statusCode} for ${packageName}`)) + } + }) + }) + .on('error', (err) => { + reject(err) + }) + }) +} + +/** + * Compare versions (simple semver comparison) + */ +function isNewerVersion(current, latest) { + // Remove workspace: prefix and version operators + current = current.replace(/^workspace:|[\^~><=]/g, '') + + const currentParts = current.split('.').map(Number) + const latestParts = latest.split('.').map(Number) + + for (let i = 0; i < 3; i++) { + if (latestParts[i] > currentParts[i]) return true + if (latestParts[i] < currentParts[i]) return false + } + + return false +} + +/** + * Check and update @hcengineering dependencies in a package.json + */ +async function updatePackageDependencies(project, latestVersions, dryRun = false) { + // Use fullPath from rush list output + const packageJsonPath = project.fullPath ? path.join(project.fullPath, 'package.json') : null + + if (!packageJsonPath || !fs.existsSync(packageJsonPath)) { + return 0 + } + + const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf-8')) + const packageName = packageJson.name + let hasChanges = false + const changes = [] + + const dependencyTypes = ['dependencies', 'devDependencies', 'peerDependencies', 'optionalDependencies'] + + for (const depType of dependencyTypes) { + const deps = packageJson[depType] + if (!deps) continue + + for (const [depName, currentVersion] of Object.entries(deps)) { + if (!depName.startsWith(SCOPE)) continue + + // Skip workspace dependencies + if (currentVersion.startsWith('workspace:')) { + continue + } + + const latestVersion = latestVersions[depName] + + if (!latestVersion) { + console.log(` āš ļø ${depName}: not found in npm registry (current: ${currentVersion})`) + continue + } + + if (isNewerVersion(currentVersion, latestVersion)) { + const prefix = currentVersion.match(/^[\^~]/)?.[0] || '^' + const newVersion = `${prefix}${latestVersion}` + + changes.push({ + depType, + depName, + oldVersion: currentVersion, + newVersion + }) + + if (!dryRun) { + deps[depName] = newVersion + hasChanges = true + } + } + } + } + + if (changes.length > 0) { + console.log(`\nšŸ“¦ ${packageName}`) + for (const change of changes) { + console.log(` āœ“ ${change.depName}: ${change.oldVersion} → ${change.newVersion} (${change.depType})`) + } + + if (!dryRun && hasChanges) { + fs.writeFileSync(packageJsonPath, JSON.stringify(packageJson, null, 2) + '\n', 'utf-8') + } + } + + return changes.length +} + +/** + * Get all @hcengineering packages and their latest versions + */ +async function fetchLatestVersions(projects) { + const packageNames = new Set() + + // Collect all @hcengineering package names from all projects + for (const project of projects) { + const packageJsonPath = project.fullPath ? path.join(project.fullPath, 'package.json') : null + if (!packageJsonPath || !fs.existsSync(packageJsonPath)) continue + + const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf-8')) + const dependencyTypes = ['dependencies', 'devDependencies', 'peerDependencies', 'optionalDependencies'] + + for (const depType of dependencyTypes) { + const deps = packageJson[depType] + if (!deps) continue + + for (const depName of Object.keys(deps)) { + if (depName.startsWith(SCOPE)) { + packageNames.add(depName) + } + } + } + } + + console.log(`\nšŸ” Checking latest versions for ${packageNames.size} @hcengineering packages...\n`) + + const latestVersions = {} + const promises = Array.from(packageNames).map(async (packageName) => { + try { + const version = await getLatestVersion(packageName) + if (version) { + latestVersions[packageName] = version + console.log(` āœ“ ${packageName}@${version}`) + } else { + console.log(` āš ļø ${packageName}: not found in registry`) + } + } catch (err) { + console.error(` āœ— ${packageName}: ${err.message}`) + } + }) + + await Promise.all(promises) + + return latestVersions +} + +/** + * Main function + */ +async function main() { + const args = process.argv.slice(2) + + // Show help + if (args.includes('--help') || args.includes('-h')) { + console.log(` +Rush @hcengineering Dependencies Updater + +Usage: + update-hcengineering-deps [options] + +Options: + --dry-run, -n Check for updates without modifying files + --help, -h Show this help message + +Description: + This script checks all Rush packages for @hcengineering/* dependencies + and updates them to the latest versions available in npm registry. + + Workspace dependencies (using 'workspace:' protocol) are never modified. + +Examples: + # Check for updates (dry run) + update-hcengineering-deps --dry-run + + # Apply updates + update-hcengineering-deps + +After updating: + 1. Run 'rush update' to update lockfiles + 2. Run 'rush build' to verify builds + 3. Test your changes +`) + return + } + + const dryRun = args.includes('--dry-run') || args.includes('-n') + + console.log('šŸš€ Rush @hcengineering Dependencies Updater\n') + + // Get Rush projects using 'rush list --json' + const projects = getRushProjects() + const workspaceRoot = getWorkspaceRoot(projects) + + console.log(`Workspace: ${workspaceRoot}`) + console.log(`Mode: ${dryRun ? 'DRY RUN (no changes will be made)' : 'UPDATE'}`) + console.log(`Found ${projects.length} projects`) + + // Fetch latest versions from npm + const latestVersions = await fetchLatestVersions(projects) + + if (Object.keys(latestVersions).length === 0) { + console.log('\nāš ļø No @hcengineering packages found in npm registry') + return + } + + console.log('\n' + '='.repeat(80)) + console.log('Checking for updates...') + console.log('='.repeat(80)) + + // Update each project's dependencies + let totalUpdates = 0 + for (const project of projects) { + const updates = await updatePackageDependencies(project, latestVersions, dryRun) + totalUpdates += updates + } + + console.log('\n' + '='.repeat(80)) + + if (totalUpdates === 0) { + console.log('āœ… All @hcengineering dependencies are up to date!') + } else { + if (dryRun) { + console.log(`\nšŸ“Š Found ${totalUpdates} potential update(s)`) + console.log('\nRun without --dry-run flag to apply changes') + } else { + console.log(`\nāœ… Updated ${totalUpdates} dependency version(s)`) + console.log('\nšŸ’” Next steps:') + console.log(' 1. Run: rush update') + console.log(' 2. Run: rush build') + console.log(' 3. Test your changes') + } + } +} + +// Run the script +main().catch((err) => { + console.error('\nāŒ Error:', err.message) + process.exit(1) +}) diff --git a/packages/platform-rig/package.json b/packages/platform-rig/package.json index 1a30c5bfbf..ede8259ed6 100644 --- a/packages/platform-rig/package.json +++ b/packages/platform-rig/package.json @@ -1,6 +1,6 @@ { "name": "@hcengineering/platform-rig", - "version": "0.7.10", + "version": "0.7.11", "scripts": { "build": "echo 'Not required'", "format": "echo 'Not required'" @@ -20,14 +20,17 @@ "eslint": "^8.54.0", "@typescript-eslint/parser": "^6.11.0", "eslint-config-standard-with-typescript": "^40.0.0", - "prettier": "^3.1.0" + "prettier": "^3.6.2", + "prettier-plugin-svelte": "^3.4.0", + "svelte": "^4.2.20" }, "bin": { "format": "./bin/format.js", "compile": "./bin/compile.js", "do-svelte-check": "./bin/do-svelte-check.js", "bump-package-version": "./bin/bump-package-version.js", - "bump-changes-from-tag": "./bin/bump-changes-from-tag.js" + "bump-changes-from-tag": "./bin/bump-changes-from-tag.js", + "update-deps": "./bin/update-hcengineering-deps.js" }, "publishConfig": { "access": "public" diff --git a/packages/postgres-base/CHANGELOG.json b/packages/postgres-base/CHANGELOG.json new file mode 100644 index 0000000000..ff2eeec02d --- /dev/null +++ b/packages/postgres-base/CHANGELOG.json @@ -0,0 +1,17 @@ +{ + "name": "@hcengineering/postgres-base", + "entries": [ + { + "version": "0.7.10", + "tag": "@hcengineering/postgres-base_v0.7.10", + "date": "Fri, 10 Oct 2025 12:32:59 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@hcengineering/platform-rig\" from `^0.7.10` to `0.7.11`" + } + ] + } + } + ] +} diff --git a/packages/postgres-base/CHANGELOG.md b/packages/postgres-base/CHANGELOG.md new file mode 100644 index 0000000000..dd559eb1e2 --- /dev/null +++ b/packages/postgres-base/CHANGELOG.md @@ -0,0 +1,9 @@ +# Change Log - @hcengineering/postgres-base + +This log was last generated on Fri, 10 Oct 2025 12:32:59 GMT and should not be manually modified. + +## 0.7.10 +Fri, 10 Oct 2025 12:32:59 GMT + +_Initial release_ + diff --git a/packages/postgres-base/package.json b/packages/postgres-base/package.json index 06fcbc7352..97ad02ce83 100644 --- a/packages/postgres-base/package.json +++ b/packages/postgres-base/package.json @@ -28,7 +28,7 @@ "_phase:validate": "compile validate" }, "devDependencies": { - "@hcengineering/platform-rig": "workspace:^0.7.10", + "@hcengineering/platform-rig": "workspace:^0.7.11", "jest": "^29.7.0", "ts-jest": "^29.1.1", "@types/jest": "^29.5.5",