Compare commits

..

3 Commits

Author SHA1 Message Date
mertalev 433de6ad68 remove pigeon method 2026-05-19 18:09:57 -04:00
mertalev 085c8da9bf separate group ids 2026-05-19 18:09:57 -04:00
bo0tzz 915d865ce2 chore: use custom sticky-comment action (#28505) 2026-05-19 20:25:46 +00:00
25 changed files with 237 additions and 229 deletions
+4 -5
View File
@@ -159,14 +159,14 @@ jobs:
- name: Comment APK download link on PR
if: ${{ github.event_name == 'pull_request' && !github.event.pull_request.head.repo.fork }}
uses: mshick/add-pr-comment@8e4927817251f1ff60c001f04568532b38e0b4a0 # v3.11.0
uses: immich-app/devtools/actions/sticky-comment@0135acd12ad9f3369b94a2aa3c0ae8c835a4e926 # sticky-comment-action-v1.0.0
env:
HEAD_SHA: ${{ github.event.pull_request.head.sha }}
APK_URL: ${{ steps.upload-apk.outputs.artifact-url }}
with:
github-token: ${{ steps.token.outputs.token }}
message-id: 'mobile-android-apk'
message: |
id: mobile-android-apk
token: ${{ steps.token.outputs.token }}
body: |
📱 **Android release APK (universal)** — `${{ env.HEAD_SHA }}`
Download: ${{ env.APK_URL }}
@@ -288,7 +288,6 @@ jobs:
APP_STORE_CONNECT_API_KEY_ID: ${{ secrets.APP_STORE_CONNECT_API_KEY_ID }}
APP_STORE_CONNECT_API_KEY_ISSUER_ID: ${{ secrets.APP_STORE_CONNECT_API_KEY_ISSUER_ID }}
ENVIRONMENT: ${{ inputs.environment || 'development' }}
BUNDLE_ID_SUFFIX: ${{ inputs.environment == 'production' && '' || 'development' }}
GITHUB_REF: ${{ github.ref }}
FASTLANE_XCODEBUILD_SETTINGS_TIMEOUT: 120
FASTLANE_XCODEBUILD_SETTINGS_RETRIES: 6
+2 -3
View File
@@ -213,12 +213,11 @@ jobs:
run: 'mise run //deployment:tf apply'
- name: Comment
uses: actions-cool/maintain-one-comment@909842216bc8e8658364c572ec52100f4c2cc50a # v3.3.0
uses: immich-app/devtools/actions/sticky-comment@0135acd12ad9f3369b94a2aa3c0ae8c835a4e926 # sticky-comment-action-v1.0.0
if: ${{ steps.parameters.outputs.event == 'pr' }}
with:
id: docs-pr-url
token: ${{ steps.token.outputs.token }}
number: ${{ fromJson(needs.checks.outputs.parameters).pr_number }}
body: |
📖 Documentation deployed to [${{ steps.docs-output.outputs.subdomain }}](https://${{ steps.docs-output.outputs.subdomain }})
emojis: 'rocket'
body-include: '<!-- Docs PR URL -->'
+2 -3
View File
@@ -44,9 +44,8 @@ jobs:
run: 'mise run //deployment:tf destroy -- -refresh=false'
- name: Comment
uses: actions-cool/maintain-one-comment@909842216bc8e8658364c572ec52100f4c2cc50a # v3.3.0
uses: immich-app/devtools/actions/sticky-comment@0135acd12ad9f3369b94a2aa3c0ae8c835a4e926 # sticky-comment-action-v1.0.0
with:
id: docs-pr-url
token: ${{ steps.token.outputs.token }}
number: ${{ github.event.number }}
delete: true
body-include: '<!-- Docs PR URL -->'
+12 -12
View File
@@ -19,11 +19,11 @@ jobs:
client-id: ${{ secrets.PUSH_O_MATIC_APP_CLIENT_ID }}
private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }}
- uses: mshick/add-pr-comment@8e4927817251f1ff60c001f04568532b38e0b4a0 # v3.11.0
- uses: immich-app/devtools/actions/sticky-comment@0135acd12ad9f3369b94a2aa3c0ae8c835a4e926 # sticky-comment-action-v1.0.0
with:
github-token: ${{ steps.token.outputs.token }}
message-id: 'preview-status'
message: 'Deploying preview environment to https://pr-${{ github.event.pull_request.number }}.preview.internal.immich.build/'
id: preview-status
token: ${{ steps.token.outputs.token }}
body: 'Deploying preview environment to https://pr-${{ github.event.pull_request.number }}.preview.internal.immich.build/'
remove-label:
runs-on: ubuntu-latest
@@ -48,16 +48,16 @@ jobs:
name: 'preview'
})
- uses: mshick/add-pr-comment@8e4927817251f1ff60c001f04568532b38e0b4a0 # v3.11.0
- uses: immich-app/devtools/actions/sticky-comment@0135acd12ad9f3369b94a2aa3c0ae8c835a4e926 # sticky-comment-action-v1.0.0
if: ${{ github.event.pull_request.head.repo.fork }}
with:
github-token: ${{ steps.token.outputs.token }}
message-id: 'preview-status'
message: 'PRs from forks cannot have preview environments.'
id: preview-status
token: ${{ steps.token.outputs.token }}
body: 'PRs from forks cannot have preview environments.'
- uses: mshick/add-pr-comment@8e4927817251f1ff60c001f04568532b38e0b4a0 # v3.11.0
- uses: immich-app/devtools/actions/sticky-comment@0135acd12ad9f3369b94a2aa3c0ae8c835a4e926 # sticky-comment-action-v1.0.0
if: ${{ !github.event.pull_request.head.repo.fork }}
with:
github-token: ${{ steps.token.outputs.token }}
message-id: 'preview-status'
message: 'Preview environment has been removed.'
id: preview-status
token: ${{ steps.token.outputs.token }}
body: 'Preview environment has been removed.'
+1 -1
View File
@@ -32,7 +32,7 @@
"@playwright/test": "^1.44.1",
"@socket.io/component-emitter": "^3.1.2",
"@types/luxon": "^3.4.2",
"@types/node": "^24.12.4",
"@types/node": "^24.12.2",
"@types/pg": "^8.15.1",
"@types/pngjs": "^6.0.4",
"@types/supertest": "^7.0.0",
+7
View File
@@ -89,6 +89,13 @@ flutter {
}
dependencies {
constraints {
implementation("androidx.glance:glance-appwidget") {
version { strictly libs.versions.glance.get() }
because 'home_widget requests 1.+ which can resolve to pre-releases incompatible with our compileSdk/AGP'
}
}
implementation libs.okhttp
implementation libs.cronet.embedded
implementation libs.media3.datasource.okhttp
@@ -1,7 +1,6 @@
package app.alextran.immich.core
import android.app.Activity
import android.content.Context
import android.os.OperationCanceledException
import android.security.KeyChain
import app.alextran.immich.NativeBuffer
+3 -6
View File
@@ -718,6 +718,7 @@
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
CUSTOM_GROUP_ID = group.app.immich.share.profile;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
@@ -750,7 +751,6 @@
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 240;
CUSTOM_GROUP_ID = group.app.immich.share;
DEVELOPMENT_TEAM = 2W7AC6T8T5;
ENABLE_BITCODE = NO;
INFOPLIST_FILE = Runner/Info.plist;
@@ -801,6 +801,7 @@
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
CUSTOM_GROUP_ID = group.app.immich.share.debug;
DEBUG_INFORMATION_FORMAT = dwarf;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
@@ -860,6 +861,7 @@
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
CUSTOM_GROUP_ID = group.app.immich.share;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
@@ -894,7 +896,6 @@
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 240;
CUSTOM_GROUP_ID = group.app.immich.share;
DEVELOPMENT_TEAM = 2W7AC6T8T5;
ENABLE_BITCODE = NO;
INFOPLIST_FILE = Runner/Info.plist;
@@ -924,7 +925,6 @@
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 240;
CUSTOM_GROUP_ID = group.app.immich.share;
DEVELOPMENT_TEAM = 2W7AC6T8T5;
ENABLE_BITCODE = NO;
INFOPLIST_FILE = Runner/Info.plist;
@@ -1080,7 +1080,6 @@
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 240;
CUSTOM_GROUP_ID = group.app.immich.share;
DEVELOPMENT_TEAM = 2W7AC6T8T5;
ENABLE_USER_SCRIPT_SANDBOXING = YES;
GCC_C_LANGUAGE_STANDARD = gnu17;
@@ -1124,7 +1123,6 @@
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 240;
CUSTOM_GROUP_ID = group.app.immich.share;
DEVELOPMENT_TEAM = 2W7AC6T8T5;
ENABLE_USER_SCRIPT_SANDBOXING = YES;
GCC_C_LANGUAGE_STANDARD = gnu17;
@@ -1165,7 +1163,6 @@
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 240;
CUSTOM_GROUP_ID = group.app.immich.share;
DEVELOPMENT_TEAM = 2W7AC6T8T5;
ENABLE_USER_SCRIPT_SANDBOXING = YES;
GCC_C_LANGUAGE_STANDARD = gnu17;
+3
View File
@@ -31,6 +31,9 @@ import native_video_player
BackgroundWorkerFgHostApiSetup.setUp(binaryMessenger: messenger, api: BackgroundWorkerApiImpl())
ConnectivityApiSetup.setUp(binaryMessenger: messenger, api: ConnectivityApiImpl())
NetworkApiSetup.setUp(binaryMessenger: messenger, api: NetworkApiImpl())
FlutterMethodChannel(name: "home_widget", binaryMessenger: messenger)
.invokeMethod("setAppGroupId", arguments: ["groupId": APP_GROUP])
}
public static func cancelPlugins(with engine: FlutterEngine) {
@@ -4,7 +4,7 @@ import native_video_player
let CLIENT_CERT_LABEL = "app.alextran.immich.client_identity"
let HEADERS_KEY = "immich.request_headers"
let SERVER_URLS_KEY = "immich.server_urls"
let APP_GROUP = "group.app.immich.share"
let APP_GROUP = Bundle.main.object(forInfoDictionaryKey: "AppGroupId") as! String
let COOKIE_EXPIRY_DAYS: TimeInterval = 400
enum AuthCookie: CaseIterable {
+1 -1
View File
@@ -10,7 +10,7 @@
<true/>
<key>com.apple.security.application-groups</key>
<array>
<string>group.app.immich.share</string>
<string>$(CUSTOM_GROUP_ID)</string>
</array>
</dict>
</plist>
+1 -1
View File
@@ -12,7 +12,7 @@
<true/>
<key>com.apple.security.application-groups</key>
<array>
<string>group.app.immich.share</string>
<string>$(CUSTOM_GROUP_ID)</string>
</array>
</dict>
</plist>
@@ -4,7 +4,7 @@
<dict>
<key>com.apple.security.application-groups</key>
<array>
<string>group.app.immich.share</string>
<string>$(CUSTOM_GROUP_ID)</string>
</array>
</dict>
</plist>
+1 -1
View File
@@ -2,7 +2,7 @@ import Foundation
import SwiftUI
import WidgetKit
let IMMICH_SHARE_GROUP = "group.app.immich.share"
let IMMICH_SHARE_GROUP = Bundle.main.object(forInfoDictionaryKey: "AppGroupId") as! String
enum WidgetError: Error, Codable {
case noLogin
+2
View File
@@ -2,6 +2,8 @@
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>AppGroupId</key>
<string>$(CUSTOM_GROUP_ID)</string>
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
@@ -4,7 +4,7 @@
<dict>
<key>com.apple.security.application-groups</key>
<array>
<string>group.app.immich.share</string>
<string>$(CUSTOM_GROUP_ID)</string>
</array>
</dict>
</plist>
+16 -6
View File
@@ -21,6 +21,7 @@ platform :ios do
CODE_SIGN_IDENTITY = "Apple Distribution: FUTO Holdings, Inc. (#{TEAM_ID})"
BASE_BUNDLE_ID = "app.alextran.immich"
DEV_BUNDLE_ID = "tech.futo.immich.testflight"
DEV_GROUP_ID = "group.app.immich.share.testflight"
# Helper method to get App Store Connect API key
def get_api_key
@@ -33,6 +34,13 @@ platform :ios do
)
end
# Helper method to assemble xcargs with optional CUSTOM_GROUP_ID override
def build_xcargs(group_id: nil)
args = "-skipMacroValidation CODE_SIGN_IDENTITY='#{CODE_SIGN_IDENTITY}' CODE_SIGN_STYLE=Manual"
args += " CUSTOM_GROUP_ID='#{group_id}'" if group_id
args
end
# Helper method to get version from pubspec.yaml
def get_version_from_pubspec
require 'yaml'
@@ -89,7 +97,8 @@ end
version_number: nil,
profile_name_main:,
profile_name_share:,
profile_name_widget:
profile_name_widget:,
group_id: nil
)
app_identifier = base_bundle_id
@@ -97,7 +106,7 @@ end
if version_number
increment_version_number(version_number: version_number)
end
# Increment build number
increment_build_number(
build_number: latest_testflight_build_number(
@@ -106,14 +115,14 @@ end
) + 1,
xcodeproj: "./Runner.xcodeproj"
)
# Build the app
build_app(
scheme: "Runner",
workspace: "Runner.xcworkspace",
configuration: configuration,
export_method: "app-store",
xcargs: "-skipMacroValidation CODE_SIGN_IDENTITY='#{CODE_SIGN_IDENTITY}' CODE_SIGN_STYLE=Manual",
xcargs: build_xcargs(group_id: group_id),
export_options: {
provisioningProfiles: {
"#{app_identifier}" => profile_name_main,
@@ -165,7 +174,8 @@ end
distribute_external: false,
profile_name_main: main_profile_name,
profile_name_share: share_profile_name,
profile_name_widget: widget_profile_name
profile_name_widget: widget_profile_name,
group_id: DEV_GROUP_ID
)
end
@@ -274,7 +284,7 @@ end
configuration: "Release",
export_method: "app-store",
skip_package_ipa: true,
xcargs: "-skipMacroValidation CODE_SIGN_IDENTITY='#{CODE_SIGN_IDENTITY}' CODE_SIGN_STYLE=Manual",
xcargs: build_xcargs(group_id: DEV_GROUP_ID),
export_options: {
provisioningProfiles: {
DEV_BUNDLE_ID => main_profile_name,
-1
View File
@@ -30,7 +30,6 @@ const int kTimelineAssetLoadBatchSize = 1024;
const int kTimelineAssetLoadOppositeSize = 64;
// Widget keys
const String appShareGroupId = "group.app.immich.share";
const String kWidgetAuthToken = "widget_auth_token";
const String kWidgetServerEndpoint = "widget_server_url";
const String kWidgetCustomHeaders = "widget_custom_headers";
@@ -13,8 +13,4 @@ class WidgetRepository {
Future<void> refresh(String iosName, String androidName) async {
await HomeWidget.updateWidget(iOSName: iosName, qualifiedAndroidName: androidName);
}
Future<void> setAppGroupId(String appGroupId) async {
await HomeWidget.setAppGroupId(appGroupId);
}
}
-2
View File
@@ -12,7 +12,6 @@ class WidgetService {
const WidgetService(this._repository);
Future<void> writeCredentials(String serverURL, String sessionKey, String? customHeaders) async {
await _repository.setAppGroupId(appShareGroupId);
await _repository.saveData(kWidgetServerEndpoint, serverURL);
await _repository.saveData(kWidgetAuthToken, sessionKey);
@@ -25,7 +24,6 @@ class WidgetService {
}
Future<void> clearCredentials() async {
await _repository.setAppGroupId(appShareGroupId);
await _repository.saveData(kWidgetServerEndpoint, "");
await _repository.saveData(kWidgetAuthToken, "");
await _repository.saveData(kWidgetCustomHeaders, "");
+1 -1
View File
@@ -25,7 +25,7 @@
"@types/lodash-es": "^4.17.12",
"@types/micromatch": "^4.0.9",
"@types/mock-fs": "^4.13.1",
"@types/node": "^24.12.4",
"@types/node": "^24.12.2",
"@vitest/coverage-v8": "^4.0.0",
"byte-size": "^9.0.0",
"cli-progress": "^3.12.0",
+1 -1
View File
@@ -27,7 +27,7 @@
"packageManager": "pnpm@10.30.3",
"devDependencies": {
"@extism/js-pdk": "^1.1.1",
"@types/node": "^24.12.4",
"@types/node": "^24.11.0",
"esbuild": "^0.27.3",
"tsc-alias": "^1.8.16",
"typescript": "^5.9.3"
+1 -1
View File
@@ -24,7 +24,7 @@
"@oazapfts/runtime": "^1.0.2"
},
"devDependencies": {
"@types/node": "^24.12.4",
"@types/node": "^24.12.2",
"typescript": "^6.0.0"
}
}
+175 -175
View File
@@ -128,8 +128,8 @@ importers:
specifier: ^3.4.2
version: 3.7.1
'@types/node':
specifier: ^24.12.4
version: 24.12.4
specifier: ^24.12.2
version: 24.12.2
'@types/pg':
specifier: ^8.15.1
version: 8.20.0
@@ -195,10 +195,10 @@ importers:
version: 5.2.1(encoding@0.1.13)
vite-tsconfig-paths:
specifier: ^6.1.1
version: 6.1.1(typescript@6.0.3)(vite@8.0.10(@types/node@24.12.4)(esbuild@0.28.0)(jiti@2.6.1)(sass@1.99.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3))
version: 6.1.1(typescript@6.0.3)(vite@8.0.10(@types/node@24.12.2)(esbuild@0.28.0)(jiti@2.6.1)(sass@1.99.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3))
vitest:
specifier: ^4.0.0
version: 4.1.5(@opentelemetry/api@1.9.1)(@types/node@24.12.4)(@vitest/coverage-v8@4.1.5)(happy-dom@20.9.0)(jsdom@26.1.0(canvas@3.2.3))(vite@8.0.10(@types/node@24.12.4)(esbuild@0.28.0)(jiti@2.6.1)(sass@1.99.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3))
version: 4.1.5(@opentelemetry/api@1.9.1)(@types/node@24.12.2)(@vitest/coverage-v8@4.1.5)(happy-dom@20.9.0)(jsdom@26.1.0(canvas@3.2.3))(vite@8.0.10(@types/node@24.12.2)(esbuild@0.28.0)(jiti@2.6.1)(sass@1.99.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3))
packages/cli:
dependencies:
@@ -240,8 +240,8 @@ importers:
specifier: ^4.13.1
version: 4.13.4
'@types/node':
specifier: ^24.12.4
version: 24.12.4
specifier: ^24.12.2
version: 24.12.2
'@vitest/coverage-v8':
specifier: ^4.0.0
version: 4.1.5(vitest@4.1.5)
@@ -286,10 +286,10 @@ importers:
version: 8.59.0(eslint@10.2.1(jiti@2.6.1))(typescript@6.0.3)
vite:
specifier: ^8.0.0
version: 8.0.10(@types/node@24.12.4)(esbuild@0.28.0)(jiti@2.6.1)(sass@1.99.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3)
version: 8.0.10(@types/node@24.12.2)(esbuild@0.28.0)(jiti@2.6.1)(sass@1.99.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3)
vitest:
specifier: ^4.0.0
version: 4.1.5(@opentelemetry/api@1.9.1)(@types/node@24.12.4)(@vitest/coverage-v8@4.1.5)(happy-dom@20.9.0)(jsdom@26.1.0(canvas@3.2.3))(vite@8.0.10(@types/node@24.12.4)(esbuild@0.28.0)(jiti@2.6.1)(sass@1.99.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3))
version: 4.1.5(@opentelemetry/api@1.9.1)(@types/node@24.12.2)(@vitest/coverage-v8@4.1.5)(happy-dom@20.9.0)(jsdom@26.1.0(canvas@3.2.3))(vite@8.0.10(@types/node@24.12.2)(esbuild@0.28.0)(jiti@2.6.1)(sass@1.99.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3))
vitest-fetch-mock:
specifier: ^0.4.0
version: 0.4.5(vitest@4.1.5)
@@ -333,8 +333,8 @@ importers:
specifier: ^1.1.1
version: 1.1.1
'@types/node':
specifier: ^24.12.4
version: 24.12.4
specifier: ^24.11.0
version: 24.12.2
esbuild:
specifier: ^0.27.3
version: 0.27.4
@@ -352,8 +352,8 @@ importers:
version: 1.2.0
devDependencies:
'@types/node':
specifier: ^24.12.4
version: 24.12.4
specifier: ^24.12.2
version: 24.12.2
typescript:
specifier: ^6.0.0
version: 6.0.3
@@ -524,7 +524,7 @@ importers:
version: 2.1.1
nest-commander:
specifier: ^3.16.0
version: 3.20.1(@nestjs/common@11.1.19(class-transformer@0.5.1)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.19)(@types/inquirer@8.2.12)(@types/node@24.12.4)(typescript@6.0.3)
version: 3.20.1(@nestjs/common@11.1.19(class-transformer@0.5.1)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.19)(@types/inquirer@8.2.12)(@types/node@24.12.2)(typescript@6.0.3)
nestjs-cls:
specifier: ^6.0.0
version: 6.2.0(@nestjs/common@11.1.19(class-transformer@0.5.1)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.19)(reflect-metadata@0.2.2)(rxjs@7.8.2)
@@ -609,7 +609,7 @@ importers:
version: 10.0.1(eslint@10.2.1(jiti@2.6.1))
'@nestjs/cli':
specifier: ^11.0.2
version: 11.0.21(@swc/core@1.15.30(@swc/helpers@0.5.21))(@types/node@24.12.4)(esbuild@0.28.0)(prettier@3.8.3)
version: 11.0.21(@swc/core@1.15.30(@swc/helpers@0.5.21))(@types/node@24.12.2)(esbuild@0.28.0)(prettier@3.8.3)
'@nestjs/schematics':
specifier: ^11.0.0
version: 11.1.0(chokidar@4.0.3)(prettier@3.8.3)(typescript@6.0.3)
@@ -662,8 +662,8 @@ importers:
specifier: ^2.0.0
version: 2.1.0
'@types/node':
specifier: ^24.12.4
version: 24.12.4
specifier: ^24.12.2
version: 24.12.2
'@types/nodemailer':
specifier: ^8.0.0
version: 8.0.0
@@ -690,7 +690,7 @@ importers:
version: 13.15.10
'@vitest/coverage-v8':
specifier: ^3.0.0
version: 3.2.4(vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.12.4)(happy-dom@20.9.0)(jiti@2.6.1)(jsdom@26.1.0(canvas@3.2.3))(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3))
version: 3.2.4(vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.12.2)(happy-dom@20.9.0)(jiti@2.6.1)(jsdom@26.1.0(canvas@3.2.3))(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3))
eslint:
specifier: ^10.0.0
version: 10.2.1(jiti@2.6.1)
@@ -741,10 +741,10 @@ importers:
version: 1.5.9(@swc/core@1.15.30(@swc/helpers@0.5.21))(rollup@4.55.1)
vite-tsconfig-paths:
specifier: ^6.0.0
version: 6.1.1(typescript@6.0.3)(vite@8.0.10(@types/node@24.12.4)(esbuild@0.28.0)(jiti@2.6.1)(sass@1.99.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3))
version: 6.1.1(typescript@6.0.3)(vite@8.0.10(@types/node@24.12.2)(esbuild@0.28.0)(jiti@2.6.1)(sass@1.99.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3))
vitest:
specifier: ^3.0.0
version: 3.2.4(@types/debug@4.1.12)(@types/node@24.12.4)(happy-dom@20.9.0)(jiti@2.6.1)(jsdom@26.1.0(canvas@3.2.3))(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3)
version: 3.2.4(@types/debug@4.1.12)(@types/node@24.12.2)(happy-dom@20.9.0)(jiti@2.6.1)(jsdom@26.1.0(canvas@3.2.3))(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3)
web:
dependencies:
@@ -5321,8 +5321,8 @@ packages:
'@types/node@18.19.130':
resolution: {integrity: sha512-GRaXQx6jGfL8sKfaIDD6OupbIHBr9jv7Jnaml9tB7l4v068PAOXqfcujMMo5PhbIs6ggR1XODELqahT2R8v0fg==}
'@types/node@24.12.4':
resolution: {integrity: sha512-GUUEShf+PBCGW2KaXwcIt3Yk+e3pkKwWKb9GSyM9WQVE+ep2jzmHdGsHzu4wgcZy5fN9FBdVzjpBQsYlpfpgLA==}
'@types/node@24.12.2':
resolution: {integrity: sha512-A1sre26ke7HDIuY/M23nd9gfB+nrmhtYyMINbjI1zHJxYteKR6qSMX56FsmjMcDb3SMcjJg5BiRRgOCC/yBD0g==}
'@types/node@25.6.0':
resolution: {integrity: sha512-+qIYRKdNYJwY3vRCZMdJbPLJAtGjQBudzZzdzwQYkEPQd+PJGixUL5QfvCLDaULoLv+RhT3LDkwEfKaAkgSmNQ==}
@@ -12962,11 +12962,11 @@ snapshots:
optionalDependencies:
chokidar: 4.0.3
'@angular-devkit/schematics-cli@19.2.24(@types/node@24.12.4)(chokidar@4.0.3)':
'@angular-devkit/schematics-cli@19.2.24(@types/node@24.12.2)(chokidar@4.0.3)':
dependencies:
'@angular-devkit/core': 19.2.24(chokidar@4.0.3)
'@angular-devkit/schematics': 19.2.24(chokidar@4.0.3)
'@inquirer/prompts': 7.3.2(@types/node@24.12.4)
'@inquirer/prompts': 7.3.2(@types/node@24.12.2)
ansi-colors: 4.1.3
symbol-observable: 4.0.0
yargs-parser: 21.1.1
@@ -15476,143 +15476,143 @@ snapshots:
'@inquirer/ansi@1.0.2': {}
'@inquirer/checkbox@4.3.2(@types/node@24.12.4)':
'@inquirer/checkbox@4.3.2(@types/node@24.12.2)':
dependencies:
'@inquirer/ansi': 1.0.2
'@inquirer/core': 10.3.2(@types/node@24.12.4)
'@inquirer/core': 10.3.2(@types/node@24.12.2)
'@inquirer/figures': 1.0.15
'@inquirer/type': 3.0.10(@types/node@24.12.4)
'@inquirer/type': 3.0.10(@types/node@24.12.2)
yoctocolors-cjs: 2.1.3
optionalDependencies:
'@types/node': 24.12.4
'@types/node': 24.12.2
'@inquirer/confirm@5.1.21(@types/node@24.12.4)':
'@inquirer/confirm@5.1.21(@types/node@24.12.2)':
dependencies:
'@inquirer/core': 10.3.2(@types/node@24.12.4)
'@inquirer/type': 3.0.10(@types/node@24.12.4)
'@inquirer/core': 10.3.2(@types/node@24.12.2)
'@inquirer/type': 3.0.10(@types/node@24.12.2)
optionalDependencies:
'@types/node': 24.12.4
'@types/node': 24.12.2
'@inquirer/core@10.3.2(@types/node@24.12.4)':
'@inquirer/core@10.3.2(@types/node@24.12.2)':
dependencies:
'@inquirer/ansi': 1.0.2
'@inquirer/figures': 1.0.15
'@inquirer/type': 3.0.10(@types/node@24.12.4)
'@inquirer/type': 3.0.10(@types/node@24.12.2)
cli-width: 4.1.0
mute-stream: 2.0.0
signal-exit: 4.1.0
wrap-ansi: 6.2.0
yoctocolors-cjs: 2.1.3
optionalDependencies:
'@types/node': 24.12.4
'@types/node': 24.12.2
'@inquirer/editor@4.2.23(@types/node@24.12.4)':
'@inquirer/editor@4.2.23(@types/node@24.12.2)':
dependencies:
'@inquirer/core': 10.3.2(@types/node@24.12.4)
'@inquirer/external-editor': 1.0.3(@types/node@24.12.4)
'@inquirer/type': 3.0.10(@types/node@24.12.4)
'@inquirer/core': 10.3.2(@types/node@24.12.2)
'@inquirer/external-editor': 1.0.3(@types/node@24.12.2)
'@inquirer/type': 3.0.10(@types/node@24.12.2)
optionalDependencies:
'@types/node': 24.12.4
'@types/node': 24.12.2
'@inquirer/expand@4.0.23(@types/node@24.12.4)':
'@inquirer/expand@4.0.23(@types/node@24.12.2)':
dependencies:
'@inquirer/core': 10.3.2(@types/node@24.12.4)
'@inquirer/type': 3.0.10(@types/node@24.12.4)
'@inquirer/core': 10.3.2(@types/node@24.12.2)
'@inquirer/type': 3.0.10(@types/node@24.12.2)
yoctocolors-cjs: 2.1.3
optionalDependencies:
'@types/node': 24.12.4
'@types/node': 24.12.2
'@inquirer/external-editor@1.0.3(@types/node@24.12.4)':
'@inquirer/external-editor@1.0.3(@types/node@24.12.2)':
dependencies:
chardet: 2.1.1
iconv-lite: 0.7.2
optionalDependencies:
'@types/node': 24.12.4
'@types/node': 24.12.2
'@inquirer/figures@1.0.15': {}
'@inquirer/input@4.3.1(@types/node@24.12.4)':
'@inquirer/input@4.3.1(@types/node@24.12.2)':
dependencies:
'@inquirer/core': 10.3.2(@types/node@24.12.4)
'@inquirer/type': 3.0.10(@types/node@24.12.4)
'@inquirer/core': 10.3.2(@types/node@24.12.2)
'@inquirer/type': 3.0.10(@types/node@24.12.2)
optionalDependencies:
'@types/node': 24.12.4
'@types/node': 24.12.2
'@inquirer/number@3.0.23(@types/node@24.12.4)':
'@inquirer/number@3.0.23(@types/node@24.12.2)':
dependencies:
'@inquirer/core': 10.3.2(@types/node@24.12.4)
'@inquirer/type': 3.0.10(@types/node@24.12.4)
'@inquirer/core': 10.3.2(@types/node@24.12.2)
'@inquirer/type': 3.0.10(@types/node@24.12.2)
optionalDependencies:
'@types/node': 24.12.4
'@types/node': 24.12.2
'@inquirer/password@4.0.23(@types/node@24.12.4)':
'@inquirer/password@4.0.23(@types/node@24.12.2)':
dependencies:
'@inquirer/ansi': 1.0.2
'@inquirer/core': 10.3.2(@types/node@24.12.4)
'@inquirer/type': 3.0.10(@types/node@24.12.4)
'@inquirer/core': 10.3.2(@types/node@24.12.2)
'@inquirer/type': 3.0.10(@types/node@24.12.2)
optionalDependencies:
'@types/node': 24.12.4
'@types/node': 24.12.2
'@inquirer/prompts@7.10.1(@types/node@24.12.4)':
'@inquirer/prompts@7.10.1(@types/node@24.12.2)':
dependencies:
'@inquirer/checkbox': 4.3.2(@types/node@24.12.4)
'@inquirer/confirm': 5.1.21(@types/node@24.12.4)
'@inquirer/editor': 4.2.23(@types/node@24.12.4)
'@inquirer/expand': 4.0.23(@types/node@24.12.4)
'@inquirer/input': 4.3.1(@types/node@24.12.4)
'@inquirer/number': 3.0.23(@types/node@24.12.4)
'@inquirer/password': 4.0.23(@types/node@24.12.4)
'@inquirer/rawlist': 4.1.11(@types/node@24.12.4)
'@inquirer/search': 3.2.2(@types/node@24.12.4)
'@inquirer/select': 4.4.2(@types/node@24.12.4)
'@inquirer/checkbox': 4.3.2(@types/node@24.12.2)
'@inquirer/confirm': 5.1.21(@types/node@24.12.2)
'@inquirer/editor': 4.2.23(@types/node@24.12.2)
'@inquirer/expand': 4.0.23(@types/node@24.12.2)
'@inquirer/input': 4.3.1(@types/node@24.12.2)
'@inquirer/number': 3.0.23(@types/node@24.12.2)
'@inquirer/password': 4.0.23(@types/node@24.12.2)
'@inquirer/rawlist': 4.1.11(@types/node@24.12.2)
'@inquirer/search': 3.2.2(@types/node@24.12.2)
'@inquirer/select': 4.4.2(@types/node@24.12.2)
optionalDependencies:
'@types/node': 24.12.4
'@types/node': 24.12.2
'@inquirer/prompts@7.3.2(@types/node@24.12.4)':
'@inquirer/prompts@7.3.2(@types/node@24.12.2)':
dependencies:
'@inquirer/checkbox': 4.3.2(@types/node@24.12.4)
'@inquirer/confirm': 5.1.21(@types/node@24.12.4)
'@inquirer/editor': 4.2.23(@types/node@24.12.4)
'@inquirer/expand': 4.0.23(@types/node@24.12.4)
'@inquirer/input': 4.3.1(@types/node@24.12.4)
'@inquirer/number': 3.0.23(@types/node@24.12.4)
'@inquirer/password': 4.0.23(@types/node@24.12.4)
'@inquirer/rawlist': 4.1.11(@types/node@24.12.4)
'@inquirer/search': 3.2.2(@types/node@24.12.4)
'@inquirer/select': 4.4.2(@types/node@24.12.4)
'@inquirer/checkbox': 4.3.2(@types/node@24.12.2)
'@inquirer/confirm': 5.1.21(@types/node@24.12.2)
'@inquirer/editor': 4.2.23(@types/node@24.12.2)
'@inquirer/expand': 4.0.23(@types/node@24.12.2)
'@inquirer/input': 4.3.1(@types/node@24.12.2)
'@inquirer/number': 3.0.23(@types/node@24.12.2)
'@inquirer/password': 4.0.23(@types/node@24.12.2)
'@inquirer/rawlist': 4.1.11(@types/node@24.12.2)
'@inquirer/search': 3.2.2(@types/node@24.12.2)
'@inquirer/select': 4.4.2(@types/node@24.12.2)
optionalDependencies:
'@types/node': 24.12.4
'@types/node': 24.12.2
'@inquirer/rawlist@4.1.11(@types/node@24.12.4)':
'@inquirer/rawlist@4.1.11(@types/node@24.12.2)':
dependencies:
'@inquirer/core': 10.3.2(@types/node@24.12.4)
'@inquirer/type': 3.0.10(@types/node@24.12.4)
'@inquirer/core': 10.3.2(@types/node@24.12.2)
'@inquirer/type': 3.0.10(@types/node@24.12.2)
yoctocolors-cjs: 2.1.3
optionalDependencies:
'@types/node': 24.12.4
'@types/node': 24.12.2
'@inquirer/search@3.2.2(@types/node@24.12.4)':
'@inquirer/search@3.2.2(@types/node@24.12.2)':
dependencies:
'@inquirer/core': 10.3.2(@types/node@24.12.4)
'@inquirer/core': 10.3.2(@types/node@24.12.2)
'@inquirer/figures': 1.0.15
'@inquirer/type': 3.0.10(@types/node@24.12.4)
'@inquirer/type': 3.0.10(@types/node@24.12.2)
yoctocolors-cjs: 2.1.3
optionalDependencies:
'@types/node': 24.12.4
'@types/node': 24.12.2
'@inquirer/select@4.4.2(@types/node@24.12.4)':
'@inquirer/select@4.4.2(@types/node@24.12.2)':
dependencies:
'@inquirer/ansi': 1.0.2
'@inquirer/core': 10.3.2(@types/node@24.12.4)
'@inquirer/core': 10.3.2(@types/node@24.12.2)
'@inquirer/figures': 1.0.15
'@inquirer/type': 3.0.10(@types/node@24.12.4)
'@inquirer/type': 3.0.10(@types/node@24.12.2)
yoctocolors-cjs: 2.1.3
optionalDependencies:
'@types/node': 24.12.4
'@types/node': 24.12.2
'@inquirer/type@3.0.10(@types/node@24.12.4)':
'@inquirer/type@3.0.10(@types/node@24.12.2)':
optionalDependencies:
'@types/node': 24.12.4
'@types/node': 24.12.2
'@internationalized/date@3.12.1':
dependencies:
@@ -15644,7 +15644,7 @@ snapshots:
'@jest/schemas': 29.6.3
'@types/istanbul-lib-coverage': 2.0.6
'@types/istanbul-reports': 3.0.4
'@types/node': 24.12.4
'@types/node': 24.12.2
'@types/yargs': 17.0.35
chalk: 4.1.2
@@ -16020,12 +16020,12 @@ snapshots:
bullmq: 5.76.1
tslib: 2.8.1
'@nestjs/cli@11.0.21(@swc/core@1.15.30(@swc/helpers@0.5.21))(@types/node@24.12.4)(esbuild@0.28.0)(prettier@3.8.3)':
'@nestjs/cli@11.0.21(@swc/core@1.15.30(@swc/helpers@0.5.21))(@types/node@24.12.2)(esbuild@0.28.0)(prettier@3.8.3)':
dependencies:
'@angular-devkit/core': 19.2.24(chokidar@4.0.3)
'@angular-devkit/schematics': 19.2.24(chokidar@4.0.3)
'@angular-devkit/schematics-cli': 19.2.24(@types/node@24.12.4)(chokidar@4.0.3)
'@inquirer/prompts': 7.10.1(@types/node@24.12.4)
'@angular-devkit/schematics-cli': 19.2.24(@types/node@24.12.2)(chokidar@4.0.3)
'@inquirer/prompts': 7.10.1(@types/node@24.12.2)
'@nestjs/schematics': 11.1.0(chokidar@4.0.3)(prettier@3.8.3)(typescript@5.9.3)
ansis: 4.2.0
chokidar: 4.0.3
@@ -17359,7 +17359,7 @@ snapshots:
'@types/accepts@1.3.7':
dependencies:
'@types/node': 24.12.4
'@types/node': 24.12.2
'@types/archiver@7.0.0':
dependencies:
@@ -17371,16 +17371,16 @@ snapshots:
'@types/bcrypt@6.0.0':
dependencies:
'@types/node': 24.12.4
'@types/node': 24.12.2
'@types/body-parser@1.19.6':
dependencies:
'@types/connect': 3.4.38
'@types/node': 24.12.4
'@types/node': 24.12.2
'@types/bonjour@3.5.13':
dependencies:
'@types/node': 24.12.4
'@types/node': 24.12.2
'@types/braces@3.0.5': {}
@@ -17402,21 +17402,21 @@ snapshots:
'@types/cli-progress@3.11.6':
dependencies:
'@types/node': 24.12.4
'@types/node': 24.12.2
'@types/compression@1.8.1':
dependencies:
'@types/express': 5.0.6
'@types/node': 24.12.4
'@types/node': 24.12.2
'@types/connect-history-api-fallback@1.5.4':
dependencies:
'@types/express-serve-static-core': 5.1.0
'@types/node': 24.12.4
'@types/node': 24.12.2
'@types/connect@3.4.38':
dependencies:
'@types/node': 24.12.4
'@types/node': 24.12.2
'@types/content-disposition@0.5.9': {}
@@ -17433,11 +17433,11 @@ snapshots:
'@types/connect': 3.4.38
'@types/express': 5.0.6
'@types/keygrip': 1.0.6
'@types/node': 24.12.4
'@types/node': 24.12.2
'@types/cors@2.8.19':
dependencies:
'@types/node': 24.12.4
'@types/node': 24.12.2
'@types/d3-array@3.2.2': {}
@@ -17564,13 +17564,13 @@ snapshots:
'@types/docker-modem@3.0.6':
dependencies:
'@types/node': 24.12.4
'@types/node': 24.12.2
'@types/ssh2': 1.15.5
'@types/dockerode@4.0.1':
dependencies:
'@types/docker-modem': 3.0.6
'@types/node': 24.12.4
'@types/node': 24.12.2
'@types/ssh2': 1.15.5
'@types/dom-to-image@2.6.7': {}
@@ -17595,14 +17595,14 @@ snapshots:
'@types/express-serve-static-core@4.19.7':
dependencies:
'@types/node': 24.12.4
'@types/node': 24.12.2
'@types/qs': 6.14.0
'@types/range-parser': 1.2.7
'@types/send': 1.2.1
'@types/express-serve-static-core@5.1.0':
dependencies:
'@types/node': 24.12.4
'@types/node': 24.12.2
'@types/qs': 6.14.0
'@types/range-parser': 1.2.7
'@types/send': 1.2.1
@@ -17628,7 +17628,7 @@ snapshots:
'@types/fluent-ffmpeg@2.1.28':
dependencies:
'@types/node': 24.12.4
'@types/node': 24.12.2
'@types/geojson@7946.0.16': {}
@@ -17656,7 +17656,7 @@ snapshots:
'@types/http-proxy@1.17.17':
dependencies:
'@types/node': 24.12.4
'@types/node': 24.12.2
'@types/inquirer@8.2.12':
dependencies:
@@ -17680,7 +17680,7 @@ snapshots:
'@types/jsonwebtoken@9.0.10':
dependencies:
'@types/ms': 2.1.0
'@types/node': 24.12.4
'@types/node': 24.12.2
'@types/justified-layout@4.1.4': {}
@@ -17699,7 +17699,7 @@ snapshots:
'@types/http-errors': 2.0.5
'@types/keygrip': 1.0.6
'@types/koa-compose': 3.2.9
'@types/node': 24.12.4
'@types/node': 24.12.2
'@types/leaflet@1.9.21':
dependencies:
@@ -17729,7 +17729,7 @@ snapshots:
'@types/mock-fs@4.13.4':
dependencies:
'@types/node': 24.12.4
'@types/node': 24.12.2
'@types/ms@2.1.0': {}
@@ -17739,7 +17739,7 @@ snapshots:
'@types/node-forge@1.3.14':
dependencies:
'@types/node': 24.12.4
'@types/node': 24.12.2
'@types/node@17.0.45': {}
@@ -17747,7 +17747,7 @@ snapshots:
dependencies:
undici-types: 5.26.5
'@types/node@24.12.4':
'@types/node@24.12.2':
dependencies:
undici-types: 7.16.0
@@ -17758,13 +17758,13 @@ snapshots:
'@types/nodemailer@8.0.0':
dependencies:
'@types/node': 24.12.4
'@types/node': 24.12.2
'@types/oidc-provider@9.5.0':
dependencies:
'@types/keygrip': 1.0.6
'@types/koa': 3.0.1
'@types/node': 24.12.4
'@types/node': 24.12.2
'@types/parse5@5.0.3': {}
@@ -17774,13 +17774,13 @@ snapshots:
'@types/pg@8.15.6':
dependencies:
'@types/node': 24.12.4
'@types/node': 24.12.2
pg-protocol: 1.13.0
pg-types: 2.2.0
'@types/pg@8.20.0':
dependencies:
'@types/node': 24.12.4
'@types/node': 24.12.2
pg-protocol: 1.13.0
pg-types: 2.2.0
@@ -17788,13 +17788,13 @@ snapshots:
'@types/pngjs@6.0.5':
dependencies:
'@types/node': 24.12.4
'@types/node': 24.12.2
'@types/prismjs@1.26.5': {}
'@types/qrcode@1.5.6':
dependencies:
'@types/node': 24.12.4
'@types/node': 24.12.2
'@types/qs@6.14.0': {}
@@ -17823,24 +17823,24 @@ snapshots:
'@types/readdir-glob@1.1.5':
dependencies:
'@types/node': 24.12.4
'@types/node': 24.12.2
'@types/retry@0.12.2': {}
'@types/sax@1.2.7':
dependencies:
'@types/node': 24.12.4
'@types/node': 24.12.2
'@types/semver@7.7.1': {}
'@types/send@0.17.6':
dependencies:
'@types/mime': 1.3.5
'@types/node': 24.12.4
'@types/node': 24.12.2
'@types/send@1.2.1':
dependencies:
'@types/node': 24.12.4
'@types/node': 24.12.2
'@types/serve-index@1.9.4':
dependencies:
@@ -17849,25 +17849,25 @@ snapshots:
'@types/serve-static@1.15.10':
dependencies:
'@types/http-errors': 2.0.5
'@types/node': 24.12.4
'@types/node': 24.12.2
'@types/send': 0.17.6
'@types/serve-static@2.2.0':
dependencies:
'@types/http-errors': 2.0.5
'@types/node': 24.12.4
'@types/node': 24.12.2
'@types/sockjs@0.3.36':
dependencies:
'@types/node': 24.12.4
'@types/node': 24.12.2
'@types/ssh2-streams@0.1.13':
dependencies:
'@types/node': 24.12.4
'@types/node': 24.12.2
'@types/ssh2@0.5.52':
dependencies:
'@types/node': 24.12.4
'@types/node': 24.12.2
'@types/ssh2-streams': 0.1.13
'@types/ssh2@1.15.5':
@@ -17878,7 +17878,7 @@ snapshots:
dependencies:
'@types/cookiejar': 2.1.5
'@types/methods': 1.1.4
'@types/node': 24.12.4
'@types/node': 24.12.2
form-data: 4.0.5
'@types/supercluster@7.1.3':
@@ -17892,7 +17892,7 @@ snapshots:
'@types/through@0.0.33':
dependencies:
'@types/node': 24.12.4
'@types/node': 24.12.2
'@types/trusted-types@2.0.7': {}
@@ -17908,7 +17908,7 @@ snapshots:
'@types/ws@8.18.1':
dependencies:
'@types/node': 24.12.4
'@types/node': 24.12.2
'@types/yargs-parser@21.0.3': {}
@@ -18015,7 +18015,7 @@ snapshots:
'@vercel/oidc@3.0.5': {}
'@vitest/coverage-v8@3.2.4(vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.12.4)(happy-dom@20.9.0)(jiti@2.6.1)(jsdom@26.1.0(canvas@3.2.3))(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3))':
'@vitest/coverage-v8@3.2.4(vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.12.2)(happy-dom@20.9.0)(jiti@2.6.1)(jsdom@26.1.0(canvas@3.2.3))(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3))':
dependencies:
'@ampproject/remapping': 2.3.0
'@bcoe/v8-coverage': 1.0.2
@@ -18030,7 +18030,7 @@ snapshots:
std-env: 3.10.0
test-exclude: 7.0.2
tinyrainbow: 2.0.0
vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.12.4)(happy-dom@20.9.0)(jiti@2.6.1)(jsdom@26.1.0(canvas@3.2.3))(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3)
vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.12.2)(happy-dom@20.9.0)(jiti@2.6.1)(jsdom@26.1.0(canvas@3.2.3))(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3)
transitivePeerDependencies:
- supports-color
@@ -18046,7 +18046,7 @@ snapshots:
obug: 2.1.1
std-env: 4.1.0
tinyrainbow: 3.1.0
vitest: 4.1.5(@opentelemetry/api@1.9.1)(@types/node@24.12.4)(@vitest/coverage-v8@4.1.5)(happy-dom@20.9.0)(jsdom@26.1.0(canvas@3.2.3))(vite@8.0.10(@types/node@24.12.4)(esbuild@0.28.0)(jiti@2.6.1)(sass@1.99.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3))
vitest: 4.1.5(@opentelemetry/api@1.9.1)(@types/node@24.12.2)(@vitest/coverage-v8@4.1.5)(happy-dom@20.9.0)(jsdom@26.1.0(canvas@3.2.3))(vite@8.0.10(@types/node@24.12.2)(esbuild@0.28.0)(jiti@2.6.1)(sass@1.99.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3))
'@vitest/expect@3.2.4':
dependencies:
@@ -18065,21 +18065,21 @@ snapshots:
chai: 6.2.2
tinyrainbow: 3.1.0
'@vitest/mocker@3.2.4(vite@7.3.2(@types/node@24.12.4)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3))':
'@vitest/mocker@3.2.4(vite@7.3.2(@types/node@24.12.2)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3))':
dependencies:
'@vitest/spy': 3.2.4
estree-walker: 3.0.3
magic-string: 0.30.21
optionalDependencies:
vite: 7.3.2(@types/node@24.12.4)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3)
vite: 7.3.2(@types/node@24.12.2)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3)
'@vitest/mocker@4.1.5(vite@8.0.10(@types/node@24.12.4)(esbuild@0.28.0)(jiti@2.6.1)(sass@1.99.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3))':
'@vitest/mocker@4.1.5(vite@8.0.10(@types/node@24.12.2)(esbuild@0.28.0)(jiti@2.6.1)(sass@1.99.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3))':
dependencies:
'@vitest/spy': 4.1.5
estree-walker: 3.0.3
magic-string: 0.30.21
optionalDependencies:
vite: 8.0.10(@types/node@24.12.4)(esbuild@0.28.0)(jiti@2.6.1)(sass@1.99.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3)
vite: 8.0.10(@types/node@24.12.2)(esbuild@0.28.0)(jiti@2.6.1)(sass@1.99.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3)
'@vitest/mocker@4.1.5(vite@8.0.10(@types/node@25.6.0)(esbuild@0.28.0)(jiti@2.6.1)(sass@1.99.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3))':
dependencies:
@@ -19896,7 +19896,7 @@ snapshots:
engine.io@6.6.5:
dependencies:
'@types/cors': 2.8.19
'@types/node': 24.12.4
'@types/node': 24.12.2
accepts: 1.3.8
base64id: 2.0.0
cookie: 0.7.2
@@ -20315,7 +20315,7 @@ snapshots:
eval@0.1.8:
dependencies:
'@types/node': 24.12.4
'@types/node': 24.12.2
require-like: 0.1.2
event-emitter@0.3.5:
@@ -20876,7 +20876,7 @@ snapshots:
happy-dom@20.9.0:
dependencies:
'@types/node': 24.12.4
'@types/node': 24.12.2
'@types/whatwg-mimetype': 3.0.2
'@types/ws': 8.18.1
entities: 7.0.1
@@ -21301,9 +21301,9 @@ snapshots:
inline-style-parser@0.2.7: {}
inquirer@8.2.7(@types/node@24.12.4):
inquirer@8.2.7(@types/node@24.12.2):
dependencies:
'@inquirer/external-editor': 1.0.3(@types/node@24.12.4)
'@inquirer/external-editor': 1.0.3(@types/node@24.12.2)
ansi-escapes: 4.3.2
chalk: 4.1.2
cli-cursor: 3.1.0
@@ -21522,7 +21522,7 @@ snapshots:
jest-util@29.7.0:
dependencies:
'@jest/types': 29.6.3
'@types/node': 24.12.4
'@types/node': 24.12.2
chalk: 4.1.2
ci-info: 3.9.0
graceful-fs: 4.2.11
@@ -21530,13 +21530,13 @@ snapshots:
jest-worker@27.5.1:
dependencies:
'@types/node': 24.12.4
'@types/node': 24.12.2
merge-stream: 2.0.0
supports-color: 8.1.1
jest-worker@29.7.0:
dependencies:
'@types/node': 24.12.4
'@types/node': 24.12.2
jest-util: 29.7.0
merge-stream: 2.0.0
supports-color: 8.1.1
@@ -22777,7 +22777,7 @@ snapshots:
neo-async@2.6.2: {}
nest-commander@3.20.1(@nestjs/common@11.1.19(class-transformer@0.5.1)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.19)(@types/inquirer@8.2.12)(@types/node@24.12.4)(typescript@6.0.3):
nest-commander@3.20.1(@nestjs/common@11.1.19(class-transformer@0.5.1)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.19)(@types/inquirer@8.2.12)(@types/node@24.12.2)(typescript@6.0.3):
dependencies:
'@fig/complete-commander': 3.2.0(commander@11.1.0)
'@golevelup/nestjs-discovery': 5.0.0(@nestjs/common@11.1.19(class-transformer@0.5.1)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.19)
@@ -22786,7 +22786,7 @@ snapshots:
'@types/inquirer': 8.2.12
commander: 11.1.0
cosmiconfig: 8.3.6(typescript@6.0.3)
inquirer: 8.2.7(@types/node@24.12.4)
inquirer: 8.2.7(@types/node@24.12.2)
transitivePeerDependencies:
- '@types/node'
- typescript
@@ -23939,7 +23939,7 @@ snapshots:
'@protobufjs/path': 1.1.2
'@protobufjs/pool': 1.1.0
'@protobufjs/utf8': 1.1.0
'@types/node': 24.12.4
'@types/node': 24.12.2
long: 5.3.2
protobufjs@8.0.1:
@@ -23954,7 +23954,7 @@ snapshots:
'@protobufjs/path': 1.1.2
'@protobufjs/pool': 1.1.0
'@protobufjs/utf8': 1.1.0
'@types/node': 24.12.4
'@types/node': 24.12.2
long: 5.3.2
protocol-buffers-schema@3.6.1: {}
@@ -25945,13 +25945,13 @@ snapshots:
- rollup
- supports-color
vite-node@3.2.4(@types/node@24.12.4)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3):
vite-node@3.2.4(@types/node@24.12.2)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3):
dependencies:
cac: 6.7.14
debug: 4.4.3
es-module-lexer: 1.7.0
pathe: 2.0.3
vite: 7.3.2(@types/node@24.12.4)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3)
vite: 7.3.2(@types/node@24.12.2)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3)
transitivePeerDependencies:
- '@types/node'
- jiti
@@ -25966,17 +25966,17 @@ snapshots:
- tsx
- yaml
vite-tsconfig-paths@6.1.1(typescript@6.0.3)(vite@8.0.10(@types/node@24.12.4)(esbuild@0.28.0)(jiti@2.6.1)(sass@1.99.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3)):
vite-tsconfig-paths@6.1.1(typescript@6.0.3)(vite@8.0.10(@types/node@24.12.2)(esbuild@0.28.0)(jiti@2.6.1)(sass@1.99.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3)):
dependencies:
debug: 4.4.3
globrex: 0.1.2
tsconfck: 3.1.6(typescript@6.0.3)
vite: 8.0.10(@types/node@24.12.4)(esbuild@0.28.0)(jiti@2.6.1)(sass@1.99.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3)
vite: 8.0.10(@types/node@24.12.2)(esbuild@0.28.0)(jiti@2.6.1)(sass@1.99.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3)
transitivePeerDependencies:
- supports-color
- typescript
vite@7.3.2(@types/node@24.12.4)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3):
vite@7.3.2(@types/node@24.12.2)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3):
dependencies:
esbuild: 0.27.4
fdir: 6.5.0(picomatch@4.0.4)
@@ -25985,7 +25985,7 @@ snapshots:
rollup: 4.55.1
tinyglobby: 0.2.16
optionalDependencies:
'@types/node': 24.12.4
'@types/node': 24.12.2
fsevents: 2.3.3
jiti: 2.6.1
lightningcss: 1.32.0
@@ -25994,7 +25994,7 @@ snapshots:
tsx: 4.21.0
yaml: 2.8.3
vite@8.0.10(@types/node@24.12.4)(esbuild@0.28.0)(jiti@2.6.1)(sass@1.99.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3):
vite@8.0.10(@types/node@24.12.2)(esbuild@0.28.0)(jiti@2.6.1)(sass@1.99.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3):
dependencies:
lightningcss: 1.32.0
picomatch: 4.0.4
@@ -26002,7 +26002,7 @@ snapshots:
rolldown: 1.0.0-rc.17
tinyglobby: 0.2.16
optionalDependencies:
'@types/node': 24.12.4
'@types/node': 24.12.2
esbuild: 0.28.0
fsevents: 2.3.3
jiti: 2.6.1
@@ -26034,13 +26034,13 @@ snapshots:
vitest-fetch-mock@0.4.5(vitest@4.1.5):
dependencies:
vitest: 4.1.5(@opentelemetry/api@1.9.1)(@types/node@24.12.4)(@vitest/coverage-v8@4.1.5)(happy-dom@20.9.0)(jsdom@26.1.0(canvas@3.2.3))(vite@8.0.10(@types/node@24.12.4)(esbuild@0.28.0)(jiti@2.6.1)(sass@1.99.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3))
vitest: 4.1.5(@opentelemetry/api@1.9.1)(@types/node@24.12.2)(@vitest/coverage-v8@4.1.5)(happy-dom@20.9.0)(jsdom@26.1.0(canvas@3.2.3))(vite@8.0.10(@types/node@24.12.2)(esbuild@0.28.0)(jiti@2.6.1)(sass@1.99.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3))
vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.12.4)(happy-dom@20.9.0)(jiti@2.6.1)(jsdom@26.1.0(canvas@3.2.3))(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3):
vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.12.2)(happy-dom@20.9.0)(jiti@2.6.1)(jsdom@26.1.0(canvas@3.2.3))(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3):
dependencies:
'@types/chai': 5.2.3
'@vitest/expect': 3.2.4
'@vitest/mocker': 3.2.4(vite@7.3.2(@types/node@24.12.4)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3))
'@vitest/mocker': 3.2.4(vite@7.3.2(@types/node@24.12.2)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3))
'@vitest/pretty-format': 3.2.4
'@vitest/runner': 3.2.4
'@vitest/snapshot': 3.2.4
@@ -26058,12 +26058,12 @@ snapshots:
tinyglobby: 0.2.16
tinypool: 1.1.1
tinyrainbow: 2.0.0
vite: 7.3.2(@types/node@24.12.4)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3)
vite-node: 3.2.4(@types/node@24.12.4)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3)
vite: 7.3.2(@types/node@24.12.2)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3)
vite-node: 3.2.4(@types/node@24.12.2)(jiti@2.6.1)(lightningcss@1.32.0)(sass@1.99.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3)
why-is-node-running: 2.3.0
optionalDependencies:
'@types/debug': 4.1.12
'@types/node': 24.12.4
'@types/node': 24.12.2
happy-dom: 20.9.0
jsdom: 26.1.0(canvas@3.2.3)
transitivePeerDependencies:
@@ -26080,10 +26080,10 @@ snapshots:
- tsx
- yaml
vitest@4.1.5(@opentelemetry/api@1.9.1)(@types/node@24.12.4)(@vitest/coverage-v8@4.1.5)(happy-dom@20.9.0)(jsdom@26.1.0(canvas@3.2.3))(vite@8.0.10(@types/node@24.12.4)(esbuild@0.28.0)(jiti@2.6.1)(sass@1.99.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3)):
vitest@4.1.5(@opentelemetry/api@1.9.1)(@types/node@24.12.2)(@vitest/coverage-v8@4.1.5)(happy-dom@20.9.0)(jsdom@26.1.0(canvas@3.2.3))(vite@8.0.10(@types/node@24.12.2)(esbuild@0.28.0)(jiti@2.6.1)(sass@1.99.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3)):
dependencies:
'@vitest/expect': 4.1.5
'@vitest/mocker': 4.1.5(vite@8.0.10(@types/node@24.12.4)(esbuild@0.28.0)(jiti@2.6.1)(sass@1.99.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3))
'@vitest/mocker': 4.1.5(vite@8.0.10(@types/node@24.12.2)(esbuild@0.28.0)(jiti@2.6.1)(sass@1.99.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3))
'@vitest/pretty-format': 4.1.5
'@vitest/runner': 4.1.5
'@vitest/snapshot': 4.1.5
@@ -26100,11 +26100,11 @@ snapshots:
tinyexec: 1.1.1
tinyglobby: 0.2.16
tinyrainbow: 3.1.0
vite: 8.0.10(@types/node@24.12.4)(esbuild@0.28.0)(jiti@2.6.1)(sass@1.99.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3)
vite: 8.0.10(@types/node@24.12.2)(esbuild@0.28.0)(jiti@2.6.1)(sass@1.99.0)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3)
why-is-node-running: 2.3.0
optionalDependencies:
'@opentelemetry/api': 1.9.1
'@types/node': 24.12.4
'@types/node': 24.12.2
'@vitest/coverage-v8': 4.1.5(vitest@4.1.5)
happy-dom: 20.9.0
jsdom: 26.1.0(canvas@3.2.3)
+1 -1
View File
@@ -138,7 +138,7 @@
"@types/luxon": "^3.6.2",
"@types/mock-fs": "^4.13.1",
"@types/multer": "^2.0.0",
"@types/node": "^24.12.4",
"@types/node": "^24.12.2",
"@types/nodemailer": "^8.0.0",
"@types/picomatch": "^4.0.0",
"@types/pngjs": "^6.0.5",