Adapt local features and dependency locks for SvelteKit 3 and local12
This commit is contained in:
@@ -1,29 +1,22 @@
|
||||
# @generated - this file is auto-generated by `mise lock` https://mise.en.dev/dev-tools/mise-lock.html
|
||||
|
||||
lockfile_version = 3
|
||||
|
||||
[[tools."github:extism/cli"]]
|
||||
version = "1.6.3"
|
||||
backend = "github:extism/cli"
|
||||
specifiers = ["1.6.3"]
|
||||
|
||||
[tools."github:extism/cli"."platforms.linux-arm64"]
|
||||
checksum = "sha256:d92f830c9be39637569feacb04e9750c28848df6d9a219db94152a9b4eb9452b"
|
||||
url = "https://github.com/extism/cli/releases/download/v1.6.3/extism-v1.6.3-linux-arm64.tar.gz"
|
||||
url_api = "https://api.github.com/repos/extism/cli/releases/assets/275694030"
|
||||
|
||||
[tools."github:extism/cli"."platforms.linux-arm64-musl"]
|
||||
checksum = "sha256:d92f830c9be39637569feacb04e9750c28848df6d9a219db94152a9b4eb9452b"
|
||||
url = "https://github.com/extism/cli/releases/download/v1.6.3/extism-v1.6.3-linux-arm64.tar.gz"
|
||||
url_api = "https://api.github.com/repos/extism/cli/releases/assets/275694030"
|
||||
|
||||
[tools."github:extism/cli"."platforms.linux-x64"]
|
||||
checksum = "sha256:34e7ae9bfded6e2c32dee83f70a4e50d34f9d3e80d1762b09625fe82e214d02d"
|
||||
url = "https://github.com/extism/cli/releases/download/v1.6.3/extism-v1.6.3-linux-amd64.tar.gz"
|
||||
url_api = "https://api.github.com/repos/extism/cli/releases/assets/275694025"
|
||||
|
||||
[tools."github:extism/cli"."platforms.linux-x64-musl"]
|
||||
checksum = "sha256:34e7ae9bfded6e2c32dee83f70a4e50d34f9d3e80d1762b09625fe82e214d02d"
|
||||
url = "https://github.com/extism/cli/releases/download/v1.6.3/extism-v1.6.3-linux-amd64.tar.gz"
|
||||
url_api = "https://api.github.com/repos/extism/cli/releases/assets/275694025"
|
||||
|
||||
[tools."github:extism/cli"."platforms.macos-arm64"]
|
||||
checksum = "sha256:b4ddbc575b5ac000115247f781723f9b9f284ed87b29c600539d72161b5b29fc"
|
||||
url = "https://github.com/extism/cli/releases/download/v1.6.3/extism-v1.6.3-darwin-arm64.tar.gz"
|
||||
@@ -42,27 +35,18 @@ url_api = "https://api.github.com/repos/extism/cli/releases/assets/275694035"
|
||||
[[tools."github:extism/js-pdk"]]
|
||||
version = "1.7.0"
|
||||
backend = "github:extism/js-pdk"
|
||||
specifiers = ["v1.7.0"]
|
||||
|
||||
[tools."github:extism/js-pdk"."platforms.linux-arm64"]
|
||||
checksum = "sha256:025f4050b199d68413c159bde1187271ae270021a9f7171e7beb509922821f2a"
|
||||
url = "https://github.com/extism/js-pdk/releases/download/v1.7.0/extism-js-aarch64-linux-v1.7.0.gz"
|
||||
url_api = "https://api.github.com/repos/extism/js-pdk/releases/assets/518632503"
|
||||
|
||||
[tools."github:extism/js-pdk"."platforms.linux-arm64-musl"]
|
||||
checksum = "sha256:025f4050b199d68413c159bde1187271ae270021a9f7171e7beb509922821f2a"
|
||||
url = "https://github.com/extism/js-pdk/releases/download/v1.7.0/extism-js-aarch64-linux-v1.7.0.gz"
|
||||
url_api = "https://api.github.com/repos/extism/js-pdk/releases/assets/518632503"
|
||||
|
||||
[tools."github:extism/js-pdk"."platforms.linux-x64"]
|
||||
checksum = "sha256:63b72da2f5e88655522dc21477de549f238a2f40546a69ce4e0fce7e78654035"
|
||||
url = "https://github.com/extism/js-pdk/releases/download/v1.7.0/extism-js-x86_64-linux-v1.7.0.gz"
|
||||
url_api = "https://api.github.com/repos/extism/js-pdk/releases/assets/518632991"
|
||||
|
||||
[tools."github:extism/js-pdk"."platforms.linux-x64-musl"]
|
||||
checksum = "sha256:63b72da2f5e88655522dc21477de549f238a2f40546a69ce4e0fce7e78654035"
|
||||
url = "https://github.com/extism/js-pdk/releases/download/v1.7.0/extism-js-x86_64-linux-v1.7.0.gz"
|
||||
url_api = "https://api.github.com/repos/extism/js-pdk/releases/assets/518632991"
|
||||
|
||||
[tools."github:extism/js-pdk"."platforms.macos-arm64"]
|
||||
checksum = "sha256:12c01c2bb2240a6a05a4f8babe680c793c397d84e6a1497a7ca1312e78a475c3"
|
||||
url = "https://github.com/extism/js-pdk/releases/download/v1.7.0/extism-js-aarch64-macos-v1.7.0.gz"
|
||||
@@ -81,6 +65,7 @@ url_api = "https://api.github.com/repos/extism/js-pdk/releases/assets/518636347"
|
||||
[[tools."github:jellyfin/jellyfin-ffmpeg"]]
|
||||
version = "7.1.3-6"
|
||||
backend = "github:jellyfin/jellyfin-ffmpeg"
|
||||
specifiers = ["7.1.3-6"]
|
||||
|
||||
[tools."github:jellyfin/jellyfin-ffmpeg"."platforms.windows-x64"]
|
||||
checksum = "sha256:7b7168149689610296f3a187c717056ce0786cc125a31caf28056737e9ba1cc1"
|
||||
@@ -90,18 +75,33 @@ url_api = "https://api.github.com/repos/jellyfin/jellyfin-ffmpeg/releases/assets
|
||||
[[tools."github:jellyfin/jellyfin-ffmpeg"]]
|
||||
version = "7.1.3-6"
|
||||
backend = "github:jellyfin/jellyfin-ffmpeg"
|
||||
specifiers = ["7.1.3-6"]
|
||||
|
||||
[tools."github:jellyfin/jellyfin-ffmpeg".options]
|
||||
asset_pattern = "jellyfin-ffmpeg_*_portable_macarm64-gpl.tar.xz"
|
||||
asset_pattern = "jellyfin-ffmpeg_*_portable_linux64-gpl.tar.xz"
|
||||
|
||||
[tools."github:jellyfin/jellyfin-ffmpeg"."platforms.macos-arm64"]
|
||||
checksum = "sha256:e024d5e78d5414e75f0181036cd21373fafb9270c72894dfd7dbda2572439820"
|
||||
url = "https://github.com/jellyfin/jellyfin-ffmpeg/releases/download/v7.1.3-6/jellyfin-ffmpeg_7.1.3-6_portable_macarm64-gpl.tar.xz"
|
||||
url_api = "https://api.github.com/repos/jellyfin/jellyfin-ffmpeg/releases/assets/408995838"
|
||||
[tools."github:jellyfin/jellyfin-ffmpeg"."platforms.linux-x64"]
|
||||
checksum = "sha256:39e99a7927468a6abec5f65d00f55010e8ff2ae3c2605294f179c94f6ae21af2"
|
||||
url = "https://github.com/jellyfin/jellyfin-ffmpeg/releases/download/v7.1.3-6/jellyfin-ffmpeg_7.1.3-6_portable_linux64-gpl.tar.xz"
|
||||
url_api = "https://api.github.com/repos/jellyfin/jellyfin-ffmpeg/releases/assets/409048879"
|
||||
|
||||
[[tools."github:jellyfin/jellyfin-ffmpeg"]]
|
||||
version = "7.1.3-6"
|
||||
backend = "github:jellyfin/jellyfin-ffmpeg"
|
||||
specifiers = ["7.1.3-6"]
|
||||
|
||||
[tools."github:jellyfin/jellyfin-ffmpeg".options]
|
||||
asset_pattern = "jellyfin-ffmpeg_*_portable_linuxarm64-gpl.tar.xz"
|
||||
|
||||
[tools."github:jellyfin/jellyfin-ffmpeg"."platforms.linux-arm64"]
|
||||
checksum = "sha256:bea03c670e8cc5bfe9edc0c5d624d4735421610cef5e808db93e7d8596952886"
|
||||
url = "https://github.com/jellyfin/jellyfin-ffmpeg/releases/download/v7.1.3-6/jellyfin-ffmpeg_7.1.3-6_portable_linuxarm64-gpl.tar.xz"
|
||||
url_api = "https://api.github.com/repos/jellyfin/jellyfin-ffmpeg/releases/assets/409048876"
|
||||
|
||||
[[tools."github:jellyfin/jellyfin-ffmpeg"]]
|
||||
version = "7.1.3-6"
|
||||
backend = "github:jellyfin/jellyfin-ffmpeg"
|
||||
specifiers = ["7.1.3-6"]
|
||||
|
||||
[tools."github:jellyfin/jellyfin-ffmpeg".options]
|
||||
asset_pattern = "jellyfin-ffmpeg_*_portable_mac64-gpl.tar.xz"
|
||||
@@ -114,61 +114,31 @@ url_api = "https://api.github.com/repos/jellyfin/jellyfin-ffmpeg/releases/assets
|
||||
[[tools."github:jellyfin/jellyfin-ffmpeg"]]
|
||||
version = "7.1.3-6"
|
||||
backend = "github:jellyfin/jellyfin-ffmpeg"
|
||||
specifiers = ["7.1.3-6"]
|
||||
|
||||
[tools."github:jellyfin/jellyfin-ffmpeg".options]
|
||||
asset_pattern = "jellyfin-ffmpeg_*_portable_linuxarm64-gpl.tar.xz"
|
||||
asset_pattern = "jellyfin-ffmpeg_*_portable_macarm64-gpl.tar.xz"
|
||||
|
||||
[tools."github:jellyfin/jellyfin-ffmpeg"."platforms.linux-arm64"]
|
||||
checksum = "sha256:bea03c670e8cc5bfe9edc0c5d624d4735421610cef5e808db93e7d8596952886"
|
||||
url = "https://github.com/jellyfin/jellyfin-ffmpeg/releases/download/v7.1.3-6/jellyfin-ffmpeg_7.1.3-6_portable_linuxarm64-gpl.tar.xz"
|
||||
url_api = "https://api.github.com/repos/jellyfin/jellyfin-ffmpeg/releases/assets/409048876"
|
||||
|
||||
[tools."github:jellyfin/jellyfin-ffmpeg"."platforms.linux-arm64-musl"]
|
||||
checksum = "sha256:bea03c670e8cc5bfe9edc0c5d624d4735421610cef5e808db93e7d8596952886"
|
||||
url = "https://github.com/jellyfin/jellyfin-ffmpeg/releases/download/v7.1.3-6/jellyfin-ffmpeg_7.1.3-6_portable_linuxarm64-gpl.tar.xz"
|
||||
url_api = "https://api.github.com/repos/jellyfin/jellyfin-ffmpeg/releases/assets/409048876"
|
||||
|
||||
[[tools."github:jellyfin/jellyfin-ffmpeg"]]
|
||||
version = "7.1.3-6"
|
||||
backend = "github:jellyfin/jellyfin-ffmpeg"
|
||||
|
||||
[tools."github:jellyfin/jellyfin-ffmpeg".options]
|
||||
asset_pattern = "jellyfin-ffmpeg_*_portable_linux64-gpl.tar.xz"
|
||||
|
||||
[tools."github:jellyfin/jellyfin-ffmpeg"."platforms.linux-x64"]
|
||||
checksum = "sha256:39e99a7927468a6abec5f65d00f55010e8ff2ae3c2605294f179c94f6ae21af2"
|
||||
url = "https://github.com/jellyfin/jellyfin-ffmpeg/releases/download/v7.1.3-6/jellyfin-ffmpeg_7.1.3-6_portable_linux64-gpl.tar.xz"
|
||||
url_api = "https://api.github.com/repos/jellyfin/jellyfin-ffmpeg/releases/assets/409048879"
|
||||
|
||||
[tools."github:jellyfin/jellyfin-ffmpeg"."platforms.linux-x64-musl"]
|
||||
checksum = "sha256:39e99a7927468a6abec5f65d00f55010e8ff2ae3c2605294f179c94f6ae21af2"
|
||||
url = "https://github.com/jellyfin/jellyfin-ffmpeg/releases/download/v7.1.3-6/jellyfin-ffmpeg_7.1.3-6_portable_linux64-gpl.tar.xz"
|
||||
url_api = "https://api.github.com/repos/jellyfin/jellyfin-ffmpeg/releases/assets/409048879"
|
||||
[tools."github:jellyfin/jellyfin-ffmpeg"."platforms.macos-arm64"]
|
||||
checksum = "sha256:e024d5e78d5414e75f0181036cd21373fafb9270c72894dfd7dbda2572439820"
|
||||
url = "https://github.com/jellyfin/jellyfin-ffmpeg/releases/download/v7.1.3-6/jellyfin-ffmpeg_7.1.3-6_portable_macarm64-gpl.tar.xz"
|
||||
url_api = "https://api.github.com/repos/jellyfin/jellyfin-ffmpeg/releases/assets/408995838"
|
||||
|
||||
[[tools."github:webassembly/binaryen"]]
|
||||
version = "version_124"
|
||||
backend = "github:webassembly/binaryen"
|
||||
specifiers = ["version_124"]
|
||||
|
||||
[tools."github:webassembly/binaryen"."platforms.linux-arm64"]
|
||||
checksum = "sha256:6291bd9a57d8e046f3bc099a4db386c147433a87f71c783a901c5b1792e38de3"
|
||||
url = "https://github.com/WebAssembly/binaryen/releases/download/version_124/binaryen-version_124-aarch64-linux.tar.gz"
|
||||
url_api = "https://api.github.com/repos/WebAssembly/binaryen/releases/assets/288927659"
|
||||
|
||||
[tools."github:webassembly/binaryen"."platforms.linux-arm64-musl"]
|
||||
checksum = "sha256:6291bd9a57d8e046f3bc099a4db386c147433a87f71c783a901c5b1792e38de3"
|
||||
url = "https://github.com/WebAssembly/binaryen/releases/download/version_124/binaryen-version_124-aarch64-linux.tar.gz"
|
||||
url_api = "https://api.github.com/repos/WebAssembly/binaryen/releases/assets/288927659"
|
||||
|
||||
[tools."github:webassembly/binaryen"."platforms.linux-x64"]
|
||||
checksum = "sha256:0290c3779fedf592b8da0ded3032ff55c41a2b7bfa2d6bf7b7bac6f0e6e28963"
|
||||
url = "https://github.com/WebAssembly/binaryen/releases/download/version_124/binaryen-version_124-x86_64-linux.tar.gz"
|
||||
url_api = "https://api.github.com/repos/WebAssembly/binaryen/releases/assets/288926769"
|
||||
|
||||
[tools."github:webassembly/binaryen"."platforms.linux-x64-musl"]
|
||||
checksum = "sha256:0290c3779fedf592b8da0ded3032ff55c41a2b7bfa2d6bf7b7bac6f0e6e28963"
|
||||
url = "https://github.com/WebAssembly/binaryen/releases/download/version_124/binaryen-version_124-x86_64-linux.tar.gz"
|
||||
url_api = "https://api.github.com/repos/WebAssembly/binaryen/releases/assets/288926769"
|
||||
|
||||
[tools."github:webassembly/binaryen"."platforms.macos-arm64"]
|
||||
checksum = "sha256:86a2c960ff62c6d2ea6009d1f89745c22c70100d394a095eab45eb941bdaa24c"
|
||||
url = "https://github.com/WebAssembly/binaryen/releases/download/version_124/binaryen-version_124-arm64-macos.tar.gz"
|
||||
@@ -187,9 +157,10 @@ url_api = "https://api.github.com/repos/WebAssembly/binaryen/releases/assets/288
|
||||
[[tools.java]]
|
||||
version = "21.0.2"
|
||||
backend = "core:java"
|
||||
specifiers = ["21.0.2"]
|
||||
|
||||
[tools.java.options]
|
||||
shorthand_vendor = "openjdk"
|
||||
shorthand_vendor = "temurin"
|
||||
|
||||
[tools.java."platforms.linux-arm64"]
|
||||
checksum = "sha256:08db1392a48d4eb5ea5315cf8f18b89dbaf36cda663ba882cf03c704c9257ec2"
|
||||
@@ -245,12 +216,16 @@ checksum = "sha256:d2046d28c2c3dcd211ac5145c0bf30e2047ef9dfb306693c8c6e2eccd8b95
|
||||
url = "https://nodejs.org/dist/v24.22.1/node-v24.22.1-win-x64.zip"
|
||||
|
||||
[[tools."npm:@openapitools/openapi-generator-cli"]]
|
||||
version = "2.41.0"
|
||||
version = "2.42.0"
|
||||
aube = { path = ".mise/locks/npm-openapitools-openapi-generator-cli/2.42.0", digest = "sha256:ef9f5cf15f958d31297bb706ee83d1347633603f3079431938665c7bc4136856" }
|
||||
backend = "npm:@openapitools/openapi-generator-cli"
|
||||
specifiers = ["2.42.0"]
|
||||
|
||||
[[tools."npm:oazapfts"]]
|
||||
version = "7.5.0"
|
||||
aube = { path = ".mise/locks/npm-oazapfts/7.5.0", digest = "sha256:74214614b0338eaa2baee026d615afde514311c5c76e274f420f8de8b1f0e017" }
|
||||
backend = "npm:oazapfts"
|
||||
specifiers = ["7.5.0"]
|
||||
|
||||
[[tools.opentofu]]
|
||||
version = "1.13.2"
|
||||
@@ -263,22 +238,12 @@ checksum_source = "mise-versions"
|
||||
url = "https://github.com/opentofu/opentofu/releases/download/v1.13.2/tofu_1.13.2_linux_arm64.tar.gz"
|
||||
url_api = "https://api.github.com/repos/opentofu/opentofu/releases/assets/662742799"
|
||||
|
||||
[tools.opentofu."platforms.linux-arm64-musl"]
|
||||
checksum = "sha256:9bd0228a81bcd0c88f7045c74378f45a815779f19897191dff7d9efba9976b9e"
|
||||
url = "https://github.com/opentofu/opentofu/releases/download/v1.12.6/tofu_1.12.6_linux_arm64.tar.gz"
|
||||
url_api = "https://api.github.com/repos/opentofu/opentofu/releases/assets/520762688"
|
||||
|
||||
[tools.opentofu."platforms.linux-x64"]
|
||||
checksum = "sha256:ac05d9952662c7db28dd57e93f0a68018837bfdf9342384ec0987977c16a9645"
|
||||
checksum_source = "mise-versions"
|
||||
url = "https://github.com/opentofu/opentofu/releases/download/v1.13.2/tofu_1.13.2_linux_amd64.tar.gz"
|
||||
url_api = "https://api.github.com/repos/opentofu/opentofu/releases/assets/662742636"
|
||||
|
||||
[tools.opentofu."platforms.linux-x64-musl"]
|
||||
checksum = "sha256:50a6106fa4de523d09c87af85f3db1dd47535fc005727fdca6852146476b88ec"
|
||||
url = "https://github.com/opentofu/opentofu/releases/download/v1.12.6/tofu_1.12.6_linux_amd64.tar.gz"
|
||||
url_api = "https://api.github.com/repos/opentofu/opentofu/releases/assets/520762723"
|
||||
|
||||
[tools.opentofu."platforms.macos-arm64"]
|
||||
checksum = "sha256:0d1cdc85f38992055b48e7fb161304a2ddfe2e5ee0ff68ffec9d0349c8bd1b59"
|
||||
checksum_source = "mise-versions"
|
||||
@@ -298,75 +263,71 @@ url = "https://github.com/opentofu/opentofu/releases/download/v1.13.2/tofu_1.13.
|
||||
url_api = "https://api.github.com/repos/opentofu/opentofu/releases/assets/662742635"
|
||||
|
||||
[[tools.pnpm]]
|
||||
version = "12.14.0"
|
||||
version = "12.15.0"
|
||||
backend = "aqua:pnpm/pnpm"
|
||||
specifiers = ["12.14.0"]
|
||||
specifiers = ["12.15.0"]
|
||||
|
||||
[tools.pnpm."platforms.linux-arm64"]
|
||||
checksum = "sha256:cfc780b9e690549e6633e1045fb1fb6ef84e390711e2099e6ccbae91c32456ea"
|
||||
url = "https://github.com/pnpm/pnpm/releases/download/v12.14.0/pnpm-linux-arm64.tar.gz"
|
||||
url_api = "https://api.github.com/repos/pnpm/pnpm/releases/assets/643957409"
|
||||
checksum = "sha256:d7ce93a2c7d847d3a34bd3f559b60c14f578b1320c17cc352a2c5c5fdf956117"
|
||||
url = "https://github.com/pnpm/pnpm/releases/download/v12.15.0/pnpm-linux-arm64.tar.gz"
|
||||
url_api = "https://api.github.com/repos/pnpm/pnpm/releases/assets/662173352"
|
||||
provenance = "github-attestations"
|
||||
|
||||
[tools.pnpm."platforms.linux-x64"]
|
||||
checksum = "sha256:3910c3852136bed5bc1511b9137a45fd4357ed6b3970d9d08893641e9005867e"
|
||||
url = "https://github.com/pnpm/pnpm/releases/download/v12.14.0/pnpm-linux-x64.tar.gz"
|
||||
url_api = "https://api.github.com/repos/pnpm/pnpm/releases/assets/643957410"
|
||||
checksum = "sha256:55b5ed0092bd11176c1669598e231ae52e7cedac59de6efd0d415730f37d0598"
|
||||
url = "https://github.com/pnpm/pnpm/releases/download/v12.15.0/pnpm-linux-x64.tar.gz"
|
||||
url_api = "https://api.github.com/repos/pnpm/pnpm/releases/assets/662173360"
|
||||
provenance = "github-attestations"
|
||||
|
||||
[tools.pnpm."platforms.macos-arm64"]
|
||||
checksum = "sha256:50f48e0e17508952790a3fbf58fcf14f3b82efa5f594ca04ad904e29aaf854b0"
|
||||
url = "https://github.com/pnpm/pnpm/releases/download/v12.14.0/pnpm-darwin-arm64.tar.gz"
|
||||
url_api = "https://api.github.com/repos/pnpm/pnpm/releases/assets/643957413"
|
||||
checksum = "sha256:6a41a2877773e97f19832067187cc6fc82e186d8a2cf91fec4b4c1a5fbd6ef27"
|
||||
url = "https://github.com/pnpm/pnpm/releases/download/v12.15.0/pnpm-darwin-arm64.tar.gz"
|
||||
url_api = "https://api.github.com/repos/pnpm/pnpm/releases/assets/662173343"
|
||||
provenance = "github-attestations"
|
||||
|
||||
[tools.pnpm."platforms.macos-x64"]
|
||||
checksum = "sha256:2c412e07382049b4edb04fa6da78f3d4ef7810b75853c80544dcfb7c0ed79880"
|
||||
url = "https://github.com/pnpm/pnpm/releases/download/v12.14.0/pnpm-darwin-x64.tar.gz"
|
||||
url_api = "https://api.github.com/repos/pnpm/pnpm/releases/assets/643957411"
|
||||
checksum = "sha256:2d7b336884574aee8a765bee48591212e9caf4fcf985fb3279588c1fb73fb47f"
|
||||
url = "https://github.com/pnpm/pnpm/releases/download/v12.15.0/pnpm-darwin-x64.tar.gz"
|
||||
url_api = "https://api.github.com/repos/pnpm/pnpm/releases/assets/662173347"
|
||||
provenance = "github-attestations"
|
||||
|
||||
[tools.pnpm."platforms.windows-x64"]
|
||||
checksum = "sha256:6f0f38e917c8ce76ef31db528c357e2bfa354a1bcb16464e3cdec39e6530d784"
|
||||
url = "https://github.com/pnpm/pnpm/releases/download/v12.14.0/pnpm-win32-x64.zip"
|
||||
url_api = "https://api.github.com/repos/pnpm/pnpm/releases/assets/643957404"
|
||||
checksum = "sha256:84cf69db1be19e95bb4e5bef329291a046f2821b390d87e00f5690809d8a2ed7"
|
||||
url = "https://github.com/pnpm/pnpm/releases/download/v12.15.0/pnpm-win32-x64.zip"
|
||||
url_api = "https://api.github.com/repos/pnpm/pnpm/releases/assets/662173351"
|
||||
provenance = "github-attestations"
|
||||
|
||||
[[tools.terragrunt]]
|
||||
version = "1.1.1"
|
||||
version = "1.2.0"
|
||||
backend = "aqua:gruntwork-io/terragrunt"
|
||||
specifiers = ["1.2.0"]
|
||||
|
||||
[tools.terragrunt."platforms.linux-arm64"]
|
||||
checksum = "sha256:a374a7993ff3d99665a7e014007d3647ec7f0465c9d55c85e9f94c932e73cea2"
|
||||
url = "https://github.com/gruntwork-io/terragrunt/releases/download/v1.1.1/terragrunt_linux_arm64.tar.gz"
|
||||
url_api = "https://api.github.com/repos/gruntwork-io/terragrunt/releases/assets/476786148"
|
||||
|
||||
[tools.terragrunt."platforms.linux-arm64-musl"]
|
||||
checksum = "sha256:a374a7993ff3d99665a7e014007d3647ec7f0465c9d55c85e9f94c932e73cea2"
|
||||
url = "https://github.com/gruntwork-io/terragrunt/releases/download/v1.1.1/terragrunt_linux_arm64.tar.gz"
|
||||
url_api = "https://api.github.com/repos/gruntwork-io/terragrunt/releases/assets/476786148"
|
||||
checksum = "sha256:1e13b7f0646fa7962bc6c5bfba14a30d6a589325b82561e21b66be5981d86395"
|
||||
checksum_source = "mise-versions"
|
||||
url = "https://github.com/gruntwork-io/terragrunt/releases/download/v1.2.0/terragrunt_linux_arm64.tar.gz"
|
||||
url_api = "https://api.github.com/repos/gruntwork-io/terragrunt/releases/assets/662437526"
|
||||
|
||||
[tools.terragrunt."platforms.linux-x64"]
|
||||
checksum = "sha256:ce90077ac31ef17a2ba10d11d45f36c6501997a8f4f79d703bb7daba37032f53"
|
||||
url = "https://github.com/gruntwork-io/terragrunt/releases/download/v1.1.1/terragrunt_linux_amd64.tar.gz"
|
||||
url_api = "https://api.github.com/repos/gruntwork-io/terragrunt/releases/assets/476785968"
|
||||
|
||||
[tools.terragrunt."platforms.linux-x64-musl"]
|
||||
checksum = "sha256:ce90077ac31ef17a2ba10d11d45f36c6501997a8f4f79d703bb7daba37032f53"
|
||||
url = "https://github.com/gruntwork-io/terragrunt/releases/download/v1.1.1/terragrunt_linux_amd64.tar.gz"
|
||||
url_api = "https://api.github.com/repos/gruntwork-io/terragrunt/releases/assets/476785968"
|
||||
checksum = "sha256:23b5f2f9203d34919f7fd270a4b635b721b4903beca9762a1e4853b159bc9be8"
|
||||
checksum_source = "mise-versions"
|
||||
url = "https://github.com/gruntwork-io/terragrunt/releases/download/v1.2.0/terragrunt_linux_amd64.tar.gz"
|
||||
url_api = "https://api.github.com/repos/gruntwork-io/terragrunt/releases/assets/662437263"
|
||||
|
||||
[tools.terragrunt."platforms.macos-arm64"]
|
||||
checksum = "sha256:9ec8f678b9ae6c81d5d9d77b94cbf6349ce639d5938694b4adc9dea73e416794"
|
||||
url = "https://github.com/gruntwork-io/terragrunt/releases/download/v1.1.1/terragrunt_darwin_arm64.tar.gz"
|
||||
url_api = "https://api.github.com/repos/gruntwork-io/terragrunt/releases/assets/476785628"
|
||||
checksum = "sha256:79790d841ce71fe94c689fb6f5034afd31ad53d5904937c7a10934cca9d9734b"
|
||||
checksum_source = "mise-versions"
|
||||
url = "https://github.com/gruntwork-io/terragrunt/releases/download/v1.2.0/terragrunt_darwin_arm64.tar.gz"
|
||||
url_api = "https://api.github.com/repos/gruntwork-io/terragrunt/releases/assets/662436516"
|
||||
|
||||
[tools.terragrunt."platforms.macos-x64"]
|
||||
checksum = "sha256:73e768a69fa44a60f9d9174f54aaf179327e08706f633c9c79d5f5c9622c91c2"
|
||||
url = "https://github.com/gruntwork-io/terragrunt/releases/download/v1.1.1/terragrunt_darwin_amd64.tar.gz"
|
||||
url_api = "https://api.github.com/repos/gruntwork-io/terragrunt/releases/assets/476785520"
|
||||
checksum = "sha256:0b0e63e80509eb1ffb4f89b892bc6fbf7728f27f0a73974400f1bd82a80b8627"
|
||||
checksum_source = "mise-versions"
|
||||
url = "https://github.com/gruntwork-io/terragrunt/releases/download/v1.2.0/terragrunt_darwin_amd64.tar.gz"
|
||||
url_api = "https://api.github.com/repos/gruntwork-io/terragrunt/releases/assets/662436142"
|
||||
|
||||
[tools.terragrunt."platforms.windows-x64"]
|
||||
checksum = "sha256:dd50a324691e072a3ac879e9ec43d6310e2936c929fda658eb2811fefcc75115"
|
||||
url = "https://github.com/gruntwork-io/terragrunt/releases/download/v1.1.1/terragrunt_windows_amd64.exe.tar.gz"
|
||||
url_api = "https://api.github.com/repos/gruntwork-io/terragrunt/releases/assets/476786421"
|
||||
checksum = "sha256:c9a146b9aad456a289614023ad5778123d819af3cf9efd1c6130f196cfcb1999"
|
||||
checksum_source = "mise-versions"
|
||||
url = "https://github.com/gruntwork-io/terragrunt/releases/download/v1.2.0/terragrunt_windows_amd64.exe.tar.gz"
|
||||
url_api = "https://api.github.com/repos/gruntwork-io/terragrunt/releases/assets/662438255"
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@ name: immich_mobile
|
||||
description: Immich - selfhosted backup media file on mobile phone
|
||||
|
||||
publish_to: 'none'
|
||||
version: 3.3.5-local.11+3030503
|
||||
version: 3.3.5-local.12+3030504
|
||||
|
||||
environment:
|
||||
sdk: '>=3.12.0 <4.0.0'
|
||||
|
||||
Generated
+441
-362
File diff suppressed because it is too large
Load Diff
@@ -2,7 +2,7 @@ import Image from '#lib/components/Image.svelte';
|
||||
import { cancelImageUrl } from '#lib/utils/sw-messaging.ts';
|
||||
import { fireEvent, render } from '@testing-library/svelte';
|
||||
|
||||
vi.mock('#lib/utils/sw-messaging.js', () => ({
|
||||
vi.mock('#lib/utils/sw-messaging.ts', () => ({
|
||||
cancelImageUrl: vi.fn(),
|
||||
}));
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { renderWithTooltips } from '#tests/helpers';
|
||||
import { renderWithTooltips } from '#tests/helpers.ts';
|
||||
import userEvent from '@testing-library/user-event';
|
||||
import SharedLinkFormFields from './SharedLinkFormFields.svelte';
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@ import { sdkMock } from '#lib/__mocks__/sdk.mock.ts';
|
||||
import '@testing-library/jest-dom';
|
||||
import { render, waitFor, type RenderResult } from '@testing-library/svelte';
|
||||
import { init, register, waitLocale } from 'svelte-i18n';
|
||||
import { albumFactory } from '#test-data/factories/album-factory';
|
||||
import { albumFactory } from '#test-data/factories/album-factory.ts';
|
||||
import AlbumCard from '../AlbumCard.svelte';
|
||||
|
||||
describe('AlbumCard component', () => {
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import AlbumCover from '#lib/components/album-page/AlbumCover.svelte';
|
||||
import { getAssetMediaUrl } from '#lib/utils.ts';
|
||||
import { render } from '@testing-library/svelte';
|
||||
import { albumFactory } from '#test-data/factories/album-factory';
|
||||
import { albumFactory } from '#test-data/factories/album-factory.ts';
|
||||
|
||||
vi.mock('#lib/utils.js');
|
||||
vi.mock('#lib/utils.ts');
|
||||
|
||||
describe('AlbumCover component', () => {
|
||||
it('renders an image when the album has a thumbnail', () => {
|
||||
|
||||
@@ -2,10 +2,10 @@ import '@testing-library/jest-dom';
|
||||
import { render, screen } from '@testing-library/svelte';
|
||||
import { init, register, waitLocale } from 'svelte-i18n';
|
||||
import { writable } from 'svelte/store';
|
||||
import { albumFactory } from '#test-data/factories/album-factory';
|
||||
import { albumFactory } from '#test-data/factories/album-factory.ts';
|
||||
import AlbumSummary from '../AlbumSummary.svelte';
|
||||
|
||||
vitest.mock('#lib/stores/preferences.store.js', () => ({
|
||||
vitest.mock('#lib/stores/preferences.store.ts', () => ({
|
||||
locale: writable('en'),
|
||||
}));
|
||||
|
||||
|
||||
@@ -2,15 +2,15 @@ import { getAnimateMock } from '#lib/__mocks__/animate.mock.ts';
|
||||
import { getResizeObserverMock } from '#lib/__mocks__/resize-observer.mock.ts';
|
||||
import { authManager } from '#lib/managers/auth-manager.svelte.ts';
|
||||
import { SlideshowState, slideshowStore } from '#lib/stores/slideshow.store.ts';
|
||||
import { renderWithTooltips } from '#tests/helpers';
|
||||
import { renderWithTooltips } from '#tests/helpers.ts';
|
||||
import { updateAsset } from '@immich/sdk';
|
||||
import { fireEvent, waitFor } from '@testing-library/svelte';
|
||||
import { assetFactory } from '#test-data/factories/asset-factory';
|
||||
import { preferencesFactory } from '#test-data/factories/preferences-factory';
|
||||
import { userAdminFactory } from '#test-data/factories/user-factory';
|
||||
import { assetFactory } from '#test-data/factories/asset-factory.ts';
|
||||
import { preferencesFactory } from '#test-data/factories/preferences-factory.ts';
|
||||
import { userAdminFactory } from '#test-data/factories/user-factory.ts';
|
||||
import AssetViewer from './AssetViewer.svelte';
|
||||
|
||||
vi.mock('#lib/managers/feature-flags-manager.svelte.js', () => ({
|
||||
vi.mock('#lib/managers/feature-flags-manager.svelte.ts', () => ({
|
||||
featureFlagsManager: {
|
||||
init: vi.fn(),
|
||||
loadFeatureFlags: vi.fn(),
|
||||
@@ -18,7 +18,7 @@ vi.mock('#lib/managers/feature-flags-manager.svelte.js', () => ({
|
||||
} as never,
|
||||
}));
|
||||
|
||||
vi.mock('#lib/stores/ocr.svelte.js', () => ({
|
||||
vi.mock('#lib/stores/ocr.svelte.ts', () => ({
|
||||
ocrManager: {
|
||||
clear: vi.fn(),
|
||||
getAssetOcr: vi.fn(),
|
||||
|
||||
@@ -2,15 +2,15 @@ import { getResizeObserverMock } from '#lib/__mocks__/resize-observer.mock.ts';
|
||||
import { authManager } from '#lib/managers/auth-manager.svelte.ts';
|
||||
import { queryClient } from '#lib/queries/client.ts';
|
||||
import { getUserConfigQuery } from '#lib/queries/config-user.query.ts';
|
||||
import { renderWithTooltips } from '#tests/helpers';
|
||||
import { renderWithTooltips } from '#tests/helpers.ts';
|
||||
import type { UserConfigDto } from '@immich/sdk';
|
||||
import '@testing-library/jest-dom';
|
||||
import { assetFactory } from '#test-data/factories/asset-factory';
|
||||
import { preferencesFactory } from '#test-data/factories/preferences-factory';
|
||||
import { userAdminFactory } from '#test-data/factories/user-factory';
|
||||
import { assetFactory } from '#test-data/factories/asset-factory.ts';
|
||||
import { preferencesFactory } from '#test-data/factories/preferences-factory.ts';
|
||||
import { userAdminFactory } from '#test-data/factories/user-factory.ts';
|
||||
import AssetViewerNavBar from './AssetViewerNavBar.svelte';
|
||||
|
||||
vi.mock(import('#lib/managers/feature-flags-manager.svelte.js'), function () {
|
||||
vi.mock(import('#lib/managers/feature-flags-manager.svelte.ts'), function () {
|
||||
return {
|
||||
featureFlagsManager: {
|
||||
init: vi.fn(),
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import '@testing-library/jest-dom';
|
||||
import { render, screen } from '@testing-library/svelte';
|
||||
import userEvent from '@testing-library/user-event';
|
||||
import { assetFactory } from '#test-data/factories/asset-factory';
|
||||
import { assetFactory } from '#test-data/factories/asset-factory.ts';
|
||||
import DetailPanelDescription from './DetailPanelDescription.svelte';
|
||||
|
||||
describe('DetailPanelDescription', () => {
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
import { useSwipe, type SwipeCustomEvent } from 'svelte-gestures';
|
||||
import { t } from 'svelte-i18n';
|
||||
import { fade } from 'svelte/transition';
|
||||
import './immich-time-range';
|
||||
import './immich-time-range.ts';
|
||||
import { createPreloadedQuery } from '#lib/queries/client.ts';
|
||||
import { getPublicConfigQuery } from '#lib/queries/config-public.query.ts';
|
||||
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
import { renderWithTooltips } from '#tests/helpers';
|
||||
import { renderWithTooltips } from '#tests/helpers.ts';
|
||||
import type { AssetResponseDto } from '@immich/sdk';
|
||||
import '@testing-library/jest-dom';
|
||||
import { assetFactory } from '#test-data/factories/asset-factory';
|
||||
import { assetFactory } from '#test-data/factories/asset-factory.ts';
|
||||
import DeleteAction from './DeleteAction.svelte';
|
||||
|
||||
vi.mock(import('#lib/managers/feature-flags-manager.svelte.js'), () => {
|
||||
vi.mock(import('#lib/managers/feature-flags-manager.svelte.ts'), () => {
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
return { featureFlagsManager: { init: vi.fn(), loadFeatureFlags: vi.fn(), value: { trash: true } } as any };
|
||||
});
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
import { IconButton, modalManager, toastManager } from '@immich/ui';
|
||||
import { mdiDeleteForeverOutline, mdiDeleteOutline } from '@mdi/js';
|
||||
import { t } from 'svelte-i18n';
|
||||
import type { OnAction, PreAction } from './action';
|
||||
import type { OnAction, PreAction } from './action.ts';
|
||||
|
||||
interface Props {
|
||||
asset: AssetResponseDto;
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
import { toastManager } from '@immich/ui';
|
||||
import { mdiHistory } from '@mdi/js';
|
||||
import { t } from 'svelte-i18n';
|
||||
import type { OnAction } from './action';
|
||||
import type { OnAction } from './action.ts';
|
||||
|
||||
interface Props {
|
||||
asset: AssetResponseDto;
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
import { modalManager } from '@immich/ui';
|
||||
import { mdiLockOpenVariantOutline, mdiLockOutline } from '@mdi/js';
|
||||
import { t } from 'svelte-i18n';
|
||||
import type { OnAction, PreAction } from './action';
|
||||
import type { OnAction, PreAction } from './action.ts';
|
||||
|
||||
interface Props {
|
||||
asset: TimelineAsset;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import ImageThumbnail from '#lib/components/assets/thumbnail/ImageThumbnail.svelte';
|
||||
import { fireEvent, render } from '@testing-library/svelte';
|
||||
|
||||
vi.mock('#lib/utils/sw-messaging.js', () => ({
|
||||
vi.mock('#lib/utils/sw-messaging.ts', () => ({
|
||||
cancelImageUrl: vi.fn(),
|
||||
}));
|
||||
|
||||
|
||||
@@ -2,9 +2,9 @@ import { getIntersectionObserverMock } from '#lib/__mocks__/intersection-observe
|
||||
import Thumbnail from '#lib/components/assets/thumbnail/Thumbnail.svelte';
|
||||
import { getTabbable } from '#lib/utils/focus-util.ts';
|
||||
import { render } from '@testing-library/svelte';
|
||||
import { assetFactory } from '#test-data/factories/asset-factory';
|
||||
import { assetFactory } from '#test-data/factories/asset-factory.ts';
|
||||
|
||||
vi.mock('#lib/utils/navigation.js', () => ({
|
||||
vi.mock('#lib/utils/navigation.ts', () => ({
|
||||
currentUrlReplaceAssetId: vi.fn(),
|
||||
isSharedLinkRoute: vi.fn().mockReturnValue(false),
|
||||
}));
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
import { locale } from '#lib/stores/preferences.store.ts';
|
||||
import { renderWithTooltips } from '#tests/helpers';
|
||||
import { renderWithTooltips } from '#tests/helpers.ts';
|
||||
import { screen } from '@testing-library/svelte';
|
||||
import { DateTime } from 'luxon';
|
||||
import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
|
||||
import MaintenanceBackupEntry from './MaintenanceBackupEntry.svelte';
|
||||
|
||||
vi.mock('#lib/services/database-backups.service.js', () => ({
|
||||
vi.mock('#lib/services/database-backups.service.ts', () => ({
|
||||
getDatabaseBackupActions: () => ({
|
||||
Download: { type: 'command', title: 'Download', onAction: vi.fn() },
|
||||
Delete: { type: 'command', title: 'Delete', onAction: vi.fn() },
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { MemoryType, type MemoryResponseDto } from '@immich/sdk';
|
||||
import { cleanup, fireEvent, render } from '@testing-library/svelte';
|
||||
import { tick } from 'svelte';
|
||||
import { assetFactory } from '@test-data/factories/asset-factory';
|
||||
import { assetFactory } from '#test-data/factories/asset-factory.ts';
|
||||
import MemoriesLane from './__test__/MemoriesLaneHarness.svelte';
|
||||
|
||||
const date = '2026-10-18';
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
<script lang="ts">
|
||||
import MemoryCard from '$lib/components/memories/MemoryCard.svelte';
|
||||
import { Route } from '$lib/route';
|
||||
import { getAssetMediaUrl, memoryLaneTitle } from '$lib/utils';
|
||||
import { getAltText } from '$lib/utils/thumbnail-util';
|
||||
import { toTimelineAsset } from '$lib/utils/timeline-util';
|
||||
import MemoryCard from '#lib/components/memories/MemoryCard.svelte';
|
||||
import { Route } from '#lib/route.ts';
|
||||
import { getAssetMediaUrl, memoryLaneTitle } from '#lib/utils.ts';
|
||||
import { getAltText } from '#lib/utils/thumbnail-util.ts';
|
||||
import { toTimelineAsset } from '#lib/utils/timeline-util.ts';
|
||||
import { MemoryType, type MemoryResponseDto } from '@immich/sdk';
|
||||
import { IconButton } from '@immich/ui';
|
||||
import { mdiChevronLeft, mdiChevronRight, mdiPause, mdiPlay } from '@mdi/js';
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<script lang="ts">
|
||||
import MemoriesLane from '$lib/components/memories/MemoriesLane.svelte';
|
||||
import MemoriesLane from '#lib/components/memories/MemoriesLane.svelte';
|
||||
import { TooltipProvider } from '@immich/ui';
|
||||
import type { ComponentProps } from 'svelte';
|
||||
|
||||
|
||||
+1
-1
@@ -5,7 +5,7 @@ import {
|
||||
} from '#lib/components/shared-components/album-selection/album-selection-utils.ts';
|
||||
import { AlbumSortBy, SortOrder } from '#lib/stores/preferences.store.ts';
|
||||
import type { AlbumResponseDto } from '@immich/sdk';
|
||||
import { albumFactory } from '#test-data/factories/album-factory';
|
||||
import { albumFactory } from '#test-data/factories/album-factory.ts';
|
||||
|
||||
// Some helper functions to make tests below more readable
|
||||
const createNewAlbumRow = (selected: boolean) => ({
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
Popup,
|
||||
ScaleControl,
|
||||
} from 'svelte-maplibre';
|
||||
import type { SelectionBBox } from './types';
|
||||
import type { SelectionBBox } from './types.ts';
|
||||
import { createPreloadedQuery } from '#lib/queries/client.ts';
|
||||
import { getPublicConfigQuery } from '#lib/queries/config-public.query.ts';
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
import { t } from 'svelte-i18n';
|
||||
import SearchFilters from './SearchFilters.svelte';
|
||||
import { searchManager } from '#lib/managers/search-manager.svelte.ts';
|
||||
import { getSearchTypePlaceholder, isPopoverContent } from './search-bar-utils';
|
||||
import { getSearchTypePlaceholder, isPopoverContent } from './search-bar-utils.ts';
|
||||
|
||||
type Props = {
|
||||
grayTheme: boolean;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<script lang="ts">
|
||||
import { getSearchDatePreset, SearchDatePreset } from './search-bar-utils';
|
||||
import { getSearchDatePreset, SearchDatePreset } from './search-bar-utils.ts';
|
||||
import { DatePicker, Text } from '@immich/ui';
|
||||
import { DateTime } from 'luxon';
|
||||
import { t } from 'svelte-i18n';
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
getSearchPlacesTitle,
|
||||
getSearchTagsTitle,
|
||||
getSearchTypeTitle,
|
||||
} from './search-bar-utils';
|
||||
} from './search-bar-utils.ts';
|
||||
import { onMount } from 'svelte';
|
||||
import { searchManager } from '#lib/managers/search-manager.svelte.ts';
|
||||
import SearchButton from './SearchButton.svelte';
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<script lang="ts">
|
||||
import ImageThumbnail from '#lib/components/assets/thumbnail/ImageThumbnail.svelte';
|
||||
import { getPeople, getSearchPeopleTitle } from './search-bar-utils';
|
||||
import { getPeople, getSearchPeopleTitle } from './search-bar-utils.ts';
|
||||
import SingleGridRow from '#lib/components/shared-components/SingleGridRow.svelte';
|
||||
import SearchBar from '#lib/elements/SearchBar.svelte';
|
||||
import { getPeopleThumbnailUrl } from '#lib/utils.ts';
|
||||
|
||||
@@ -7,8 +7,8 @@ import type { TagResponseDto } from '@immich/sdk';
|
||||
import '@testing-library/jest-dom';
|
||||
import { render, screen } from '@testing-library/svelte';
|
||||
import userEvent from '@testing-library/user-event';
|
||||
import { preferencesFactory } from '#test-data/factories/preferences-factory';
|
||||
import { userAdminFactory } from '#test-data/factories/user-factory';
|
||||
import { preferencesFactory } from '#test-data/factories/preferences-factory.ts';
|
||||
import { userAdminFactory } from '#test-data/factories/user-factory.ts';
|
||||
|
||||
const tag = (id: string, value: string): TagResponseDto => ({
|
||||
id,
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
import { SvelteSet } from 'svelte/reactivity';
|
||||
import { mdiClose } from '@mdi/js';
|
||||
import SearchButton from './SearchButton.svelte';
|
||||
import { getSearchTagsTitle } from './search-bar-utils';
|
||||
import { getSearchTagsTitle } from './search-bar-utils.ts';
|
||||
import { searchManager } from '#lib/managers/search-manager.svelte.ts';
|
||||
|
||||
interface Props {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<script lang="ts">
|
||||
import { getSearchTypeTitle } from './search-bar-utils';
|
||||
import { getSearchTypeTitle } from './search-bar-utils.ts';
|
||||
import SearchButton from './SearchButton.svelte';
|
||||
import { searchManager } from '#lib/managers/search-manager.svelte.ts';
|
||||
import { Text } from '@immich/ui';
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { sdkMock } from '#lib/__mocks__/sdk.mock.ts';
|
||||
import RecentAlbums from '#lib/components/shared-components/side-bar/RecentAlbums.svelte';
|
||||
import { render, screen } from '@testing-library/svelte';
|
||||
import { albumFactory } from '#test-data/factories/album-factory';
|
||||
import { albumFactory } from '#test-data/factories/album-factory.ts';
|
||||
|
||||
describe('RecentAlbums component', () => {
|
||||
it('sorts albums by most recently updated', async () => {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import SideBarSection from '#lib/components/sidebar/Sidebar.svelte';
|
||||
import { sidebarStore } from '#lib/stores/sidebar.svelte.js';
|
||||
import { sidebarStore } from '#lib/stores/sidebar.svelte.ts';
|
||||
import { fireEvent, render, screen } from '@testing-library/svelte';
|
||||
import { vi } from 'vitest';
|
||||
|
||||
@@ -11,11 +11,11 @@ const mocks = vi.hoisted(() => {
|
||||
};
|
||||
});
|
||||
|
||||
vi.mock('#lib/stores/media-query-manager.svelte.js', () => ({
|
||||
vi.mock('#lib/stores/media-query-manager.svelte.ts', () => ({
|
||||
mediaQueryManager: mocks.mediaQueryManager,
|
||||
}));
|
||||
|
||||
vi.mock('#lib/stores/sidebar.svelte.js', () => ({
|
||||
vi.mock('#lib/stores/sidebar.svelte.ts', () => ({
|
||||
sidebarStore: {
|
||||
isOpen: false,
|
||||
reset: vi.fn(),
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import { AssetMultiSelectManager } from '#lib/managers/asset-multi-select-manager.svelte.ts';
|
||||
import { authManager } from '#lib/managers/auth-manager.svelte.ts';
|
||||
import { AssetVisibility } from '@immich/sdk';
|
||||
import { timelineAssetFactory } from '#test-data/factories/asset-factory';
|
||||
import { preferencesFactory } from '#test-data/factories/preferences-factory';
|
||||
import { userAdminFactory } from '#test-data/factories/user-factory';
|
||||
import { timelineAssetFactory } from '#test-data/factories/asset-factory.ts';
|
||||
import { preferencesFactory } from '#test-data/factories/preferences-factory.ts';
|
||||
import { userAdminFactory } from '#test-data/factories/user-factory.ts';
|
||||
|
||||
describe('AssetMultiSelectManager', () => {
|
||||
let sut: AssetMultiSelectManager;
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import { setDifference, type TimelineDate } from '#lib/utils/timeline-util.ts';
|
||||
import { AssetOrder } from '@immich/sdk';
|
||||
import type { TimelineDay } from './timeline-day.svelte';
|
||||
import type { TimelineMonth } from './timeline-month.svelte';
|
||||
import type { TimelineAsset } from './types';
|
||||
import type { TimelineDay } from './timeline-day.svelte.ts';
|
||||
import type { TimelineMonth } from './timeline-month.svelte.ts';
|
||||
import type { TimelineAsset } from './types.ts';
|
||||
|
||||
export class GroupInsertionCache {
|
||||
#lookupCache: {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { TUNABLES } from '#lib/utils/tunables.ts';
|
||||
import { TimelineManager } from '../timeline-manager.svelte';
|
||||
import type { TimelineMonth } from '../timeline-month.svelte';
|
||||
import { TimelineManager } from '../timeline-manager.svelte.ts';
|
||||
import type { TimelineMonth } from '../timeline-month.svelte.ts';
|
||||
|
||||
const {
|
||||
TIMELINE: { INTERSECTION_EXPAND_TOP, INTERSECTION_EXPAND_BOTTOM },
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { TimelineManager } from '../timeline-manager.svelte';
|
||||
import type { TimelineMonth } from '../timeline-month.svelte';
|
||||
import type { UpdateGeometryOptions } from '../types';
|
||||
import { TimelineManager } from '../timeline-manager.svelte.ts';
|
||||
import type { TimelineMonth } from '../timeline-month.svelte.ts';
|
||||
import type { UpdateGeometryOptions } from '../types.ts';
|
||||
|
||||
export function updateGeometry(timelineManager: TimelineManager, month: TimelineMonth, options: UpdateGeometryOptions) {
|
||||
const { invalidateHeight, noDefer = false } = options;
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import { authManager } from '#lib/managers/auth-manager.svelte.ts';
|
||||
import { toISOYearMonthUTC } from '#lib/utils/timeline-util.ts';
|
||||
import { getTimeBucket } from '@immich/sdk';
|
||||
import { TimelineManager } from '../timeline-manager.svelte';
|
||||
import type { TimelineMonth } from '../timeline-month.svelte';
|
||||
import type { TimelineManagerOptions } from '../types';
|
||||
import { TimelineManager } from '../timeline-manager.svelte.ts';
|
||||
import type { TimelineMonth } from '../timeline-month.svelte.ts';
|
||||
import type { TimelineManagerOptions } from '../types.ts';
|
||||
|
||||
export async function loadFromTimeBuckets(
|
||||
timelineManager: TimelineManager,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { describe, expect, it } from 'vitest';
|
||||
import type { TimelineMonth } from '../timeline-month.svelte';
|
||||
import { findClosestTimelineMonthForDate } from './search-support.svelte';
|
||||
import type { TimelineMonth } from '../timeline-month.svelte.ts';
|
||||
import { findClosestTimelineMonthForDate } from './search-support.svelte.ts';
|
||||
|
||||
function createMockTimelineMonth(year: number, month: number): TimelineMonth {
|
||||
return {
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import { getOrderingDate, plainDateTimeCompare, type TimelineYearMonth } from '#lib/utils/timeline-util.ts';
|
||||
import { AssetOrder, AssetOrderBy, type AssetResponseDto } from '@immich/sdk';
|
||||
import { DateTime } from 'luxon';
|
||||
import { TimelineManager } from '../timeline-manager.svelte';
|
||||
import type { TimelineMonth } from '../timeline-month.svelte';
|
||||
import type { AssetDescriptor, Direction, TimelineAsset } from '../types';
|
||||
import { TimelineManager } from '../timeline-manager.svelte.ts';
|
||||
import type { TimelineMonth } from '../timeline-month.svelte.ts';
|
||||
import type { AssetDescriptor, Direction, TimelineAsset } from '../types.ts';
|
||||
|
||||
export async function getAssetWithOffset(
|
||||
timelineManager: TimelineManager,
|
||||
|
||||
@@ -4,9 +4,9 @@ import { getOrderingDate, plainDateTimeCompare } from '#lib/utils/timeline-util.
|
||||
import { TUNABLES } from '#lib/utils/tunables.ts';
|
||||
import { AssetOrder, AssetOrderBy } from '@immich/sdk';
|
||||
import { SvelteSet } from 'svelte/reactivity';
|
||||
import type { TimelineMonth } from './timeline-month.svelte';
|
||||
import type { Direction, MoveAsset, TimelineAsset } from './types';
|
||||
import { ViewerAsset } from './viewer-asset.svelte';
|
||||
import type { TimelineMonth } from './timeline-month.svelte.ts';
|
||||
import type { Direction, MoveAsset, TimelineAsset } from './types.ts';
|
||||
import { ViewerAsset } from './viewer-asset.svelte.ts';
|
||||
|
||||
const {
|
||||
TIMELINE: { INTERSECTION_EXPAND_TOP, INTERSECTION_EXPAND_BOTTOM },
|
||||
|
||||
@@ -5,9 +5,9 @@ import { AbortError } from '#lib/utils.ts';
|
||||
import { fromISODateTimeUTCToObject } from '#lib/utils/timeline-util.ts';
|
||||
import { AssetOrderBy, AssetVisibility, type AssetResponseDto, type TimeBucketAssetResponseDto } from '@immich/sdk';
|
||||
import { tick } from 'svelte';
|
||||
import { assetFactory, timelineAssetFactory, toResponseDto } from '#test-data/factories/asset-factory';
|
||||
import { TimelineManager } from './timeline-manager.svelte';
|
||||
import type { TimelineAsset } from './types';
|
||||
import { assetFactory, timelineAssetFactory, toResponseDto } from '#test-data/factories/asset-factory.ts';
|
||||
import { TimelineManager } from './timeline-manager.svelte.ts';
|
||||
import type { TimelineAsset } from './types.ts';
|
||||
|
||||
async function getAssets(timelineManager: TimelineManager) {
|
||||
const assets = [];
|
||||
|
||||
@@ -35,9 +35,9 @@ import {
|
||||
} from '@immich/sdk';
|
||||
import { clamp, isEqual } from 'lodash-es';
|
||||
import { SvelteDate, SvelteSet } from 'svelte/reactivity';
|
||||
import { isMismatched, updateObject } from './internal/utils.svelte';
|
||||
import { TimelineDay } from './timeline-day.svelte';
|
||||
import { TimelineMonth } from './timeline-month.svelte';
|
||||
import { isMismatched, updateObject } from './internal/utils.svelte.ts';
|
||||
import { TimelineDay } from './timeline-day.svelte.ts';
|
||||
import { TimelineMonth } from './timeline-month.svelte.ts';
|
||||
import type {
|
||||
AssetDescriptor,
|
||||
Direction,
|
||||
@@ -46,7 +46,7 @@ import type {
|
||||
TimelineAsset,
|
||||
TimelineManagerOptions,
|
||||
Viewport,
|
||||
} from './types';
|
||||
} from './types.ts';
|
||||
|
||||
type ViewportTopMonthIntersection = {
|
||||
month: TimelineMonth | undefined;
|
||||
|
||||
@@ -22,11 +22,11 @@ import { AssetOrder, AssetOrderBy, type TimeBucketAssetResponseDto } from '@immi
|
||||
import { t } from 'svelte-i18n';
|
||||
import { SvelteSet } from 'svelte/reactivity';
|
||||
import { get } from 'svelte/store';
|
||||
import { GroupInsertionCache } from './group-insertion-cache.svelte';
|
||||
import { TimelineDay } from './timeline-day.svelte';
|
||||
import type { TimelineManager } from './timeline-manager.svelte';
|
||||
import type { AssetDescriptor, Direction, MoveAsset, TimelineAsset } from './types';
|
||||
import { ViewerAsset } from './viewer-asset.svelte';
|
||||
import { GroupInsertionCache } from './group-insertion-cache.svelte.ts';
|
||||
import { TimelineDay } from './timeline-day.svelte.ts';
|
||||
import type { TimelineManager } from './timeline-manager.svelte.ts';
|
||||
import type { AssetDescriptor, Direction, MoveAsset, TimelineAsset } from './types.ts';
|
||||
import { ViewerAsset } from './viewer-asset.svelte.ts';
|
||||
|
||||
export class TimelineMonth {
|
||||
#viewportProximity: ViewportProximity = $state(ViewportProximity.FarFromViewport);
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import type { TimelineAsset } from './types';
|
||||
import type { TimelineAsset } from './types.ts';
|
||||
|
||||
export const assetsSnapshot = (assets: TimelineAsset[]) => assets.map((asset) => $state.snapshot(asset));
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import type { CommonPosition } from '#lib/utils/layout-utils.ts';
|
||||
import type { TimelineAsset } from './types';
|
||||
import type { TimelineAsset } from './types.ts';
|
||||
|
||||
export class ViewerAsset {
|
||||
position: CommonPosition | undefined = $state.raw();
|
||||
|
||||
@@ -7,7 +7,7 @@ import { calcNewDate } from '#lib/modals/timezone-utils.ts';
|
||||
import { fireEvent, render, screen, waitFor } from '@testing-library/svelte';
|
||||
import userEvent from '@testing-library/user-event';
|
||||
import { DateTime } from 'luxon';
|
||||
import { userAdminFactory } from '#test-data/factories/user-factory';
|
||||
import { userAdminFactory } from '#test-data/factories/user-factory.ts';
|
||||
import AssetSelectionChangeDateModal from './AssetSelectionChangeDateModal.svelte';
|
||||
|
||||
describe('DateSelectionModal component', () => {
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
SlideshowNavigation,
|
||||
SlideshowState,
|
||||
slideshowStore,
|
||||
} from '../stores/slideshow.store';
|
||||
} from '../stores/slideshow.store.ts';
|
||||
|
||||
const {
|
||||
slideshowDelay,
|
||||
|
||||
@@ -7,22 +7,22 @@ import {
|
||||
type AdminConfigDto,
|
||||
type LibraryResponseDto,
|
||||
} from '@immich/sdk';
|
||||
import { eventManager } from '$lib/managers/event-manager.svelte';
|
||||
import { executeMutation, queryClient } from '$lib/queries/client';
|
||||
import { getAdminConfigQuery, updateAdminConfigMutation } from '$lib/queries/config-admin.query';
|
||||
import { getPublicConfigQuery } from '$lib/queries/config-public.query';
|
||||
import { eventManager } from '#lib/managers/event-manager.svelte.ts';
|
||||
import { executeMutation, queryClient } from '#lib/queries/client.ts';
|
||||
import { getAdminConfigQuery, updateAdminConfigMutation } from '#lib/queries/config-admin.query.ts';
|
||||
import { getPublicConfigQuery } from '#lib/queries/config-public.query.ts';
|
||||
import {
|
||||
deleteLibraryMutation,
|
||||
getAllLibrariesQuery,
|
||||
getLibraryStatisticsQuery,
|
||||
updateLibraryMutation,
|
||||
} from '$lib/queries/library.query';
|
||||
import { getServerConfigQuery, getStorageQuery } from '$lib/queries/server.query';
|
||||
import { handleError } from '$lib/utils/handle-error';
|
||||
} from '#lib/queries/library.query.ts';
|
||||
import { getServerConfigQuery, getStorageQuery } from '#lib/queries/server-info.query.ts';
|
||||
import { handleError } from '#lib/utils/handle-error.ts';
|
||||
|
||||
vi.mock('@immich/ui', () => ({ toastManager: { primary: vi.fn(), info: vi.fn() } }));
|
||||
vi.mock('$lib/utils/handle-error', () => ({ handleError: vi.fn() }));
|
||||
vi.mock('$lib/utils/i18n', () => ({ getFormatter: () => Promise.resolve((key: string) => key) }));
|
||||
vi.mock('#lib/utils/handle-error.ts', () => ({ handleError: vi.fn() }));
|
||||
vi.mock('#lib/utils/i18n.ts', () => ({ getFormatter: () => Promise.resolve((key: string) => key) }));
|
||||
vi.mock('@immich/sdk', () => ({
|
||||
createLibrary: vi.fn(),
|
||||
deleteLibrary: vi.fn(),
|
||||
|
||||
@@ -7,8 +7,8 @@ import {
|
||||
type UserAdminResponseDto,
|
||||
} from '@immich/sdk';
|
||||
import { QueryObserver } from '@tanstack/svelte-query';
|
||||
import { eventManager } from '$lib/managers/event-manager.svelte';
|
||||
import { executeMutation, queryClient } from '$lib/queries/client';
|
||||
import { eventManager } from '#lib/managers/event-manager.svelte.ts';
|
||||
import { executeMutation, queryClient } from '#lib/queries/client.ts';
|
||||
import {
|
||||
createUserAdminMutation,
|
||||
deleteUserAdminMutation,
|
||||
@@ -16,13 +16,13 @@ import {
|
||||
restoreUserAdminMutation,
|
||||
searchUsersAdminQuery,
|
||||
updateUserAdminMutation,
|
||||
} from '$lib/queries/user-admin.query';
|
||||
import { handleError } from '$lib/utils/handle-error';
|
||||
} from '#lib/queries/user-admin.query.ts';
|
||||
import { handleError } from '#lib/utils/handle-error.ts';
|
||||
|
||||
vi.mock('$lib', () => ({ getHeatmapRange: vi.fn() }));
|
||||
vi.mock('#lib', () => ({ getHeatmapRange: vi.fn() }));
|
||||
vi.mock('@immich/ui', () => ({ toastManager: { primary: vi.fn(), info: vi.fn() } }));
|
||||
vi.mock('$lib/utils/handle-error', () => ({ handleError: vi.fn() }));
|
||||
vi.mock('$lib/utils/i18n', () => ({ getFormatter: () => Promise.resolve((key: string) => key) }));
|
||||
vi.mock('#lib/utils/handle-error.ts', () => ({ handleError: vi.fn() }));
|
||||
vi.mock('#lib/utils/i18n.ts', () => ({ getFormatter: () => Promise.resolve((key: string) => key) }));
|
||||
vi.mock('@immich/sdk', () => ({
|
||||
CalendarHeatmapType: { Upload: 'upload' },
|
||||
createUserAdmin: vi.fn(),
|
||||
|
||||
@@ -7,10 +7,10 @@ import { getFormatter } from '#lib/utils/i18n.ts';
|
||||
import { getAssetInfo, type UserConfigDto } from '@immich/sdk';
|
||||
import { toastManager } from '@immich/ui';
|
||||
import { vitest } from 'vitest';
|
||||
import { assetFactory } from '#test-data/factories/asset-factory';
|
||||
import { preferencesFactory } from '#test-data/factories/preferences-factory';
|
||||
import { sharedLinkFactory } from '#test-data/factories/shared-link-factory';
|
||||
import { userAdminFactory } from '#test-data/factories/user-factory';
|
||||
import { assetFactory } from '#test-data/factories/asset-factory.ts';
|
||||
import { preferencesFactory } from '#test-data/factories/preferences-factory.ts';
|
||||
import { sharedLinkFactory } from '#test-data/factories/shared-link-factory.ts';
|
||||
import { userAdminFactory } from '#test-data/factories/user-factory.ts';
|
||||
|
||||
vitest.mock('@immich/ui', () => ({
|
||||
toastManager: {
|
||||
@@ -18,15 +18,15 @@ vitest.mock('@immich/ui', () => ({
|
||||
},
|
||||
}));
|
||||
|
||||
vitest.mock('#lib/utils/i18n.js', () => ({
|
||||
vitest.mock('#lib/utils/i18n.ts', () => ({
|
||||
getFormatter: vitest.fn(),
|
||||
getPreferredLocale: vitest.fn(),
|
||||
}));
|
||||
|
||||
vitest.mock('@immich/sdk');
|
||||
|
||||
vitest.mock('#lib/utils.js', async () => {
|
||||
const originalModule = await vitest.importActual('#lib/utils.js');
|
||||
vitest.mock('#lib/utils.ts', async () => {
|
||||
const originalModule = await vitest.importActual('#lib/utils.ts');
|
||||
return {
|
||||
...originalModule,
|
||||
sleep: vitest.fn(),
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { asUrl } from '#lib/services/shared-link.service.ts';
|
||||
import { sharedLinkFactory } from '#test-data/factories/shared-link-factory';
|
||||
import { sharedLinkFactory } from '#test-data/factories/shared-link-factory.ts';
|
||||
|
||||
vi.mock(import('#lib/queries/client.js'), async (importOriginal) => ({
|
||||
vi.mock(import('#lib/queries/client.ts'), async (importOriginal) => ({
|
||||
...(await importOriginal()),
|
||||
readPreloadedQuery: vi.fn().mockReturnValue({ server: { externalDomain: 'http://localhost:2283' } }),
|
||||
}));
|
||||
|
||||
@@ -1,20 +1,20 @@
|
||||
import { UserStatus, type UserAdminResponseDto } from '@immich/sdk';
|
||||
import type { MessageFormatter } from 'svelte-i18n';
|
||||
import { getUserAdminActions } from '$lib/services/user-admin.service';
|
||||
import { getUserAdminActions } from '#lib/services/user-admin.service.ts';
|
||||
|
||||
vi.mock('$app/navigation', () => ({ goto: vi.fn() }));
|
||||
vi.mock('@immich/ui', () => ({ modalManager: { show: vi.fn(), showDialog: vi.fn() } }));
|
||||
vi.mock('$lib/managers/auth-manager.svelte', () => ({ authManager: { user: { id: 'self' } } }));
|
||||
vi.mock('$lib/modals/PasswordResetSuccessModal.svelte', () => ({ default: {} }));
|
||||
vi.mock('$lib/modals/UserDeleteConfirmModal.svelte', () => ({ default: {} }));
|
||||
vi.mock('$lib/modals/UserRestoreConfirmModal.svelte', () => ({ default: {} }));
|
||||
vi.mock('$lib/queries/client', () => ({
|
||||
vi.mock('#lib/managers/auth-manager.svelte.ts', () => ({ authManager: { user: { id: 'self' } } }));
|
||||
vi.mock('#lib/modals/PasswordResetSuccessModal.svelte', () => ({ default: {} }));
|
||||
vi.mock('#lib/modals/UserDeleteConfirmModal.svelte', () => ({ default: {} }));
|
||||
vi.mock('#lib/modals/UserRestoreConfirmModal.svelte', () => ({ default: {} }));
|
||||
vi.mock('#lib/queries/client.ts', () => ({
|
||||
executeMutation: vi.fn(),
|
||||
readPreloadedQuery: () => ({ user: { deleteDelay: 7 } }),
|
||||
}));
|
||||
vi.mock('$lib/queries/user-admin.query', () => ({ updateUserAdminMutation: vi.fn() }));
|
||||
vi.mock('$lib/route', () => ({ Route: { newUser: vi.fn(), viewUser: vi.fn(), editUser: vi.fn() } }));
|
||||
vi.mock('$lib/utils/i18n', () => ({ getFormatter: vi.fn() }));
|
||||
vi.mock('#lib/queries/user-admin.query.ts', () => ({ updateUserAdminMutation: vi.fn() }));
|
||||
vi.mock('#lib/route.ts', () => ({ Route: { newUser: vi.fn(), viewUser: vi.fn(), editUser: vi.fn() } }));
|
||||
vi.mock('#lib/utils/i18n.ts', () => ({ getFormatter: vi.fn() }));
|
||||
|
||||
describe('admin actions for active and deleted accounts', () => {
|
||||
it('does not format a deletion date for an active account', () => {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<script lang="ts">
|
||||
import { BaseEventManager } from '$lib/utils/base-event-manager.svelte';
|
||||
import { BaseEventManager } from '#lib/utils/base-event-manager.svelte.ts';
|
||||
import EventSubscriber from './EventSubscriber.svelte';
|
||||
|
||||
const manager = new BaseEventManager<{ update: [] }>();
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<script lang="ts">
|
||||
import { onDestroy } from 'svelte';
|
||||
import type { BaseEventManager } from '$lib/utils/base-event-manager.svelte';
|
||||
import type { BaseEventManager } from '#lib/utils/base-event-manager.svelte.ts';
|
||||
|
||||
const { manager }: { manager: BaseEventManager<{ update: [] }> } = $props();
|
||||
let received = $state(0);
|
||||
|
||||
@@ -4,7 +4,7 @@ import { AssetVisibility, deleteAssets as deleteBulk, restoreAssets, type StackR
|
||||
import { toastManager } from '@immich/ui';
|
||||
import { t } from 'svelte-i18n';
|
||||
import { get } from 'svelte/store';
|
||||
import { handleError } from './handle-error';
|
||||
import { handleError } from './handle-error.ts';
|
||||
|
||||
export type OnDelete = (assetIds: string[]) => void;
|
||||
export type OnUndoDelete = (assets: TimelineAsset[]) => void;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { AdaptiveImageLoader, type QualityList } from '#lib/utils/adaptive-image-loader.svelte.ts';
|
||||
import { cancelImageUrl } from '#lib/utils/sw-messaging.ts';
|
||||
|
||||
vi.mock('#lib/utils/sw-messaging.js', () => ({
|
||||
vi.mock('#lib/utils/sw-messaging.ts', () => ({
|
||||
cancelImageUrl: vi.fn(),
|
||||
}));
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { checkWebUpdate } from './app-update';
|
||||
import { checkWebUpdate } from './app-update.ts';
|
||||
|
||||
describe('web update checking', () => {
|
||||
it.each([
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { AssetVisibility, updateAsset, type AssetResponseDto } from '@immich/sdk';
|
||||
import { canCopyImageToClipboard, getAssetFilename, getFilenameExtension, toggleArchive } from './asset-utils';
|
||||
import { canCopyImageToClipboard, getAssetFilename, getFilenameExtension, toggleArchive } from './asset-utils.ts';
|
||||
|
||||
vi.mock('@immich/sdk', async (importOriginal) => {
|
||||
const actual = await importOriginal<typeof import('@immich/sdk')>();
|
||||
|
||||
@@ -27,7 +27,7 @@ import { toastManager } from '@immich/ui';
|
||||
import { DateTime } from 'luxon';
|
||||
import { t } from 'svelte-i18n';
|
||||
import { get } from 'svelte/store';
|
||||
import { handleError } from './handle-error';
|
||||
import { handleError } from './handle-error.ts';
|
||||
|
||||
export const removeTag = async ({
|
||||
assetIds,
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { locale } from '#lib/stores/preferences.store.ts';
|
||||
import { getAlbumDateRange, getShortDateRange } from './date-time';
|
||||
import { getAlbumDateRange, getShortDateRange } from './date-time.ts';
|
||||
|
||||
vitest.mock('#lib/stores/preferences.store.js', { spy: true });
|
||||
vitest.mock('#lib/stores/preferences.store.ts', { spy: true });
|
||||
|
||||
describe('getShortDateRange', () => {
|
||||
beforeEach(() => {
|
||||
|
||||
@@ -6,8 +6,8 @@ import * as utils from '#lib/utils.ts';
|
||||
import { AssetMediaStatus, type AssetMediaResponseDto, type UserAdminResponseDto } from '@immich/sdk';
|
||||
import { get } from 'svelte/store';
|
||||
import { beforeEach, describe, expect, it, vi } from 'vitest';
|
||||
import { preferencesFactory } from '#test-data/factories/preferences-factory';
|
||||
import { fileUploadHandler } from './file-uploader';
|
||||
import { preferencesFactory } from '#test-data/factories/preferences-factory.ts';
|
||||
import { fileUploadHandler } from './file-uploader.ts';
|
||||
|
||||
describe('fileUploader error handling', () => {
|
||||
const mockFile = new File(['content'], 'test.jpg', { type: 'image/jpeg' });
|
||||
|
||||
@@ -19,7 +19,7 @@ import { toastManager } from '@immich/ui';
|
||||
import { tick } from 'svelte';
|
||||
import { t } from 'svelte-i18n';
|
||||
import { get } from 'svelte/store';
|
||||
import { handleError } from './handle-error';
|
||||
import { handleError } from './handle-error.ts';
|
||||
|
||||
export const uploadExecutionQueue = new ExecutorQueue({ concurrency: 2 });
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import type { PersonResponseDto } from '@immich/sdk';
|
||||
import { searchNameLocal } from './person';
|
||||
import { searchNameLocal } from './person.ts';
|
||||
|
||||
const makePerson = (overrides: Partial<PersonResponseDto> = {}): PersonResponseDto => ({
|
||||
id: 'person-1',
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import type { PersonResponseDto } from '@immich/sdk';
|
||||
import { t } from 'svelte-i18n';
|
||||
import { derived } from 'svelte/store';
|
||||
import { normalizeSearchString } from './string-utils';
|
||||
import { normalizeSearchString } from './string-utils.ts';
|
||||
|
||||
export const searchNameLocal = (
|
||||
name: string,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { ServiceWorkerMessenger } from './sw-messenger';
|
||||
import { ServiceWorkerMessenger } from './sw-messenger.ts';
|
||||
|
||||
const hasServiceWorker = globalThis.isSecureContext && 'serviceWorker' in navigator;
|
||||
const messenger = hasServiceWorker ? new ServiceWorkerMessenger(navigator.serviceWorker) : undefined;
|
||||
|
||||
@@ -3,7 +3,7 @@ import { getAltText } from '#lib/utils/thumbnail-util.ts';
|
||||
import { AssetVisibility } from '@immich/sdk';
|
||||
import { init, register, waitLocale } from 'svelte-i18n';
|
||||
import { get } from 'svelte/store';
|
||||
import { locale } from '$lib/stores/preferences.store';
|
||||
import { locale } from '#lib/stores/preferences.store.ts';
|
||||
|
||||
interface Person {
|
||||
name: string;
|
||||
|
||||
@@ -8,19 +8,19 @@ describe('hashFile', () => {
|
||||
});
|
||||
|
||||
it('hashFileJs produces the correct SHA-1 hex digest', async () => {
|
||||
const { hashFileJs } = await import('./hash-file');
|
||||
const { hashFileJs } = await import('./hash-file.ts');
|
||||
const file = new File([content], 'a.txt');
|
||||
await expect(hashFileJs(file)).resolves.toBe(knownSha1Hex);
|
||||
});
|
||||
|
||||
it('hashFileWasm produces the correct SHA-1 hex digest', async () => {
|
||||
const { hashFileWasm } = await import('./hash-file');
|
||||
const { hashFileWasm } = await import('./hash-file.ts');
|
||||
const file = new File([content], 'a.txt');
|
||||
await expect(hashFileWasm(file)).resolves.toBe(knownSha1Hex);
|
||||
});
|
||||
|
||||
it('hashFileWasm and hashFileJs produce identical output for the same input', async () => {
|
||||
const { hashFileWasm, hashFileJs } = await import('./hash-file');
|
||||
const { hashFileWasm, hashFileJs } = await import('./hash-file.ts');
|
||||
for (const size of [0, 1, 1024, 10_000]) {
|
||||
const file = new File([new Uint8Array(size)], 'x.bin');
|
||||
const [wasmHash, jsHash] = await Promise.all([hashFileWasm(file), hashFileJs(file)]);
|
||||
@@ -34,13 +34,13 @@ describe('hashFile', () => {
|
||||
}));
|
||||
vi.resetModules();
|
||||
|
||||
const { hashFile } = await import('./hash-file');
|
||||
const { hashFile } = await import('./hash-file.ts');
|
||||
const file = new File([content], 'a.txt');
|
||||
await expect(hashFile(file)).resolves.toBe(knownSha1Hex);
|
||||
});
|
||||
|
||||
it('uses the WASM path when available and matches the JS output', async () => {
|
||||
const { hashFile } = await import('./hash-file');
|
||||
const { hashFile } = await import('./hash-file.ts');
|
||||
const file = new File([content], 'a.txt');
|
||||
await expect(hashFile(file)).resolves.toBe(knownSha1Hex);
|
||||
});
|
||||
|
||||
@@ -3,11 +3,11 @@ import { render } from '@testing-library/svelte';
|
||||
import userEvent from '@testing-library/user-event';
|
||||
import type { ComponentProps } from 'svelte';
|
||||
import { vi } from 'vitest';
|
||||
import { personFactory } from '#test-data/factories/person-factory';
|
||||
import { personFactory } from '#test-data/factories/person-factory.ts';
|
||||
import ManagePeoplePage from './+page.svelte';
|
||||
import ManagePeoplePageTestWrapper from './ManagePeopleVisibility.test-wrapper.svelte';
|
||||
|
||||
vi.mock(import('#lib/managers/feature-flags-manager.svelte.js'), function () {
|
||||
vi.mock(import('#lib/managers/feature-flags-manager.svelte.ts'), function () {
|
||||
return {
|
||||
featureFlagsManager: { init: vi.fn(), loadFeatureFlags: vi.fn(), value: {} } as never,
|
||||
};
|
||||
|
||||
@@ -1,31 +1,30 @@
|
||||
<script lang="ts">
|
||||
import ActionMenuItem from '$lib/components/ActionMenuItem.svelte';
|
||||
import UserPageLayout from '$lib/components/layouts/UserPageLayout.svelte';
|
||||
import MemoriesLane from '$lib/components/memories/MemoriesLane.svelte';
|
||||
import ButtonContextMenu from '$lib/components/shared-components/context-menu/ButtonContextMenu.svelte';
|
||||
import EmptyPlaceholder from '$lib/components/shared-components/EmptyPlaceholder.svelte';
|
||||
import ArchiveAction from '$lib/components/timeline/actions/ArchiveAction.svelte';
|
||||
import ChangeDate from '$lib/components/timeline/actions/ChangeDateAction.svelte';
|
||||
import ChangeDescription from '$lib/components/timeline/actions/ChangeDescriptionAction.svelte';
|
||||
import ChangeLocation from '$lib/components/timeline/actions/ChangeLocationAction.svelte';
|
||||
import DeleteAssets from '$lib/components/timeline/actions/DeleteAssetsAction.svelte';
|
||||
import DownloadAction from '$lib/components/timeline/actions/DownloadAction.svelte';
|
||||
import FavoriteAction from '$lib/components/timeline/actions/FavoriteAction.svelte';
|
||||
import LinkLivePhotoAction from '$lib/components/timeline/actions/LinkLivePhotoAction.svelte';
|
||||
import SelectAllAssets from '$lib/components/timeline/actions/SelectAllAction.svelte';
|
||||
import SetVisibilityAction from '$lib/components/timeline/actions/SetVisibilityAction.svelte';
|
||||
import AssetSelectControlBar from '$lib/components/timeline/AssetSelectControlBar.svelte';
|
||||
import Timeline from '$lib/components/timeline/Timeline.svelte';
|
||||
import { AssetAction } from '$lib/constants';
|
||||
import { assetMultiSelectManager } from '$lib/managers/asset-multi-select-manager.svelte';
|
||||
import { assetViewerManager } from '$lib/managers/asset-viewer-manager.svelte';
|
||||
import { authManager } from '$lib/managers/auth-manager.svelte';
|
||||
import { memoryManager } from '$lib/managers/memory-manager.svelte';
|
||||
import { TimelineManager } from '$lib/managers/timeline-manager/timeline-manager.svelte';
|
||||
import { getAssetBulkActions } from '$lib/services/asset.service';
|
||||
import { getStackBulkActions } from '$lib/services/stack.service';
|
||||
import { type OnLink, type OnUnlink } from '$lib/utils/actions';
|
||||
import { openFileUploadDialog } from '$lib/utils/file-uploader';
|
||||
import ActionMenuItem from '#lib/components/ActionMenuItem.svelte';
|
||||
import UserPageLayout from '#lib/components/layouts/UserPageLayout.svelte';
|
||||
import MemoriesLane from '#lib/components/memories/MemoriesLane.svelte';
|
||||
import ButtonContextMenu from '#lib/components/shared-components/context-menu/ButtonContextMenu.svelte';
|
||||
import EmptyPlaceholder from '#lib/components/shared-components/EmptyPlaceholder.svelte';
|
||||
import ChangeDate from '#lib/components/timeline/actions/ChangeDateAction.svelte';
|
||||
import ChangeDescription from '#lib/components/timeline/actions/ChangeDescriptionAction.svelte';
|
||||
import ChangeLocation from '#lib/components/timeline/actions/ChangeLocationAction.svelte';
|
||||
import DeleteAssets from '#lib/components/timeline/actions/DeleteAssetsAction.svelte';
|
||||
import DownloadAction from '#lib/components/timeline/actions/DownloadAction.svelte';
|
||||
import FavoriteAction from '#lib/components/timeline/actions/FavoriteAction.svelte';
|
||||
import LinkLivePhotoAction from '#lib/components/timeline/actions/LinkLivePhotoAction.svelte';
|
||||
import SelectAllAssets from '#lib/components/timeline/actions/SelectAllAction.svelte';
|
||||
import SetVisibilityAction from '#lib/components/timeline/actions/SetVisibilityAction.svelte';
|
||||
import AssetSelectControlBar from '#lib/components/timeline/AssetSelectControlBar.svelte';
|
||||
import Timeline from '#lib/components/timeline/Timeline.svelte';
|
||||
import { AssetAction } from '#lib/constants.ts';
|
||||
import { assetMultiSelectManager } from '#lib/managers/asset-multi-select-manager.svelte.ts';
|
||||
import { assetViewerManager } from '#lib/managers/asset-viewer-manager.svelte.ts';
|
||||
import { authManager } from '#lib/managers/auth-manager.svelte.ts';
|
||||
import { memoryManager } from '#lib/managers/memory-manager.svelte.ts';
|
||||
import { TimelineManager } from '#lib/managers/timeline-manager/timeline-manager.svelte.ts';
|
||||
import { getAssetBulkActions } from '#lib/services/asset.service.ts';
|
||||
import { getStackBulkActions } from '#lib/services/stack.service.ts';
|
||||
import { type OnLink, type OnUnlink } from '#lib/utils/actions.ts';
|
||||
import { openFileUploadDialog } from '#lib/utils/file-uploader.ts';
|
||||
import { AssetVisibility } from '@immich/sdk';
|
||||
import { ActionButton, CommandPaletteDefaultProvider } from '@immich/ui';
|
||||
import { mdiDotsVertical } from '@mdi/js';
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
import { getAssetMediaUrl } from '#lib/utils.ts';
|
||||
import { render, screen } from '@testing-library/svelte';
|
||||
import { albumFactory } from '#test-data/factories/album-factory';
|
||||
import { assetFactory } from '#test-data/factories/asset-factory';
|
||||
import { sharedLinkFactory } from '#test-data/factories/shared-link-factory';
|
||||
import { albumFactory } from '#test-data/factories/album-factory.ts';
|
||||
import { assetFactory } from '#test-data/factories/asset-factory.ts';
|
||||
import { sharedLinkFactory } from '#test-data/factories/shared-link-factory.ts';
|
||||
import ShareCover from './ShareCover.svelte';
|
||||
|
||||
vi.mock('#lib/utils.js');
|
||||
vi.mock('#lib/utils.ts');
|
||||
|
||||
describe('ShareCover component', () => {
|
||||
it('renders an image when the shared link is an album', () => {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<script lang="ts">
|
||||
import { version } from '$app/environment';
|
||||
import { checkWebUpdate } from '$lib/utils/app-update';
|
||||
import { version } from '$app/env';
|
||||
import { checkWebUpdate } from '#lib/utils/app-update.ts';
|
||||
import { Button } from '@immich/ui';
|
||||
import { t } from 'svelte-i18n';
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { installMessageListener } from './messaging';
|
||||
import { handleFetch as handleAssetFetch } from './request';
|
||||
import { installMessageListener } from './messaging.ts';
|
||||
import { handleFetch as handleAssetFetch } from './request.ts';
|
||||
|
||||
const ASSET_REQUEST_REGEX = /^\/api\/assets\/[a-f0-9-]+\/(original|thumbnail)/;
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* eslint-disable unicorn/no-unnecessary-global-this */
|
||||
import { handleCancel } from './request';
|
||||
import { handleCancel } from './request.ts';
|
||||
|
||||
const sw = globalThis as unknown as ServiceWorkerGlobalScope;
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
"module": "es2022",
|
||||
"noImplicitOverride": true,
|
||||
"paths": {
|
||||
"chromecast-caf-sender": ["./node_modules/@types/chromecast-caf-sender/index.d.ts"],
|
||||
"#i18n/*": ["../i18n/*"],
|
||||
"#test-data/*": ["./src/test-data/*"],
|
||||
"#tests/*": ["./src/../tests/*"]
|
||||
|
||||
@@ -107,10 +107,6 @@ export default defineConfig({
|
||||
|
||||
handler(warning);
|
||||
},
|
||||
// TODO remove as this way of doing it is deprecated
|
||||
alias: {
|
||||
'chromecast-caf-sender': './node_modules/@types/chromecast-caf-sender/index.d.ts',
|
||||
},
|
||||
}),
|
||||
cspManifest(),
|
||||
|
||||
|
||||
Reference in New Issue
Block a user