diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index 6145db6184..6f762d74cc 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -13,7 +13,7 @@ importers: ../../packages/measurements: devDependencies: '@hcengineering/platform-rig': - specifier: workspace:^0.7.16 + specifier: workspace:^0.7.17 version: link:../platform-rig '@types/jest': specifier: ^29.5.5 @@ -98,7 +98,7 @@ importers: version: 2.1.0(@opentelemetry/api@1.9.0) devDependencies: '@hcengineering/platform-rig': - specifier: workspace:^0.7.16 + specifier: workspace:^0.7.17 version: link:../platform-rig '@types/jest': specifier: ^29.5.5 @@ -177,9 +177,9 @@ importers: version: 4.2.20 svelte-preprocess: specifier: ^5.1.3 - version: 5.1.4(@babel/core@7.28.4)(svelte@4.2.20)(typescript@5.9.3) + version: 5.1.4(@babel/core@7.28.4)(sass@1.93.2)(svelte@4.2.20)(typescript@5.9.3) svelte2tsx: - specifier: ^0.7.25 + specifier: ^0.7.45 version: 0.7.45(svelte@4.2.20)(typescript@5.9.3) typescript: specifier: ^5.9.3 @@ -192,7 +192,7 @@ importers: version: 3.4.7 devDependencies: '@hcengineering/platform-rig': - specifier: workspace:^0.7.16 + specifier: workspace:^0.7.17 version: link:../platform-rig '@types/jest': specifier: ^29.5.5 @@ -231,10 +231,65 @@ importers: specifier: ^29.1.1 version: 29.4.1(@babel/core@7.28.4)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.28.4))(jest-util@29.7.0)(jest@29.7.0(@types/node@22.18.1))(typescript@5.9.3) + ../../packages/ui-test: + dependencies: + svelte: + specifier: ^4.2.20 + version: 4.2.20 + devDependencies: + '@hcengineering/platform-rig': + specifier: workspace:^0.7.17 + version: link:../platform-rig + '@types/jest': + specifier: ^29.5.5 + version: 29.5.14 + '@types/node': + specifier: ^22.15.29 + version: 22.18.1 + '@typescript-eslint/eslint-plugin': + specifier: ^6.21.0 + version: 6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.9.3))(eslint@8.57.1)(typescript@5.9.3) + '@typescript-eslint/parser': + specifier: ^6.21.0 + version: 6.21.0(eslint@8.57.1)(typescript@5.9.3) + eslint: + specifier: ^8.54.0 + version: 8.57.1 + eslint-config-standard-with-typescript: + specifier: ^40.0.0 + version: 40.0.0(@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.9.3))(eslint@8.57.1)(typescript@5.9.3))(eslint-plugin-import@2.32.0(eslint@8.57.1))(eslint-plugin-n@15.7.0(eslint@8.57.1))(eslint-plugin-promise@6.6.0(eslint@8.57.1))(eslint@8.57.1)(typescript@5.9.3) + eslint-plugin-import: + specifier: ^2.26.0 + version: 2.32.0(eslint@8.57.1) + eslint-plugin-n: + specifier: ^15.4.0 + version: 15.7.0(eslint@8.57.1) + eslint-plugin-node: + specifier: ^11.1.0 + version: 11.1.0(eslint@8.57.1) + eslint-plugin-promise: + specifier: ^6.1.1 + version: 6.6.0(eslint@8.57.1) + jest: + specifier: ^29.7.0 + version: 29.7.0(@types/node@22.18.1) + sass: + specifier: ^1.53.0 + version: 1.93.2 + svelte-loader: + specifier: ^3.2.0 + version: 3.2.4(svelte@4.2.20) + svelte-preprocess: + specifier: ^5.1.3 + version: 5.1.4(@babel/core@7.28.4)(sass@1.93.2)(svelte@4.2.20)(typescript@5.9.3) + ts-jest: + specifier: ^29.1.1 + version: 29.4.1(@babel/core@7.28.4)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.28.4))(jest-util@29.7.0)(jest@29.7.0(@types/node@22.18.1))(typescript@5.9.3) + ../scripts: devDependencies: '@hcengineering/platform-rig': - specifier: workspace:^0.7.16 + specifier: workspace:^0.7.17 version: link:../../packages/platform-rig '@typescript-eslint/eslint-plugin': specifier: ^6.21.0 @@ -1221,6 +1276,88 @@ packages: peerDependencies: '@opentelemetry/api': ^1.1.0 + '@parcel/watcher-android-arm64@2.5.1': + resolution: {integrity: sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [android] + + '@parcel/watcher-darwin-arm64@2.5.1': + resolution: {integrity: sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [darwin] + + '@parcel/watcher-darwin-x64@2.5.1': + resolution: {integrity: sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [darwin] + + '@parcel/watcher-freebsd-x64@2.5.1': + resolution: {integrity: sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [freebsd] + + '@parcel/watcher-linux-arm-glibc@2.5.1': + resolution: {integrity: sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==} + engines: {node: '>= 10.0.0'} + cpu: [arm] + os: [linux] + + '@parcel/watcher-linux-arm-musl@2.5.1': + resolution: {integrity: sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==} + engines: {node: '>= 10.0.0'} + cpu: [arm] + os: [linux] + + '@parcel/watcher-linux-arm64-glibc@2.5.1': + resolution: {integrity: sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [linux] + + '@parcel/watcher-linux-arm64-musl@2.5.1': + resolution: {integrity: sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [linux] + + '@parcel/watcher-linux-x64-glibc@2.5.1': + resolution: {integrity: sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [linux] + + '@parcel/watcher-linux-x64-musl@2.5.1': + resolution: {integrity: sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [linux] + + '@parcel/watcher-win32-arm64@2.5.1': + resolution: {integrity: sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [win32] + + '@parcel/watcher-win32-ia32@2.5.1': + resolution: {integrity: sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==} + engines: {node: '>= 10.0.0'} + cpu: [ia32] + os: [win32] + + '@parcel/watcher-win32-x64@2.5.1': + resolution: {integrity: sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [win32] + + '@parcel/watcher@2.5.1': + resolution: {integrity: sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==} + engines: {node: '>= 10.0.0'} + '@protobufjs/aspromise@1.1.2': resolution: {integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==} @@ -1525,6 +1662,9 @@ packages: balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + big.js@5.2.2: + resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==} + bignumber.js@9.3.1: resolution: {integrity: sha512-Ko0uX15oIUS7wJ3Rb30Fs6SkVbLmPBAKdlm7q9+ak9bbIeFf0MwuBsQV6z7+X768/cHsfg+WlysDWJcmthjsjQ==} @@ -1603,6 +1743,10 @@ packages: resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} engines: {node: '>= 8.10.0'} + chokidar@4.0.3: + resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} + engines: {node: '>= 14.16.0'} + ci-info@3.9.0: resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} engines: {node: '>=8'} @@ -1704,6 +1848,11 @@ packages: resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} engines: {node: '>=8'} + detect-libc@1.0.3: + resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==} + engines: {node: '>=0.10'} + hasBin: true + detect-newline@3.1.0: resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} engines: {node: '>=8'} @@ -1738,6 +1887,10 @@ packages: emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + emojis-list@3.0.0: + resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==} + engines: {node: '>= 4'} + error-ex@1.3.2: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} @@ -2140,6 +2293,9 @@ packages: resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} + immutable@5.1.3: + resolution: {integrity: sha512-+chQdDfvscSF1SJqv2gn4SRO2ZyS3xL3r7IW/wWEEzrzLisnOlKiQu5ytC/BVNcS15C39WT2Hg/bjKjDMcu+zg==} + import-fresh@3.3.1: resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} engines: {node: '>=6'} @@ -2513,6 +2669,10 @@ packages: lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + loader-utils@2.0.4: + resolution: {integrity: sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==} + engines: {node: '>=8.9.0'} + locate-character@3.0.0: resolution: {integrity: sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==} @@ -2604,6 +2764,9 @@ packages: neo-async@2.6.2: resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} + node-addon-api@7.1.1: + resolution: {integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==} + node-fetch@2.7.0: resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} engines: {node: 4.x || >=6.0.0} @@ -2810,6 +2973,10 @@ packages: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} + readdirp@4.1.2: + resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} + engines: {node: '>= 14.18.0'} + reflect.getprototypeof@1.0.10: resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==} engines: {node: '>= 0.4'} @@ -2883,6 +3050,11 @@ packages: sander@0.5.1: resolution: {integrity: sha512-3lVqBir7WuKDHGrKRDn/1Ye3kwpXaDOMsiRP1wd6wpZW56gJhsbp5RqQpA6JG/P+pkXizygnr1dKR8vzWaVsfA==} + sass@1.93.2: + resolution: {integrity: sha512-t+YPtOQHpGW1QWsh1CHQ5cPIr9lbbGZLZnbihP/D/qZj/yuV68m8qarcV17nvkOX81BCrvzAlq2klCQFZghyTg==} + engines: {node: '>=14.0.0'} + hasBin: true + scule@1.3.0: resolution: {integrity: sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==} @@ -3023,6 +3195,20 @@ packages: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} + svelte-dev-helper@1.1.9: + resolution: {integrity: sha512-oU+Xv7Dl4kRU2kdFjsoPLfJfnt5hUhsFUZtuzI3Ku/f2iAFZqBoEuXOqK3N9ngD4dxQOmN4OKWPHVi3NeAeAfQ==} + + svelte-hmr@0.14.12: + resolution: {integrity: sha512-4QSW/VvXuqVcFZ+RhxiR8/newmwOCTlbYIezvkeN6302YFRE8cXy0naamHcjz8Y9Ce3ITTZtrHrIL0AGfyo61w==} + engines: {node: ^12.20 || ^14.13.1 || >= 16} + peerDependencies: + svelte: '>=3.19.0' + + svelte-loader@3.2.4: + resolution: {integrity: sha512-e0HdDnkYH/MDx4/IfTSka5AOFg9yYJcPuoZJB5x0l60fkHjVjNvrrxr+rJegDG9J7ZymmdHt00/hdLw+QF299w==} + peerDependencies: + svelte: ^3.0.0 || ^4.0.0-next.0 || ^5.0.0-next.1 + svelte-preprocess@5.1.4: resolution: {integrity: sha512-IvnbQ6D6Ao3Gg6ftiM5tdbR6aAETwjhHV+UKGf5bHGYR69RQvF1ho0JKPcbUON4vy4R7zom13jPjgdOWCQ5hDA==} engines: {node: '>= 16.0.0'} @@ -4503,6 +4689,67 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 2.1.0(@opentelemetry/api@1.9.0) + '@parcel/watcher-android-arm64@2.5.1': + optional: true + + '@parcel/watcher-darwin-arm64@2.5.1': + optional: true + + '@parcel/watcher-darwin-x64@2.5.1': + optional: true + + '@parcel/watcher-freebsd-x64@2.5.1': + optional: true + + '@parcel/watcher-linux-arm-glibc@2.5.1': + optional: true + + '@parcel/watcher-linux-arm-musl@2.5.1': + optional: true + + '@parcel/watcher-linux-arm64-glibc@2.5.1': + optional: true + + '@parcel/watcher-linux-arm64-musl@2.5.1': + optional: true + + '@parcel/watcher-linux-x64-glibc@2.5.1': + optional: true + + '@parcel/watcher-linux-x64-musl@2.5.1': + optional: true + + '@parcel/watcher-win32-arm64@2.5.1': + optional: true + + '@parcel/watcher-win32-ia32@2.5.1': + optional: true + + '@parcel/watcher-win32-x64@2.5.1': + optional: true + + '@parcel/watcher@2.5.1': + dependencies: + detect-libc: 1.0.3 + is-glob: 4.0.3 + micromatch: 4.0.8 + node-addon-api: 7.1.1 + optionalDependencies: + '@parcel/watcher-android-arm64': 2.5.1 + '@parcel/watcher-darwin-arm64': 2.5.1 + '@parcel/watcher-darwin-x64': 2.5.1 + '@parcel/watcher-freebsd-x64': 2.5.1 + '@parcel/watcher-linux-arm-glibc': 2.5.1 + '@parcel/watcher-linux-arm-musl': 2.5.1 + '@parcel/watcher-linux-arm64-glibc': 2.5.1 + '@parcel/watcher-linux-arm64-musl': 2.5.1 + '@parcel/watcher-linux-x64-glibc': 2.5.1 + '@parcel/watcher-linux-x64-musl': 2.5.1 + '@parcel/watcher-win32-arm64': 2.5.1 + '@parcel/watcher-win32-ia32': 2.5.1 + '@parcel/watcher-win32-x64': 2.5.1 + optional: true + '@protobufjs/aspromise@1.1.2': {} '@protobufjs/base64@1.1.2': {} @@ -4885,6 +5132,8 @@ snapshots: balanced-match@1.0.2: {} + big.js@5.2.2: {} + bignumber.js@9.3.1: {} binary-extensions@2.3.0: {} @@ -4969,6 +5218,10 @@ snapshots: optionalDependencies: fsevents: 2.3.3 + chokidar@4.0.3: + dependencies: + readdirp: 4.1.2 + ci-info@3.9.0: {} cjs-module-lexer@1.4.3: {} @@ -5075,6 +5328,9 @@ snapshots: detect-indent@6.1.0: {} + detect-libc@1.0.3: + optional: true + detect-newline@3.1.0: {} diff-sequences@29.6.3: {} @@ -5103,6 +5359,8 @@ snapshots: emoji-regex@8.0.0: {} + emojis-list@3.0.0: {} + error-ex@1.3.2: dependencies: is-arrayish: 0.2.1 @@ -5663,6 +5921,8 @@ snapshots: ignore@5.3.2: {} + immutable@5.1.3: {} + import-fresh@3.3.1: dependencies: parent-module: 1.0.1 @@ -6226,6 +6486,12 @@ snapshots: lines-and-columns@1.2.4: {} + loader-utils@2.0.4: + dependencies: + big.js: 5.2.2 + emojis-list: 3.0.0 + json5: 2.2.3 + locate-character@3.0.0: {} locate-path@5.0.0: @@ -6301,6 +6567,9 @@ snapshots: neo-async@2.6.2: {} + node-addon-api@7.1.1: + optional: true + node-fetch@2.7.0: dependencies: whatwg-url: 5.0.0 @@ -6499,6 +6768,8 @@ snapshots: dependencies: picomatch: 2.3.1 + readdirp@4.1.2: {} + reflect.getprototypeof@1.0.10: dependencies: call-bind: 1.0.8 @@ -6587,6 +6858,14 @@ snapshots: mkdirp: 0.5.6 rimraf: 2.7.1 + sass@1.93.2: + dependencies: + chokidar: 4.0.3 + immutable: 5.1.3 + source-map-js: 1.2.1 + optionalDependencies: + '@parcel/watcher': 2.5.1 + scule@1.3.0: {} semver@6.3.1: {} @@ -6742,7 +7021,20 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} - svelte-preprocess@5.1.4(@babel/core@7.28.4)(svelte@4.2.20)(typescript@5.9.3): + svelte-dev-helper@1.1.9: {} + + svelte-hmr@0.14.12(svelte@4.2.20): + dependencies: + svelte: 4.2.20 + + svelte-loader@3.2.4(svelte@4.2.20): + dependencies: + loader-utils: 2.0.4 + svelte: 4.2.20 + svelte-dev-helper: 1.1.9 + svelte-hmr: 0.14.12(svelte@4.2.20) + + svelte-preprocess@5.1.4(@babel/core@7.28.4)(sass@1.93.2)(svelte@4.2.20)(typescript@5.9.3): dependencies: '@types/pug': 2.0.10 detect-indent: 6.1.0 @@ -6752,6 +7044,7 @@ snapshots: svelte: 4.2.20 optionalDependencies: '@babel/core': 7.28.4 + sass: 1.93.2 typescript: 5.9.3 svelte2tsx@0.7.45(svelte@4.2.20)(typescript@5.9.3): diff --git a/common/scripts/package.json b/common/scripts/package.json index 9f10550ac1..6e9ec7d22c 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.16", + "@hcengineering/platform-rig": "workspace:^0.7.17", "@typescript-eslint/eslint-plugin": "^6.21.0", "eslint-plugin-import": "^2.26.0", "eslint-plugin-promise": "^6.1.1", diff --git a/packages/measurements-otlp/package.json b/packages/measurements-otlp/package.json index 1764651662..045916b146 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.16", + "@hcengineering/platform-rig": "workspace:^0.7.17", "jest": "^29.7.0", "ts-jest": "^29.1.1", "@types/jest": "^29.5.5", diff --git a/packages/measurements/package.json b/packages/measurements/package.json index 83e47edaca..21d1751066 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.16", + "@hcengineering/platform-rig": "workspace:^0.7.17", "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 index e6c110fd25..ef6895e454 100644 --- a/packages/platform-rig/CHANGELOG.json +++ b/packages/platform-rig/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@hcengineering/platform-rig", "entries": [ + { + "version": "0.7.17", + "tag": "@hcengineering/platform-rig_v0.7.17", + "date": "Sun, 12 Oct 2025 03:31:47 GMT", + "comments": { + "patch": [ + { + "comment": "Fix svelte build" + } + ] + } + }, { "version": "0.7.16", "tag": "@hcengineering/platform-rig_v0.7.16", diff --git a/packages/platform-rig/CHANGELOG.md b/packages/platform-rig/CHANGELOG.md index 1eee7524a5..b0eb7db5e4 100644 --- a/packages/platform-rig/CHANGELOG.md +++ b/packages/platform-rig/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @hcengineering/platform-rig -This log was last generated on Sun, 12 Oct 2025 02:49:17 GMT and should not be manually modified. +This log was last generated on Sun, 12 Oct 2025 03:31:47 GMT and should not be manually modified. + +## 0.7.17 +Sun, 12 Oct 2025 03:31:47 GMT + +### Patches + +- Fix svelte build ## 0.7.16 Sun, 12 Oct 2025 02:49:17 GMT diff --git a/packages/platform-rig/bin/compile.js b/packages/platform-rig/bin/compile.js index a12563e5b8..281b979418 100755 --- a/packages/platform-rig/bin/compile.js +++ b/packages/platform-rig/bin/compile.js @@ -142,12 +142,15 @@ switch (args[0]) { collectFileStats('lib', before) collectFileStats('types', before) - Promise.all([performESBuildWithSvelte(filesToTranspile), validateTSC(), generateSvelteTypes()]).then(() => { - console.log('UI build time: ', Math.round((performance.now() - st) * 100) / 100) - collectFileStats('lib', after) - collectFileStats('types', after) - cleanNonModified(before, after) - }) + performESBuildWithSvelte(filesToTranspile) + .then(() => generateSvelteTypes()) + .then(() => validateTSC()) + .then(() => { + console.log('UI build time: ', Math.round((performance.now() - st) * 100) / 100) + collectFileStats('lib', after) + collectFileStats('types', after) + cleanNonModified(before, after) + }) break } case 'transpile': { @@ -218,6 +221,7 @@ async function performESBuildWithSvelte(filesToTranspile) { bundle: false, minify: false, outdir: 'lib', + outbase: 'src', keepNames: true, sourcemap: 'linked', allowOverwrite: true, @@ -243,6 +247,7 @@ async function performESBuildWithSvelte(filesToTranspile) { bundle: false, minify: false, outdir: 'lib', + outbase: 'src', outExtension: { '.js': '.svelte.js' }, keepNames: true, sourcemap: 'linked', @@ -304,6 +309,7 @@ async function generateSvelteTypes() { async function validateTSC(st) { const buildDir = '.validate' + const typesDir = join(process.cwd(), 'types') if (!existsSync(buildDir)) { mkdirSync(buildDir, { recursive: true }) @@ -321,11 +327,29 @@ async function validateTSC(st) { } const configFile = ts.readConfigFile(configPath, ts.sys.readFile) - const parsedConfig = ts.parseJsonConfigFileContent(configFile.config, ts.sys, process.cwd(), { + + // Prepare compiler options that include the types directory + const compilerOptionsOverride = { emitDeclarationOnly: true, incremental: true, tsBuildInfoFile: join(buildDir, 'tsBuildInfoFile.info') - }) + } + + // Add types directory to typeRoots if it exists + if (existsSync(typesDir)) { + compilerOptionsOverride.typeRoots = [ + ...(configFile.config.compilerOptions?.typeRoots || ['./node_modules/@types']), + typesDir + ] + } + + const parsedConfig = ts.parseJsonConfigFileContent(configFile.config, ts.sys, process.cwd(), compilerOptionsOverride) + + // Add generated Svelte type files to the file list + if (existsSync(typesDir)) { + const svelteTypeFiles = collectFiles(typesDir).filter((f) => f.endsWith('.svelte.d.ts')) + parsedConfig.fileNames.push(...svelteTypeFiles) + } // Create the TypeScript program const program = ts.createProgram({ diff --git a/packages/platform-rig/package.json b/packages/platform-rig/package.json index 8a01dd3072..e0c10f3aa8 100644 --- a/packages/platform-rig/package.json +++ b/packages/platform-rig/package.json @@ -1,6 +1,6 @@ { "name": "@hcengineering/platform-rig", - "version": "0.7.16", + "version": "0.7.17", "scripts": { "build": "echo 'Not required'", "format": "echo 'Not required'" @@ -16,7 +16,7 @@ "esbuild-svelte": "^0.8.2", "svelte": "^4.2.20", "svelte-preprocess": "^5.1.3", - "svelte2tsx": "^0.7.25", + "svelte2tsx": "^0.7.45", "@typescript-eslint/eslint-plugin": "^6.21.0", "eslint-plugin-import": "^2.26.0", "eslint-plugin-promise": "^6.1.1", diff --git a/packages/postgres-base/package.json b/packages/postgres-base/package.json index 7b46b5b9fc..717705bcf4 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.16", + "@hcengineering/platform-rig": "workspace:^0.7.17", "jest": "^29.7.0", "ts-jest": "^29.1.1", "@types/jest": "^29.5.5", diff --git a/packages/ui-test/.eslintignore b/packages/ui-test/.eslintignore new file mode 100644 index 0000000000..8dc69cef22 --- /dev/null +++ b/packages/ui-test/.eslintignore @@ -0,0 +1,5 @@ +lib +types +dist +node_modules +.build diff --git a/packages/ui-test/.eslintrc.js b/packages/ui-test/.eslintrc.js new file mode 100644 index 0000000000..1ff9bc7c24 --- /dev/null +++ b/packages/ui-test/.eslintrc.js @@ -0,0 +1,8 @@ +module.exports = { + extends: ['./node_modules/@hcengineering/platform-rig/profiles/node/eslint.config.json'], + parserOptions: { + tsconfigRootDir: __dirname, + project: './tsconfig.json', + extraFileExtensions: ['.svelte'] + } +} diff --git a/packages/ui-test/.npmignore b/packages/ui-test/.npmignore new file mode 100644 index 0000000000..9b083cb0c4 --- /dev/null +++ b/packages/ui-test/.npmignore @@ -0,0 +1,8 @@ +* +!/lib/** +!/types/** +!/src/** +!CHANGELOG.md +/lib/**/__test__/ +/types/**/__test__/ +/src/**/__test__/ \ No newline at end of file diff --git a/packages/ui-test/config/rig.json b/packages/ui-test/config/rig.json new file mode 100644 index 0000000000..1a4b944f83 --- /dev/null +++ b/packages/ui-test/config/rig.json @@ -0,0 +1,5 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/rig-package/rig.schema.json", + "rigPackageName": "@hcengineering/platform-rig", + "rigProfile": "ui" +} diff --git a/packages/ui-test/jest.config.js b/packages/ui-test/jest.config.js new file mode 100644 index 0000000000..2cfd408b67 --- /dev/null +++ b/packages/ui-test/jest.config.js @@ -0,0 +1,7 @@ +module.exports = { + preset: 'ts-jest', + testEnvironment: 'node', + testMatch: ['**/?(*.)+(spec|test).[jt]s?(x)'], + roots: ["./src"], + coverageReporters: ["text-summary", "html"] +} diff --git a/packages/ui-test/package.json b/packages/ui-test/package.json new file mode 100644 index 0000000000..ca9d53d921 --- /dev/null +++ b/packages/ui-test/package.json @@ -0,0 +1,59 @@ +{ + "name": "@hcengineering/ui-test", + "version": "0.7.12", + "author": "Copyright © Hardcore Engineering Inc.", + "template": "@hcengineering/node-package", + "license": "EPL-2.0", + "main": "./lib/index.js", + "types": "./types/index.d.ts", + "files": [ + "lib", + "types", + "src", + "fonts", + "styles" + ], + "exports": { + ".": { + "types": "./types/index.d.ts", + "default": "./lib/index.js" + }, + "./lang/*": "./lang/*", + "./styles/*": "./styles/*" + }, + "scripts": { + "build": "compile ui", + "build:watch": "compile ui", + "test": "jest --passWithNoTests --silent --forceExit", + "format": "format src", + "_phase:build": "compile ui", + "_phase:test": "jest --passWithNoTests --silent --forceExit", + "_phase:format": "format src", + "_phase:validate": "compile validate" + }, + "devDependencies": { + "@hcengineering/platform-rig": "workspace:^0.7.17", + "svelte-loader": "^3.2.0", + "sass": "^1.53.0", + "svelte-preprocess": "^5.1.3", + "jest": "^29.7.0", + "ts-jest": "^29.1.1", + "@types/jest": "^29.5.5", + "@types/node": "^22.15.29", + "@typescript-eslint/eslint-plugin": "^6.21.0", + "@typescript-eslint/parser": "^6.21.0", + "eslint": "^8.54.0", + "eslint-config-standard-with-typescript": "^40.0.0", + "eslint-plugin-import": "^2.26.0", + "eslint-plugin-node": "^11.1.0", + "eslint-plugin-promise": "^6.1.1", + "eslint-plugin-n": "^15.4.0" + }, + "dependencies": { + "svelte": "^4.2.20" + }, + "repository": "https://github.com/hcengineering/huly.utils", + "publishConfig": { + "access": "public" + } +} diff --git a/packages/ui-test/postcss.config.js b/packages/ui-test/postcss.config.js new file mode 100644 index 0000000000..88752c6cb0 --- /dev/null +++ b/packages/ui-test/postcss.config.js @@ -0,0 +1,5 @@ +module.exports = { + plugins: [ + require('autoprefixer') + ] +} diff --git a/packages/ui-test/src/component/Test.svelte b/packages/ui-test/src/component/Test.svelte new file mode 100644 index 0000000000..7579eba4c2 --- /dev/null +++ b/packages/ui-test/src/component/Test.svelte @@ -0,0 +1,6 @@ + + +Test component +{variable} \ No newline at end of file diff --git a/packages/ui-test/src/index.ts b/packages/ui-test/src/index.ts new file mode 100644 index 0000000000..68e17b80c9 --- /dev/null +++ b/packages/ui-test/src/index.ts @@ -0,0 +1,4 @@ +import Test from './component/Test.svelte' +export { + Test +} diff --git a/packages/ui-test/src/svelte.d.ts_ b/packages/ui-test/src/svelte.d.ts_ new file mode 100644 index 0000000000..81cd9a1388 --- /dev/null +++ b/packages/ui-test/src/svelte.d.ts_ @@ -0,0 +1,4 @@ +declare module '*.svelte' { + import { SvelteComponentTyped } from 'svelte' + export default class extends SvelteComponentTyped {} +} diff --git a/packages/ui-test/svelte.config.js b/packages/ui-test/svelte.config.js new file mode 100644 index 0000000000..944a06f73e --- /dev/null +++ b/packages/ui-test/svelte.config.js @@ -0,0 +1,5 @@ +const sveltePreprocess = require('svelte-preprocess') + +module.exports = { + preprocess: sveltePreprocess() +}; \ No newline at end of file diff --git a/packages/ui-test/tsconfig.json b/packages/ui-test/tsconfig.json new file mode 100644 index 0000000000..d815a54801 --- /dev/null +++ b/packages/ui-test/tsconfig.json @@ -0,0 +1,12 @@ +{ + "extends": "./node_modules/@hcengineering/platform-rig/profiles/ui/tsconfig.json", + + "compilerOptions": { + "rootDir": "./src", + "outDir": "./lib", + "declarationDir": "./types", + "tsBuildInfoFile": ".build/build.tsbuildinfo" + }, + "include": ["src/**/*"], + "exclude": ["node_modules", "lib", "dist", "types", "bundle"] +} diff --git a/rush.json b/rush.json index 113e70aa26..4142d81375 100644 --- a/rush.json +++ b/rush.json @@ -355,6 +355,11 @@ "packageName": "@hcengineering/postgres-base", "projectFolder": "packages/postgres-base", "shouldPublish": true + }, + { + "packageName": "@hcengineering/ui-test", + "projectFolder": "packages/ui-test", + "shouldPublish": false } ] }