@immich/cli 2.2.72 → 2.2.74
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.nvmrc +1 -1
- package/bin/immich +2 -0
- package/dist/index.js +186 -146
- package/package.json +6 -6
package/.nvmrc
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
22.
|
|
1
|
+
22.17.1
|
package/bin/immich
ADDED
package/dist/index.js
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
1
|
#! /usr/bin/env node
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
4
|
-
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
5
2
|
import require$$0 from "node:events";
|
|
6
3
|
import require$$1 from "node:child_process";
|
|
7
4
|
import path$1, { resolve, join, relative, sep, basename } from "node:path";
|
|
@@ -1789,13 +1786,12 @@ Expecting one of '${allowedValues.join("', '")}'`);
|
|
|
1789
1786
|
* @private
|
|
1790
1787
|
*/
|
|
1791
1788
|
_prepareUserArgs(argv, parseOptions) {
|
|
1792
|
-
var _a;
|
|
1793
1789
|
if (argv !== void 0 && !Array.isArray(argv)) {
|
|
1794
1790
|
throw new Error("first parameter to parse must be array or undefined");
|
|
1795
1791
|
}
|
|
1796
1792
|
parseOptions = parseOptions || {};
|
|
1797
1793
|
if (argv === void 0 && parseOptions.from === void 0) {
|
|
1798
|
-
if (
|
|
1794
|
+
if (process2.versions?.electron) {
|
|
1799
1795
|
parseOptions.from = "electron";
|
|
1800
1796
|
}
|
|
1801
1797
|
const execArgv = process2.execArgv ?? [];
|
|
@@ -2034,7 +2030,6 @@ Expecting one of '${allowedValues.join("', '")}'`);
|
|
|
2034
2030
|
* @private
|
|
2035
2031
|
*/
|
|
2036
2032
|
_dispatchHelpCommand(subcommandName) {
|
|
2037
|
-
var _a, _b;
|
|
2038
2033
|
if (!subcommandName) {
|
|
2039
2034
|
this.help();
|
|
2040
2035
|
}
|
|
@@ -2045,7 +2040,7 @@ Expecting one of '${allowedValues.join("', '")}'`);
|
|
|
2045
2040
|
return this._dispatchSubcommand(
|
|
2046
2041
|
subcommandName,
|
|
2047
2042
|
[],
|
|
2048
|
-
[
|
|
2043
|
+
[this._getHelpOption()?.long ?? this._getHelpOption()?.short ?? "--help"]
|
|
2049
2044
|
);
|
|
2050
2045
|
}
|
|
2051
2046
|
/**
|
|
@@ -2707,7 +2702,6 @@ Expecting one of '${allowedValues.join("', '")}'`);
|
|
|
2707
2702
|
* @return {(string|Command)}
|
|
2708
2703
|
*/
|
|
2709
2704
|
alias(alias) {
|
|
2710
|
-
var _a;
|
|
2711
2705
|
if (alias === void 0) return this._aliases[0];
|
|
2712
2706
|
let command2 = this;
|
|
2713
2707
|
if (this.commands.length !== 0 && this.commands[this.commands.length - 1]._executableHandler) {
|
|
@@ -2715,7 +2709,7 @@ Expecting one of '${allowedValues.join("', '")}'`);
|
|
|
2715
2709
|
}
|
|
2716
2710
|
if (alias === command2._name)
|
|
2717
2711
|
throw new Error("Command alias can't be the same as its name");
|
|
2718
|
-
const matchingCommand =
|
|
2712
|
+
const matchingCommand = this.parent?._findCommand(alias);
|
|
2719
2713
|
if (matchingCommand) {
|
|
2720
2714
|
const existingCmd = [matchingCommand.name()].concat(matchingCommand.aliases()).join("|");
|
|
2721
2715
|
throw new Error(
|
|
@@ -2839,7 +2833,6 @@ Expecting one of '${allowedValues.join("', '")}'`);
|
|
|
2839
2833
|
* @param {{ error: boolean } | Function} [contextOptions] - pass {error:true} to write to stderr instead of stdout
|
|
2840
2834
|
*/
|
|
2841
2835
|
outputHelp(contextOptions) {
|
|
2842
|
-
var _a;
|
|
2843
2836
|
let deprecatedCallback;
|
|
2844
2837
|
if (typeof contextOptions === "function") {
|
|
2845
2838
|
deprecatedCallback = contextOptions;
|
|
@@ -2856,7 +2849,7 @@ Expecting one of '${allowedValues.join("', '")}'`);
|
|
|
2856
2849
|
}
|
|
2857
2850
|
}
|
|
2858
2851
|
context.write(helpInformation);
|
|
2859
|
-
if (
|
|
2852
|
+
if (this._getHelpOption()?.long) {
|
|
2860
2853
|
this.emit(this._getHelpOption().long);
|
|
2861
2854
|
}
|
|
2862
2855
|
this.emit("afterHelp", context);
|
|
@@ -3193,12 +3186,11 @@ async function y(o2) {
|
|
|
3193
3186
|
throw new l(e.status, e.data, e.headers);
|
|
3194
3187
|
}
|
|
3195
3188
|
class l extends Error {
|
|
3189
|
+
status;
|
|
3190
|
+
data;
|
|
3191
|
+
headers;
|
|
3196
3192
|
constructor(e, i, f2) {
|
|
3197
|
-
super(`Error: ${e}`);
|
|
3198
|
-
__publicField(this, "status");
|
|
3199
|
-
__publicField(this, "data");
|
|
3200
|
-
__publicField(this, "headers");
|
|
3201
|
-
this.status = e, this.data = i, this.headers = f2;
|
|
3193
|
+
super(`Error: ${e}`), this.status = e, this.data = i, this.headers = f2;
|
|
3202
3194
|
}
|
|
3203
3195
|
}
|
|
3204
3196
|
const defaults = {
|
|
@@ -3221,9 +3213,10 @@ function createAlbum({ createAlbumDto }, opts) {
|
|
|
3221
3213
|
body: createAlbumDto
|
|
3222
3214
|
})));
|
|
3223
3215
|
}
|
|
3224
|
-
function addAssetsToAlbum({ id, key, bulkIdsDto }, opts) {
|
|
3216
|
+
function addAssetsToAlbum({ id, key, slug, bulkIdsDto }, opts) {
|
|
3225
3217
|
return oazapfts.ok(oazapfts.fetchJson(`/albums/${encodeURIComponent(id)}/assets${q(m({
|
|
3226
|
-
key
|
|
3218
|
+
key,
|
|
3219
|
+
slug
|
|
3227
3220
|
}))}`, oazapfts.json({
|
|
3228
3221
|
...opts,
|
|
3229
3222
|
method: "PUT",
|
|
@@ -3356,25 +3349,35 @@ var Permission;
|
|
|
3356
3349
|
Permission2["AssetRead"] = "asset.read";
|
|
3357
3350
|
Permission2["AssetUpdate"] = "asset.update";
|
|
3358
3351
|
Permission2["AssetDelete"] = "asset.delete";
|
|
3352
|
+
Permission2["AssetStatistics"] = "asset.statistics";
|
|
3359
3353
|
Permission2["AssetShare"] = "asset.share";
|
|
3360
3354
|
Permission2["AssetView"] = "asset.view";
|
|
3361
3355
|
Permission2["AssetDownload"] = "asset.download";
|
|
3362
3356
|
Permission2["AssetUpload"] = "asset.upload";
|
|
3357
|
+
Permission2["AssetReplace"] = "asset.replace";
|
|
3363
3358
|
Permission2["AlbumCreate"] = "album.create";
|
|
3364
3359
|
Permission2["AlbumRead"] = "album.read";
|
|
3365
3360
|
Permission2["AlbumUpdate"] = "album.update";
|
|
3366
3361
|
Permission2["AlbumDelete"] = "album.delete";
|
|
3367
3362
|
Permission2["AlbumStatistics"] = "album.statistics";
|
|
3368
|
-
Permission2["AlbumAddAsset"] = "album.addAsset";
|
|
3369
|
-
Permission2["AlbumRemoveAsset"] = "album.removeAsset";
|
|
3370
3363
|
Permission2["AlbumShare"] = "album.share";
|
|
3371
3364
|
Permission2["AlbumDownload"] = "album.download";
|
|
3365
|
+
Permission2["AlbumAssetCreate"] = "albumAsset.create";
|
|
3366
|
+
Permission2["AlbumAssetDelete"] = "albumAsset.delete";
|
|
3367
|
+
Permission2["AlbumUserCreate"] = "albumUser.create";
|
|
3368
|
+
Permission2["AlbumUserUpdate"] = "albumUser.update";
|
|
3369
|
+
Permission2["AlbumUserDelete"] = "albumUser.delete";
|
|
3370
|
+
Permission2["AuthChangePassword"] = "auth.changePassword";
|
|
3372
3371
|
Permission2["AuthDeviceDelete"] = "authDevice.delete";
|
|
3373
3372
|
Permission2["ArchiveRead"] = "archive.read";
|
|
3373
|
+
Permission2["DuplicateRead"] = "duplicate.read";
|
|
3374
|
+
Permission2["DuplicateDelete"] = "duplicate.delete";
|
|
3374
3375
|
Permission2["FaceCreate"] = "face.create";
|
|
3375
3376
|
Permission2["FaceRead"] = "face.read";
|
|
3376
3377
|
Permission2["FaceUpdate"] = "face.update";
|
|
3377
3378
|
Permission2["FaceDelete"] = "face.delete";
|
|
3379
|
+
Permission2["JobCreate"] = "job.create";
|
|
3380
|
+
Permission2["JobRead"] = "job.read";
|
|
3378
3381
|
Permission2["LibraryCreate"] = "library.create";
|
|
3379
3382
|
Permission2["LibraryRead"] = "library.read";
|
|
3380
3383
|
Permission2["LibraryUpdate"] = "library.update";
|
|
@@ -3386,6 +3389,9 @@ var Permission;
|
|
|
3386
3389
|
Permission2["MemoryRead"] = "memory.read";
|
|
3387
3390
|
Permission2["MemoryUpdate"] = "memory.update";
|
|
3388
3391
|
Permission2["MemoryDelete"] = "memory.delete";
|
|
3392
|
+
Permission2["MemoryStatistics"] = "memory.statistics";
|
|
3393
|
+
Permission2["MemoryAssetCreate"] = "memoryAsset.create";
|
|
3394
|
+
Permission2["MemoryAssetDelete"] = "memoryAsset.delete";
|
|
3389
3395
|
Permission2["NotificationCreate"] = "notification.create";
|
|
3390
3396
|
Permission2["NotificationRead"] = "notification.read";
|
|
3391
3397
|
Permission2["NotificationUpdate"] = "notification.update";
|
|
@@ -3401,6 +3407,16 @@ var Permission;
|
|
|
3401
3407
|
Permission2["PersonStatistics"] = "person.statistics";
|
|
3402
3408
|
Permission2["PersonMerge"] = "person.merge";
|
|
3403
3409
|
Permission2["PersonReassign"] = "person.reassign";
|
|
3410
|
+
Permission2["PinCodeCreate"] = "pinCode.create";
|
|
3411
|
+
Permission2["PinCodeUpdate"] = "pinCode.update";
|
|
3412
|
+
Permission2["PinCodeDelete"] = "pinCode.delete";
|
|
3413
|
+
Permission2["ServerAbout"] = "server.about";
|
|
3414
|
+
Permission2["ServerApkLinks"] = "server.apkLinks";
|
|
3415
|
+
Permission2["ServerStorage"] = "server.storage";
|
|
3416
|
+
Permission2["ServerStatistics"] = "server.statistics";
|
|
3417
|
+
Permission2["ServerLicenseRead"] = "serverLicense.read";
|
|
3418
|
+
Permission2["ServerLicenseUpdate"] = "serverLicense.update";
|
|
3419
|
+
Permission2["ServerLicenseDelete"] = "serverLicense.delete";
|
|
3404
3420
|
Permission2["SessionCreate"] = "session.create";
|
|
3405
3421
|
Permission2["SessionRead"] = "session.read";
|
|
3406
3422
|
Permission2["SessionUpdate"] = "session.update";
|
|
@@ -3414,6 +3430,10 @@ var Permission;
|
|
|
3414
3430
|
Permission2["StackRead"] = "stack.read";
|
|
3415
3431
|
Permission2["StackUpdate"] = "stack.update";
|
|
3416
3432
|
Permission2["StackDelete"] = "stack.delete";
|
|
3433
|
+
Permission2["SyncStream"] = "sync.stream";
|
|
3434
|
+
Permission2["SyncCheckpointRead"] = "syncCheckpoint.read";
|
|
3435
|
+
Permission2["SyncCheckpointUpdate"] = "syncCheckpoint.update";
|
|
3436
|
+
Permission2["SyncCheckpointDelete"] = "syncCheckpoint.delete";
|
|
3417
3437
|
Permission2["SystemConfigRead"] = "systemConfig.read";
|
|
3418
3438
|
Permission2["SystemConfigUpdate"] = "systemConfig.update";
|
|
3419
3439
|
Permission2["SystemMetadataRead"] = "systemMetadata.read";
|
|
@@ -3423,10 +3443,25 @@ var Permission;
|
|
|
3423
3443
|
Permission2["TagUpdate"] = "tag.update";
|
|
3424
3444
|
Permission2["TagDelete"] = "tag.delete";
|
|
3425
3445
|
Permission2["TagAsset"] = "tag.asset";
|
|
3426
|
-
Permission2["
|
|
3427
|
-
Permission2["
|
|
3428
|
-
Permission2["
|
|
3429
|
-
Permission2["
|
|
3446
|
+
Permission2["UserRead"] = "user.read";
|
|
3447
|
+
Permission2["UserUpdate"] = "user.update";
|
|
3448
|
+
Permission2["UserLicenseCreate"] = "userLicense.create";
|
|
3449
|
+
Permission2["UserLicenseRead"] = "userLicense.read";
|
|
3450
|
+
Permission2["UserLicenseUpdate"] = "userLicense.update";
|
|
3451
|
+
Permission2["UserLicenseDelete"] = "userLicense.delete";
|
|
3452
|
+
Permission2["UserOnboardingRead"] = "userOnboarding.read";
|
|
3453
|
+
Permission2["UserOnboardingUpdate"] = "userOnboarding.update";
|
|
3454
|
+
Permission2["UserOnboardingDelete"] = "userOnboarding.delete";
|
|
3455
|
+
Permission2["UserPreferenceRead"] = "userPreference.read";
|
|
3456
|
+
Permission2["UserPreferenceUpdate"] = "userPreference.update";
|
|
3457
|
+
Permission2["UserProfileImageCreate"] = "userProfileImage.create";
|
|
3458
|
+
Permission2["UserProfileImageRead"] = "userProfileImage.read";
|
|
3459
|
+
Permission2["UserProfileImageUpdate"] = "userProfileImage.update";
|
|
3460
|
+
Permission2["UserProfileImageDelete"] = "userProfileImage.delete";
|
|
3461
|
+
Permission2["AdminUserCreate"] = "adminUser.create";
|
|
3462
|
+
Permission2["AdminUserRead"] = "adminUser.read";
|
|
3463
|
+
Permission2["AdminUserUpdate"] = "adminUser.update";
|
|
3464
|
+
Permission2["AdminUserDelete"] = "adminUser.delete";
|
|
3430
3465
|
})(Permission || (Permission = {}));
|
|
3431
3466
|
var AssetMediaStatus;
|
|
3432
3467
|
(function(AssetMediaStatus2) {
|
|
@@ -3522,35 +3557,70 @@ var Error2;
|
|
|
3522
3557
|
})(Error2 || (Error2 = {}));
|
|
3523
3558
|
var SyncEntityType;
|
|
3524
3559
|
(function(SyncEntityType2) {
|
|
3560
|
+
SyncEntityType2["AuthUserV1"] = "AuthUserV1";
|
|
3525
3561
|
SyncEntityType2["UserV1"] = "UserV1";
|
|
3526
3562
|
SyncEntityType2["UserDeleteV1"] = "UserDeleteV1";
|
|
3527
|
-
SyncEntityType2["PartnerV1"] = "PartnerV1";
|
|
3528
|
-
SyncEntityType2["PartnerDeleteV1"] = "PartnerDeleteV1";
|
|
3529
3563
|
SyncEntityType2["AssetV1"] = "AssetV1";
|
|
3530
3564
|
SyncEntityType2["AssetDeleteV1"] = "AssetDeleteV1";
|
|
3531
3565
|
SyncEntityType2["AssetExifV1"] = "AssetExifV1";
|
|
3566
|
+
SyncEntityType2["PartnerV1"] = "PartnerV1";
|
|
3567
|
+
SyncEntityType2["PartnerDeleteV1"] = "PartnerDeleteV1";
|
|
3532
3568
|
SyncEntityType2["PartnerAssetV1"] = "PartnerAssetV1";
|
|
3533
3569
|
SyncEntityType2["PartnerAssetBackfillV1"] = "PartnerAssetBackfillV1";
|
|
3534
3570
|
SyncEntityType2["PartnerAssetDeleteV1"] = "PartnerAssetDeleteV1";
|
|
3535
3571
|
SyncEntityType2["PartnerAssetExifV1"] = "PartnerAssetExifV1";
|
|
3536
3572
|
SyncEntityType2["PartnerAssetExifBackfillV1"] = "PartnerAssetExifBackfillV1";
|
|
3573
|
+
SyncEntityType2["PartnerStackBackfillV1"] = "PartnerStackBackfillV1";
|
|
3574
|
+
SyncEntityType2["PartnerStackDeleteV1"] = "PartnerStackDeleteV1";
|
|
3575
|
+
SyncEntityType2["PartnerStackV1"] = "PartnerStackV1";
|
|
3537
3576
|
SyncEntityType2["AlbumV1"] = "AlbumV1";
|
|
3538
3577
|
SyncEntityType2["AlbumDeleteV1"] = "AlbumDeleteV1";
|
|
3539
3578
|
SyncEntityType2["AlbumUserV1"] = "AlbumUserV1";
|
|
3540
3579
|
SyncEntityType2["AlbumUserBackfillV1"] = "AlbumUserBackfillV1";
|
|
3541
3580
|
SyncEntityType2["AlbumUserDeleteV1"] = "AlbumUserDeleteV1";
|
|
3581
|
+
SyncEntityType2["AlbumAssetV1"] = "AlbumAssetV1";
|
|
3582
|
+
SyncEntityType2["AlbumAssetBackfillV1"] = "AlbumAssetBackfillV1";
|
|
3583
|
+
SyncEntityType2["AlbumAssetExifV1"] = "AlbumAssetExifV1";
|
|
3584
|
+
SyncEntityType2["AlbumAssetExifBackfillV1"] = "AlbumAssetExifBackfillV1";
|
|
3585
|
+
SyncEntityType2["AlbumToAssetV1"] = "AlbumToAssetV1";
|
|
3586
|
+
SyncEntityType2["AlbumToAssetDeleteV1"] = "AlbumToAssetDeleteV1";
|
|
3587
|
+
SyncEntityType2["AlbumToAssetBackfillV1"] = "AlbumToAssetBackfillV1";
|
|
3588
|
+
SyncEntityType2["MemoryV1"] = "MemoryV1";
|
|
3589
|
+
SyncEntityType2["MemoryDeleteV1"] = "MemoryDeleteV1";
|
|
3590
|
+
SyncEntityType2["MemoryToAssetV1"] = "MemoryToAssetV1";
|
|
3591
|
+
SyncEntityType2["MemoryToAssetDeleteV1"] = "MemoryToAssetDeleteV1";
|
|
3592
|
+
SyncEntityType2["StackV1"] = "StackV1";
|
|
3593
|
+
SyncEntityType2["StackDeleteV1"] = "StackDeleteV1";
|
|
3594
|
+
SyncEntityType2["PersonV1"] = "PersonV1";
|
|
3595
|
+
SyncEntityType2["PersonDeleteV1"] = "PersonDeleteV1";
|
|
3596
|
+
SyncEntityType2["AssetFaceV1"] = "AssetFaceV1";
|
|
3597
|
+
SyncEntityType2["AssetFaceDeleteV1"] = "AssetFaceDeleteV1";
|
|
3598
|
+
SyncEntityType2["UserMetadataV1"] = "UserMetadataV1";
|
|
3599
|
+
SyncEntityType2["UserMetadataDeleteV1"] = "UserMetadataDeleteV1";
|
|
3542
3600
|
SyncEntityType2["SyncAckV1"] = "SyncAckV1";
|
|
3601
|
+
SyncEntityType2["SyncResetV1"] = "SyncResetV1";
|
|
3543
3602
|
})(SyncEntityType || (SyncEntityType = {}));
|
|
3544
3603
|
var SyncRequestType;
|
|
3545
3604
|
(function(SyncRequestType2) {
|
|
3546
|
-
SyncRequestType2["
|
|
3547
|
-
SyncRequestType2["
|
|
3605
|
+
SyncRequestType2["AlbumsV1"] = "AlbumsV1";
|
|
3606
|
+
SyncRequestType2["AlbumUsersV1"] = "AlbumUsersV1";
|
|
3607
|
+
SyncRequestType2["AlbumToAssetsV1"] = "AlbumToAssetsV1";
|
|
3608
|
+
SyncRequestType2["AlbumAssetsV1"] = "AlbumAssetsV1";
|
|
3609
|
+
SyncRequestType2["AlbumAssetExifsV1"] = "AlbumAssetExifsV1";
|
|
3548
3610
|
SyncRequestType2["AssetsV1"] = "AssetsV1";
|
|
3549
3611
|
SyncRequestType2["AssetExifsV1"] = "AssetExifsV1";
|
|
3612
|
+
SyncRequestType2["AuthUsersV1"] = "AuthUsersV1";
|
|
3613
|
+
SyncRequestType2["MemoriesV1"] = "MemoriesV1";
|
|
3614
|
+
SyncRequestType2["MemoryToAssetsV1"] = "MemoryToAssetsV1";
|
|
3615
|
+
SyncRequestType2["PartnersV1"] = "PartnersV1";
|
|
3550
3616
|
SyncRequestType2["PartnerAssetsV1"] = "PartnerAssetsV1";
|
|
3551
3617
|
SyncRequestType2["PartnerAssetExifsV1"] = "PartnerAssetExifsV1";
|
|
3552
|
-
SyncRequestType2["
|
|
3553
|
-
SyncRequestType2["
|
|
3618
|
+
SyncRequestType2["PartnerStacksV1"] = "PartnerStacksV1";
|
|
3619
|
+
SyncRequestType2["StacksV1"] = "StacksV1";
|
|
3620
|
+
SyncRequestType2["UsersV1"] = "UsersV1";
|
|
3621
|
+
SyncRequestType2["PeopleV1"] = "PeopleV1";
|
|
3622
|
+
SyncRequestType2["AssetFacesV1"] = "AssetFacesV1";
|
|
3623
|
+
SyncRequestType2["UserMetadataV1"] = "UserMetadataV1";
|
|
3554
3624
|
})(SyncRequestType || (SyncRequestType = {}));
|
|
3555
3625
|
var TranscodeHWAccel;
|
|
3556
3626
|
(function(TranscodeHWAccel2) {
|
|
@@ -9504,16 +9574,16 @@ const defaultQueueOptions = {
|
|
|
9504
9574
|
verbose: false
|
|
9505
9575
|
};
|
|
9506
9576
|
class Queue {
|
|
9577
|
+
queue;
|
|
9578
|
+
store = /* @__PURE__ */ new Map();
|
|
9579
|
+
options;
|
|
9580
|
+
worker;
|
|
9507
9581
|
/**
|
|
9508
9582
|
* Create a new queue.
|
|
9509
9583
|
* @param worker - The worker function that processes the task.
|
|
9510
9584
|
* @param options - The queue options.
|
|
9511
9585
|
*/
|
|
9512
9586
|
constructor(worker, options2) {
|
|
9513
|
-
__publicField(this, "queue");
|
|
9514
|
-
__publicField(this, "store", /* @__PURE__ */ new Map());
|
|
9515
|
-
__publicField(this, "options");
|
|
9516
|
-
__publicField(this, "worker");
|
|
9517
9587
|
this.options = { ...defaultQueueOptions, ...options2 };
|
|
9518
9588
|
this.worker = worker;
|
|
9519
9589
|
this.store = /* @__PURE__ */ new Map();
|
|
@@ -12242,19 +12312,18 @@ function requireVisit() {
|
|
|
12242
12312
|
return visitor;
|
|
12243
12313
|
}
|
|
12244
12314
|
function callVisitor(key, node, visitor, path2) {
|
|
12245
|
-
var _a, _b, _c, _d, _e;
|
|
12246
12315
|
if (typeof visitor === "function")
|
|
12247
12316
|
return visitor(key, node, path2);
|
|
12248
12317
|
if (identity2.isMap(node))
|
|
12249
|
-
return
|
|
12318
|
+
return visitor.Map?.(key, node, path2);
|
|
12250
12319
|
if (identity2.isSeq(node))
|
|
12251
|
-
return
|
|
12320
|
+
return visitor.Seq?.(key, node, path2);
|
|
12252
12321
|
if (identity2.isPair(node))
|
|
12253
|
-
return
|
|
12322
|
+
return visitor.Pair?.(key, node, path2);
|
|
12254
12323
|
if (identity2.isScalar(node))
|
|
12255
|
-
return
|
|
12324
|
+
return visitor.Scalar?.(key, node, path2);
|
|
12256
12325
|
if (identity2.isAlias(node))
|
|
12257
|
-
return
|
|
12326
|
+
return visitor.Alias?.(key, node, path2);
|
|
12258
12327
|
return void 0;
|
|
12259
12328
|
}
|
|
12260
12329
|
function replaceNode(key, path2, node) {
|
|
@@ -12593,7 +12662,7 @@ function requireToJS() {
|
|
|
12593
12662
|
ctx.onCreate(res);
|
|
12594
12663
|
return res;
|
|
12595
12664
|
}
|
|
12596
|
-
if (typeof value === "bigint" && !
|
|
12665
|
+
if (typeof value === "bigint" && !ctx?.keep)
|
|
12597
12666
|
return Number(value);
|
|
12598
12667
|
return value;
|
|
12599
12668
|
}
|
|
@@ -12665,7 +12734,7 @@ function requireAlias() {
|
|
|
12665
12734
|
*/
|
|
12666
12735
|
resolve(doc, ctx) {
|
|
12667
12736
|
let nodes;
|
|
12668
|
-
if (ctx
|
|
12737
|
+
if (ctx?.aliasResolveCache) {
|
|
12669
12738
|
nodes = ctx.aliasResolveCache;
|
|
12670
12739
|
} else {
|
|
12671
12740
|
nodes = [];
|
|
@@ -12770,7 +12839,7 @@ function requireScalar() {
|
|
|
12770
12839
|
this.value = value;
|
|
12771
12840
|
}
|
|
12772
12841
|
toJSON(arg, ctx) {
|
|
12773
|
-
return
|
|
12842
|
+
return ctx?.keep ? this.value : toJS2.toJS(this.value, arg, ctx);
|
|
12774
12843
|
}
|
|
12775
12844
|
toString() {
|
|
12776
12845
|
return String(this.value);
|
|
@@ -12801,19 +12870,15 @@ function requireCreateNode() {
|
|
|
12801
12870
|
throw new Error(`Tag ${tagName} not found`);
|
|
12802
12871
|
return tagObj;
|
|
12803
12872
|
}
|
|
12804
|
-
return tags2.find((t2) =>
|
|
12805
|
-
var _a;
|
|
12806
|
-
return ((_a = t2.identify) == null ? void 0 : _a.call(t2, value)) && !t2.format;
|
|
12807
|
-
});
|
|
12873
|
+
return tags2.find((t2) => t2.identify?.(value) && !t2.format);
|
|
12808
12874
|
}
|
|
12809
12875
|
function createNode$1(value, tagName, ctx) {
|
|
12810
|
-
var _a, _b, _c;
|
|
12811
12876
|
if (identity2.isDocument(value))
|
|
12812
12877
|
value = value.contents;
|
|
12813
12878
|
if (identity2.isNode(value))
|
|
12814
12879
|
return value;
|
|
12815
12880
|
if (identity2.isPair(value)) {
|
|
12816
|
-
const map2 =
|
|
12881
|
+
const map2 = ctx.schema[identity2.MAP].createNode?.(ctx.schema, null, ctx);
|
|
12817
12882
|
map2.items.push(value);
|
|
12818
12883
|
return map2;
|
|
12819
12884
|
}
|
|
@@ -12832,7 +12897,7 @@ function requireCreateNode() {
|
|
|
12832
12897
|
sourceObjects.set(value, ref);
|
|
12833
12898
|
}
|
|
12834
12899
|
}
|
|
12835
|
-
if (tagName
|
|
12900
|
+
if (tagName?.startsWith("!!"))
|
|
12836
12901
|
tagName = defaultTagPrefix + tagName.slice(2);
|
|
12837
12902
|
let tagObj = findTagObject(value, tagName, schema2.tags);
|
|
12838
12903
|
if (!tagObj) {
|
|
@@ -12851,7 +12916,7 @@ function requireCreateNode() {
|
|
|
12851
12916
|
onTagObj(tagObj);
|
|
12852
12917
|
delete ctx.onTagObj;
|
|
12853
12918
|
}
|
|
12854
|
-
const node =
|
|
12919
|
+
const node = tagObj?.createNode ? tagObj.createNode(ctx.schema, value, ctx) : typeof tagObj?.nodeClass?.from === "function" ? tagObj.nodeClass.from(ctx.schema, value, ctx) : new Scalar2.Scalar(value);
|
|
12855
12920
|
if (tagName)
|
|
12856
12921
|
node.tag = tagName;
|
|
12857
12922
|
else if (!tagObj.default)
|
|
@@ -13401,12 +13466,9 @@ ${indent}${start}${value}${end}`;
|
|
|
13401
13466
|
const str = value.replace(/\n+/g, `$&
|
|
13402
13467
|
${indent}`);
|
|
13403
13468
|
if (actualString) {
|
|
13404
|
-
const test = (tag) =>
|
|
13405
|
-
var _a;
|
|
13406
|
-
return tag.default && tag.tag !== "tag:yaml.org,2002:str" && ((_a = tag.test) == null ? void 0 : _a.test(str));
|
|
13407
|
-
};
|
|
13469
|
+
const test = (tag) => tag.default && tag.tag !== "tag:yaml.org,2002:str" && tag.test?.test(str);
|
|
13408
13470
|
const { compat, tags: tags2 } = ctx.doc.schema;
|
|
13409
|
-
if (tags2.some(test) ||
|
|
13471
|
+
if (tags2.some(test) || compat?.some(test))
|
|
13410
13472
|
return quotedString(value, ctx);
|
|
13411
13473
|
}
|
|
13412
13474
|
return implicitKey ? str : foldFlowLines2.foldFlowLines(str, indent, foldFlowLines2.FOLD_FLOW, getFoldOptions(ctx, false));
|
|
@@ -13497,7 +13559,6 @@ function requireStringify() {
|
|
|
13497
13559
|
};
|
|
13498
13560
|
}
|
|
13499
13561
|
function getTagObject(tags2, item) {
|
|
13500
|
-
var _a;
|
|
13501
13562
|
if (item.tag) {
|
|
13502
13563
|
const match = tags2.filter((t2) => t2.tag === item.tag);
|
|
13503
13564
|
if (match.length > 0)
|
|
@@ -13507,10 +13568,7 @@ function requireStringify() {
|
|
|
13507
13568
|
let obj;
|
|
13508
13569
|
if (identity2.isScalar(item)) {
|
|
13509
13570
|
obj = item.value;
|
|
13510
|
-
let match = tags2.filter((t2) =>
|
|
13511
|
-
var _a2;
|
|
13512
|
-
return (_a2 = t2.identify) == null ? void 0 : _a2.call(t2, obj);
|
|
13513
|
-
});
|
|
13571
|
+
let match = tags2.filter((t2) => t2.identify?.(obj));
|
|
13514
13572
|
if (match.length > 1) {
|
|
13515
13573
|
const testMatch = match.filter((t2) => t2.test);
|
|
13516
13574
|
if (testMatch.length > 0)
|
|
@@ -13522,7 +13580,7 @@ function requireStringify() {
|
|
|
13522
13580
|
tagObj = tags2.find((t2) => t2.nodeClass && obj instanceof t2.nodeClass);
|
|
13523
13581
|
}
|
|
13524
13582
|
if (!tagObj) {
|
|
13525
|
-
const name =
|
|
13583
|
+
const name = obj?.constructor?.name ?? (obj === null ? "null" : typeof obj);
|
|
13526
13584
|
throw new Error(`Tag not resolved for ${name} value`);
|
|
13527
13585
|
}
|
|
13528
13586
|
return tagObj;
|
|
@@ -13542,13 +13600,12 @@ function requireStringify() {
|
|
|
13542
13600
|
return props.join(" ");
|
|
13543
13601
|
}
|
|
13544
13602
|
function stringify$12(item, ctx, onComment, onChompKeep) {
|
|
13545
|
-
var _a;
|
|
13546
13603
|
if (identity2.isPair(item))
|
|
13547
13604
|
return item.toString(ctx, onComment, onChompKeep);
|
|
13548
13605
|
if (identity2.isAlias(item)) {
|
|
13549
13606
|
if (ctx.doc.directives)
|
|
13550
13607
|
return item.toString(ctx);
|
|
13551
|
-
if (
|
|
13608
|
+
if (ctx.resolvedAliases?.has(item)) {
|
|
13552
13609
|
throw new TypeError(`Cannot stringify circular structure without alias nodes`);
|
|
13553
13610
|
} else {
|
|
13554
13611
|
if (ctx.resolvedAliases)
|
|
@@ -13747,7 +13804,7 @@ function requireMerge() {
|
|
|
13747
13804
|
}),
|
|
13748
13805
|
stringify: () => MERGE_KEY
|
|
13749
13806
|
};
|
|
13750
|
-
const isMergeKey = (ctx, key) => (merge$1.identify(key) || identity2.isScalar(key) && (!key.type || key.type === Scalar2.Scalar.PLAIN) && merge$1.identify(key.value)) &&
|
|
13807
|
+
const isMergeKey = (ctx, key) => (merge$1.identify(key) || identity2.isScalar(key) && (!key.type || key.type === Scalar2.Scalar.PLAIN) && merge$1.identify(key.value)) && ctx?.doc.schema.tags.some((tag) => tag.tag === merge$1.tag && tag.default);
|
|
13751
13808
|
function addMergeToJSMap(ctx, map2, value) {
|
|
13752
13809
|
value = ctx && identity2.isAlias(value) ? value.resolve(ctx.doc) : value;
|
|
13753
13810
|
if (identity2.isSeq(value))
|
|
@@ -13827,7 +13884,7 @@ function requireAddPairToJSMap() {
|
|
|
13827
13884
|
return "";
|
|
13828
13885
|
if (typeof jsKey !== "object")
|
|
13829
13886
|
return String(jsKey);
|
|
13830
|
-
if (identity2.isNode(key) &&
|
|
13887
|
+
if (identity2.isNode(key) && ctx?.doc) {
|
|
13831
13888
|
const strCtx = stringify2.createStringifyContext(ctx.doc, {});
|
|
13832
13889
|
strCtx.anchors = /* @__PURE__ */ new Set();
|
|
13833
13890
|
for (const node of ctx.anchors.keys())
|
|
@@ -13877,11 +13934,11 @@ function requirePair() {
|
|
|
13877
13934
|
return new Pair2(key, value);
|
|
13878
13935
|
}
|
|
13879
13936
|
toJSON(_, ctx) {
|
|
13880
|
-
const pair =
|
|
13937
|
+
const pair = ctx?.mapAsMap ? /* @__PURE__ */ new Map() : {};
|
|
13881
13938
|
return addPairToJSMap2.addPairToJSMap(ctx, pair, this);
|
|
13882
13939
|
}
|
|
13883
13940
|
toString(ctx, onComment, onChompKeep) {
|
|
13884
|
-
return
|
|
13941
|
+
return ctx?.doc ? stringifyPair2.stringifyPair(this, ctx, onComment, onChompKeep) : JSON.stringify(this);
|
|
13885
13942
|
}
|
|
13886
13943
|
};
|
|
13887
13944
|
Pair.Pair = Pair$1;
|
|
@@ -13988,7 +14045,7 @@ ${indent}${line}` : "\n";
|
|
|
13988
14045
|
comment = iv.comment;
|
|
13989
14046
|
if (iv.commentBefore)
|
|
13990
14047
|
reqNewline = true;
|
|
13991
|
-
} else if (item.value == null &&
|
|
14048
|
+
} else if (item.value == null && ik?.comment) {
|
|
13992
14049
|
comment = ik.comment;
|
|
13993
14050
|
}
|
|
13994
14051
|
}
|
|
@@ -14099,16 +14156,15 @@ function requireYAMLMap() {
|
|
|
14099
14156
|
* collection will throw. Otherwise, overwrites the previous value.
|
|
14100
14157
|
*/
|
|
14101
14158
|
add(pair, overwrite) {
|
|
14102
|
-
var _a;
|
|
14103
14159
|
let _pair;
|
|
14104
14160
|
if (identity2.isPair(pair))
|
|
14105
14161
|
_pair = pair;
|
|
14106
14162
|
else if (!pair || typeof pair !== "object" || !("key" in pair)) {
|
|
14107
|
-
_pair = new Pair2.Pair(pair, pair
|
|
14163
|
+
_pair = new Pair2.Pair(pair, pair?.value);
|
|
14108
14164
|
} else
|
|
14109
14165
|
_pair = new Pair2.Pair(pair.key, pair.value);
|
|
14110
14166
|
const prev = findPair(this.items, _pair.key);
|
|
14111
|
-
const sortEntries =
|
|
14167
|
+
const sortEntries = this.schema?.sortMapEntries;
|
|
14112
14168
|
if (prev) {
|
|
14113
14169
|
if (!overwrite)
|
|
14114
14170
|
throw new Error(`Key ${_pair.key} already set`);
|
|
@@ -14135,7 +14191,7 @@ function requireYAMLMap() {
|
|
|
14135
14191
|
}
|
|
14136
14192
|
get(key, keepScalar) {
|
|
14137
14193
|
const it = findPair(this.items, key);
|
|
14138
|
-
const node = it
|
|
14194
|
+
const node = it?.value;
|
|
14139
14195
|
return (!keepScalar && identity2.isScalar(node) ? node.value : node) ?? void 0;
|
|
14140
14196
|
}
|
|
14141
14197
|
has(key) {
|
|
@@ -14150,8 +14206,8 @@ function requireYAMLMap() {
|
|
|
14150
14206
|
* @returns Instance of Type, Map, or Object
|
|
14151
14207
|
*/
|
|
14152
14208
|
toJSON(_, ctx, Type) {
|
|
14153
|
-
const map2 = Type ? new Type() :
|
|
14154
|
-
if (ctx
|
|
14209
|
+
const map2 = Type ? new Type() : ctx?.mapAsMap ? /* @__PURE__ */ new Map() : {};
|
|
14210
|
+
if (ctx?.onCreate)
|
|
14155
14211
|
ctx.onCreate(map2);
|
|
14156
14212
|
for (const item of this.items)
|
|
14157
14213
|
addPairToJSMap2.addPairToJSMap(ctx, map2, item);
|
|
@@ -14274,7 +14330,7 @@ function requireYAMLSeq() {
|
|
|
14274
14330
|
}
|
|
14275
14331
|
toJSON(_, ctx) {
|
|
14276
14332
|
const seq2 = [];
|
|
14277
|
-
if (ctx
|
|
14333
|
+
if (ctx?.onCreate)
|
|
14278
14334
|
ctx.onCreate(seq2);
|
|
14279
14335
|
let i = 0;
|
|
14280
14336
|
for (const item of this.items)
|
|
@@ -14785,7 +14841,7 @@ function requireOmap() {
|
|
|
14785
14841
|
if (!ctx)
|
|
14786
14842
|
return super.toJSON(_);
|
|
14787
14843
|
const map2 = /* @__PURE__ */ new Map();
|
|
14788
|
-
if (ctx
|
|
14844
|
+
if (ctx?.onCreate)
|
|
14789
14845
|
ctx.onCreate(map2);
|
|
14790
14846
|
for (const pair of this.items) {
|
|
14791
14847
|
let key, value;
|
|
@@ -15166,7 +15222,7 @@ function requireTimestamp() {
|
|
|
15166
15222
|
}
|
|
15167
15223
|
return new Date(date);
|
|
15168
15224
|
},
|
|
15169
|
-
stringify: ({ value }) =>
|
|
15225
|
+
stringify: ({ value }) => value?.toISOString().replace(/(T00:00:00)?\.000Z$/, "") ?? ""
|
|
15170
15226
|
};
|
|
15171
15227
|
timestamp.floatTime = floatTime;
|
|
15172
15228
|
timestamp.intTime = intTime;
|
|
@@ -15349,7 +15405,6 @@ function requireStringifyDocument() {
|
|
|
15349
15405
|
var stringify2 = requireStringify();
|
|
15350
15406
|
var stringifyComment2 = requireStringifyComment();
|
|
15351
15407
|
function stringifyDocument$1(doc, options2) {
|
|
15352
|
-
var _a;
|
|
15353
15408
|
const lines = [];
|
|
15354
15409
|
let hasDirectives = options2.directives === true;
|
|
15355
15410
|
if (options2.directives !== false && doc.directives) {
|
|
@@ -15394,7 +15449,7 @@ function requireStringifyDocument() {
|
|
|
15394
15449
|
} else {
|
|
15395
15450
|
lines.push(stringify2.stringify(doc.contents, ctx));
|
|
15396
15451
|
}
|
|
15397
|
-
if (
|
|
15452
|
+
if (doc.directives?.docEnd) {
|
|
15398
15453
|
if (doc.comment) {
|
|
15399
15454
|
const cs = commentString(doc.comment);
|
|
15400
15455
|
if (cs.includes("\n")) {
|
|
@@ -15462,7 +15517,7 @@ function requireDocument() {
|
|
|
15462
15517
|
}, options2);
|
|
15463
15518
|
this.options = opt;
|
|
15464
15519
|
let { version: version2 } = opt;
|
|
15465
|
-
if (options2
|
|
15520
|
+
if (options2?._directives) {
|
|
15466
15521
|
this.directives = options2._directives.atDocument();
|
|
15467
15522
|
if (this.directives.yaml.explicit)
|
|
15468
15523
|
version2 = this.directives.yaml.version;
|
|
@@ -15832,7 +15887,7 @@ function requireResolveProps() {
|
|
|
15832
15887
|
}
|
|
15833
15888
|
switch (token.type) {
|
|
15834
15889
|
case "space":
|
|
15835
|
-
if (!flow && (indicator !== "doc-start" ||
|
|
15890
|
+
if (!flow && (indicator !== "doc-start" || next?.type !== "flow-collection") && token.source.includes(" ")) {
|
|
15836
15891
|
tab = token;
|
|
15837
15892
|
}
|
|
15838
15893
|
hasSpace = true;
|
|
@@ -15914,7 +15969,7 @@ function requireResolveProps() {
|
|
|
15914
15969
|
if (reqSpace && next && next.type !== "space" && next.type !== "newline" && next.type !== "comma" && (next.type !== "scalar" || next.source !== "")) {
|
|
15915
15970
|
onError(next.offset, "MISSING_CHAR", "Tags and anchors must be separated from the next token by white space");
|
|
15916
15971
|
}
|
|
15917
|
-
if (tab && (atNewline && tab.indent <= parentIndent ||
|
|
15972
|
+
if (tab && (atNewline && tab.indent <= parentIndent || next?.type === "block-map" || next?.type === "block-seq"))
|
|
15918
15973
|
onError(tab, "TAB_AS_INDENT", "Tabs are not allowed as indentation");
|
|
15919
15974
|
return {
|
|
15920
15975
|
comma,
|
|
@@ -15981,7 +16036,7 @@ function requireUtilFlowIndentCheck() {
|
|
|
15981
16036
|
hasRequiredUtilFlowIndentCheck = 1;
|
|
15982
16037
|
var utilContainsNewline2 = requireUtilContainsNewline();
|
|
15983
16038
|
function flowIndentCheck(indent, fc, onError) {
|
|
15984
|
-
if (
|
|
16039
|
+
if (fc?.type === "flow-collection") {
|
|
15985
16040
|
const end = fc.end[0];
|
|
15986
16041
|
if (end.indent === indent && (end.source === "]" || end.source === "}") && utilContainsNewline2.containsNewline(fc)) {
|
|
15987
16042
|
const msg = "Flow end indicator should be more indented than parent";
|
|
@@ -16020,8 +16075,7 @@ function requireResolveBlockMap() {
|
|
|
16020
16075
|
var utilMapIncludes2 = requireUtilMapIncludes();
|
|
16021
16076
|
const startColMsg = "All mapping items must start at the same column";
|
|
16022
16077
|
function resolveBlockMap$1({ composeNode: composeNode2, composeEmptyNode }, ctx, bm, onError, tag) {
|
|
16023
|
-
|
|
16024
|
-
const NodeClass = (tag == null ? void 0 : tag.nodeClass) ?? YAMLMap2.YAMLMap;
|
|
16078
|
+
const NodeClass = tag?.nodeClass ?? YAMLMap2.YAMLMap;
|
|
16025
16079
|
const map2 = new NodeClass(ctx.schema);
|
|
16026
16080
|
if (ctx.atRoot)
|
|
16027
16081
|
ctx.atRoot = false;
|
|
@@ -16031,7 +16085,7 @@ function requireResolveBlockMap() {
|
|
|
16031
16085
|
const { start, key, sep: sep2, value } = collItem;
|
|
16032
16086
|
const keyProps = resolveProps2.resolveProps(start, {
|
|
16033
16087
|
indicator: "explicit-key-ind",
|
|
16034
|
-
next: key ??
|
|
16088
|
+
next: key ?? sep2?.[0],
|
|
16035
16089
|
offset,
|
|
16036
16090
|
onError,
|
|
16037
16091
|
parentIndent: bm.indent,
|
|
@@ -16058,7 +16112,7 @@ function requireResolveBlockMap() {
|
|
|
16058
16112
|
if (keyProps.newlineAfterProp || utilContainsNewline2.containsNewline(key)) {
|
|
16059
16113
|
onError(key ?? start[start.length - 1], "MULTILINE_IMPLICIT_KEY", "Implicit keys need to be on a single line");
|
|
16060
16114
|
}
|
|
16061
|
-
} else if (
|
|
16115
|
+
} else if (keyProps.found?.indent !== bm.indent) {
|
|
16062
16116
|
onError(offset, "BAD_INDENT", startColMsg);
|
|
16063
16117
|
}
|
|
16064
16118
|
ctx.atKey = true;
|
|
@@ -16080,7 +16134,7 @@ function requireResolveBlockMap() {
|
|
|
16080
16134
|
offset = valueProps.end;
|
|
16081
16135
|
if (valueProps.found) {
|
|
16082
16136
|
if (implicitKey) {
|
|
16083
|
-
if (
|
|
16137
|
+
if (value?.type === "block-map" && !valueProps.hasNewline)
|
|
16084
16138
|
onError(offset, "BLOCK_AS_IMPLICIT_KEY", "Nested mappings are not allowed in compact mappings");
|
|
16085
16139
|
if (ctx.options.strict && keyProps.start < valueProps.found.offset - 1024)
|
|
16086
16140
|
onError(keyNode.range, "KEY_OVER_1024_CHARS", "The : indicator must be at most 1024 chars after the start of an implicit block mapping key");
|
|
@@ -16125,7 +16179,7 @@ function requireResolveBlockSeq() {
|
|
|
16125
16179
|
var resolveProps2 = requireResolveProps();
|
|
16126
16180
|
var utilFlowIndentCheck2 = requireUtilFlowIndentCheck();
|
|
16127
16181
|
function resolveBlockSeq$1({ composeNode: composeNode2, composeEmptyNode }, ctx, bs, onError, tag) {
|
|
16128
|
-
const NodeClass =
|
|
16182
|
+
const NodeClass = tag?.nodeClass ?? YAMLSeq2.YAMLSeq;
|
|
16129
16183
|
const seq2 = new NodeClass(ctx.schema);
|
|
16130
16184
|
if (ctx.atRoot)
|
|
16131
16185
|
ctx.atRoot = false;
|
|
@@ -16228,7 +16282,7 @@ function requireResolveFlowCollection() {
|
|
|
16228
16282
|
function resolveFlowCollection$1({ composeNode: composeNode2, composeEmptyNode }, ctx, fc, onError, tag) {
|
|
16229
16283
|
const isMap = fc.start.source === "{";
|
|
16230
16284
|
const fcName = isMap ? "flow map" : "flow sequence";
|
|
16231
|
-
const NodeClass =
|
|
16285
|
+
const NodeClass = tag?.nodeClass ?? (isMap ? YAMLMap2.YAMLMap : YAMLSeq2.YAMLSeq);
|
|
16232
16286
|
const coll = new NodeClass(ctx.schema);
|
|
16233
16287
|
coll.flow = true;
|
|
16234
16288
|
const atRoot = ctx.atRoot;
|
|
@@ -16243,7 +16297,7 @@ function requireResolveFlowCollection() {
|
|
|
16243
16297
|
const props = resolveProps2.resolveProps(start, {
|
|
16244
16298
|
flow: fcName,
|
|
16245
16299
|
indicator: "explicit-key-ind",
|
|
16246
|
-
next: key ??
|
|
16300
|
+
next: key ?? sep2?.[0],
|
|
16247
16301
|
offset,
|
|
16248
16302
|
onError,
|
|
16249
16303
|
parentIndent: fc.indent,
|
|
@@ -16427,7 +16481,6 @@ function requireComposeCollection() {
|
|
|
16427
16481
|
return coll;
|
|
16428
16482
|
}
|
|
16429
16483
|
function composeCollection$1(CN, ctx, token, props, onError) {
|
|
16430
|
-
var _a;
|
|
16431
16484
|
const tagToken = props.tag;
|
|
16432
16485
|
const tagName = !tagToken ? null : ctx.directives.tagName(tagToken.source, (msg) => onError(tagToken, "TAG_RESOLVE_FAILED", msg));
|
|
16433
16486
|
if (token.type === "block-seq") {
|
|
@@ -16458,11 +16511,11 @@ function requireComposeCollection() {
|
|
|
16458
16511
|
}
|
|
16459
16512
|
}
|
|
16460
16513
|
const coll = resolveCollection(CN, ctx, token, onError, tagName, tag);
|
|
16461
|
-
const res =
|
|
16514
|
+
const res = tag.resolve?.(coll, (msg) => onError(tagToken, "TAG_RESOLVE_FAILED", msg), ctx.options) ?? coll;
|
|
16462
16515
|
const node = identity2.isNode(res) ? res : new Scalar2.Scalar(res);
|
|
16463
16516
|
node.range = coll.range;
|
|
16464
16517
|
node.tag = tagName;
|
|
16465
|
-
if (tag
|
|
16518
|
+
if (tag?.format)
|
|
16466
16519
|
node.format = tag.format;
|
|
16467
16520
|
return node;
|
|
16468
16521
|
}
|
|
@@ -16644,7 +16697,7 @@ function requireResolveBlockScalar() {
|
|
|
16644
16697
|
const split = source.split(/\n( *)/);
|
|
16645
16698
|
const first = split[0];
|
|
16646
16699
|
const m2 = first.match(/^( *)/);
|
|
16647
|
-
const line0 =
|
|
16700
|
+
const line0 = m2?.[1] ? [m2[1], first.slice(m2[1].length)] : ["", first];
|
|
16648
16701
|
const lines = [line0];
|
|
16649
16702
|
for (let i = 1; i < split.length; i += 2)
|
|
16650
16703
|
lines.push([split[i], split[i + 1]]);
|
|
@@ -16761,7 +16814,7 @@ function requireResolveFlowScalar() {
|
|
|
16761
16814
|
const last = /[ \t]*(.*)/sy;
|
|
16762
16815
|
last.lastIndex = pos;
|
|
16763
16816
|
match = last.exec(source);
|
|
16764
|
-
return res + sep2 + (
|
|
16817
|
+
return res + sep2 + (match?.[1] ?? "");
|
|
16765
16818
|
}
|
|
16766
16819
|
function doubleQuotedValue(source, onError) {
|
|
16767
16820
|
let res = "";
|
|
@@ -16914,7 +16967,6 @@ function requireComposeScalar() {
|
|
|
16914
16967
|
return scalar;
|
|
16915
16968
|
}
|
|
16916
16969
|
function findScalarTagByName(schema2, value, tagName, tagToken, onError) {
|
|
16917
|
-
var _a;
|
|
16918
16970
|
if (tagName === "!")
|
|
16919
16971
|
return schema2[identity2.SCALAR];
|
|
16920
16972
|
const matchWithTest = [];
|
|
@@ -16927,7 +16979,7 @@ function requireComposeScalar() {
|
|
|
16927
16979
|
}
|
|
16928
16980
|
}
|
|
16929
16981
|
for (const tag of matchWithTest)
|
|
16930
|
-
if (
|
|
16982
|
+
if (tag.test?.test(value))
|
|
16931
16983
|
return tag;
|
|
16932
16984
|
const kt = schema2.knownTags[tagName];
|
|
16933
16985
|
if (kt && !kt.collection) {
|
|
@@ -16938,15 +16990,9 @@ function requireComposeScalar() {
|
|
|
16938
16990
|
return schema2[identity2.SCALAR];
|
|
16939
16991
|
}
|
|
16940
16992
|
function findScalarTagByTest({ atKey, directives: directives2, schema: schema2 }, value, token, onError) {
|
|
16941
|
-
const tag = schema2.tags.find((tag2) =>
|
|
16942
|
-
var _a;
|
|
16943
|
-
return (tag2.default === true || atKey && tag2.default === "key") && ((_a = tag2.test) == null ? void 0 : _a.test(value));
|
|
16944
|
-
}) || schema2[identity2.SCALAR];
|
|
16993
|
+
const tag = schema2.tags.find((tag2) => (tag2.default === true || atKey && tag2.default === "key") && tag2.test?.test(value)) || schema2[identity2.SCALAR];
|
|
16945
16994
|
if (schema2.compat) {
|
|
16946
|
-
const compat = schema2.compat.find((tag2) =>
|
|
16947
|
-
var _a;
|
|
16948
|
-
return tag2.default && ((_a = tag2.test) == null ? void 0 : _a.test(value));
|
|
16949
|
-
}) ?? schema2[identity2.SCALAR];
|
|
16995
|
+
const compat = schema2.compat.find((tag2) => tag2.default && tag2.test?.test(value)) ?? schema2[identity2.SCALAR];
|
|
16950
16996
|
if (tag.tag !== compat.tag) {
|
|
16951
16997
|
const ts = directives2.tagString(tag.tag);
|
|
16952
16998
|
const cs = directives2.tagString(compat.tag);
|
|
@@ -16977,7 +17023,7 @@ function requireUtilEmptyScalarPosition() {
|
|
|
16977
17023
|
continue;
|
|
16978
17024
|
}
|
|
16979
17025
|
st = before[++i];
|
|
16980
|
-
while (
|
|
17026
|
+
while (st?.type === "space") {
|
|
16981
17027
|
offset += st.source.length;
|
|
16982
17028
|
st = before[++i];
|
|
16983
17029
|
}
|
|
@@ -17109,7 +17155,7 @@ function requireComposeDoc() {
|
|
|
17109
17155
|
};
|
|
17110
17156
|
const props = resolveProps2.resolveProps(start, {
|
|
17111
17157
|
indicator: "doc-start",
|
|
17112
|
-
next: value ??
|
|
17158
|
+
next: value ?? end?.[0],
|
|
17113
17159
|
offset,
|
|
17114
17160
|
onError,
|
|
17115
17161
|
parentIndent: 0,
|
|
@@ -17151,7 +17197,6 @@ function requireComposer() {
|
|
|
17151
17197
|
return [offset, offset + (typeof source === "string" ? source.length : 1)];
|
|
17152
17198
|
}
|
|
17153
17199
|
function parsePrelude(prelude) {
|
|
17154
|
-
var _a;
|
|
17155
17200
|
let comment = "";
|
|
17156
17201
|
let atComment = false;
|
|
17157
17202
|
let afterEmptyLine = false;
|
|
@@ -17164,7 +17209,7 @@ function requireComposer() {
|
|
|
17164
17209
|
afterEmptyLine = false;
|
|
17165
17210
|
break;
|
|
17166
17211
|
case "%":
|
|
17167
|
-
if (
|
|
17212
|
+
if (prelude[i + 1]?.[0] !== "#")
|
|
17168
17213
|
i += 1;
|
|
17169
17214
|
atComment = false;
|
|
17170
17215
|
break;
|
|
@@ -17603,7 +17648,7 @@ function requireCstVisit() {
|
|
|
17603
17648
|
visit2.itemAtPath = (cst2, path2) => {
|
|
17604
17649
|
let item = cst2;
|
|
17605
17650
|
for (const [field, index] of path2) {
|
|
17606
|
-
const tok = item
|
|
17651
|
+
const tok = item?.[field];
|
|
17607
17652
|
if (tok && "items" in tok) {
|
|
17608
17653
|
item = tok.items[index];
|
|
17609
17654
|
} else
|
|
@@ -17614,7 +17659,7 @@ function requireCstVisit() {
|
|
|
17614
17659
|
visit2.parentCollection = (cst2, path2) => {
|
|
17615
17660
|
const parent = visit2.itemAtPath(cst2, path2.slice(0, -1));
|
|
17616
17661
|
const field = path2[path2.length - 1][0];
|
|
17617
|
-
const coll = parent
|
|
17662
|
+
const coll = parent?.[field];
|
|
17618
17663
|
if (coll && "items" in coll)
|
|
17619
17664
|
return coll;
|
|
17620
17665
|
throw new Error("Parent collection not found");
|
|
@@ -18385,7 +18430,7 @@ function requireParser() {
|
|
|
18385
18430
|
return -1;
|
|
18386
18431
|
}
|
|
18387
18432
|
function isFlowToken(token) {
|
|
18388
|
-
switch (token
|
|
18433
|
+
switch (token?.type) {
|
|
18389
18434
|
case "alias":
|
|
18390
18435
|
case "scalar":
|
|
18391
18436
|
case "single-quoted-scalar":
|
|
@@ -18412,7 +18457,6 @@ function requireParser() {
|
|
|
18412
18457
|
}
|
|
18413
18458
|
}
|
|
18414
18459
|
function getFirstKeyStartProps(prev) {
|
|
18415
|
-
var _a;
|
|
18416
18460
|
if (prev.length === 0)
|
|
18417
18461
|
return [];
|
|
18418
18462
|
let i = prev.length;
|
|
@@ -18426,7 +18470,7 @@ function requireParser() {
|
|
|
18426
18470
|
break loop;
|
|
18427
18471
|
}
|
|
18428
18472
|
}
|
|
18429
|
-
while (
|
|
18473
|
+
while (prev[++i]?.type === "space") {
|
|
18430
18474
|
}
|
|
18431
18475
|
return prev.splice(i, prev.length);
|
|
18432
18476
|
}
|
|
@@ -18770,7 +18814,6 @@ function requireParser() {
|
|
|
18770
18814
|
}
|
|
18771
18815
|
}
|
|
18772
18816
|
*blockMap(map2) {
|
|
18773
|
-
var _a;
|
|
18774
18817
|
const it = map2.items[map2.items.length - 1];
|
|
18775
18818
|
switch (this.type) {
|
|
18776
18819
|
case "newline":
|
|
@@ -18778,8 +18821,8 @@ function requireParser() {
|
|
|
18778
18821
|
if (it.value) {
|
|
18779
18822
|
const end = "end" in it.value ? it.value.end : void 0;
|
|
18780
18823
|
const last = Array.isArray(end) ? end[end.length - 1] : void 0;
|
|
18781
|
-
if (
|
|
18782
|
-
end
|
|
18824
|
+
if (last?.type === "comment")
|
|
18825
|
+
end?.push(this.sourceToken);
|
|
18783
18826
|
else
|
|
18784
18827
|
map2.items.push({ start: [this.sourceToken] });
|
|
18785
18828
|
} else if (it.sep) {
|
|
@@ -18797,7 +18840,7 @@ function requireParser() {
|
|
|
18797
18840
|
} else {
|
|
18798
18841
|
if (this.atIndentedComment(it.start, map2.indent)) {
|
|
18799
18842
|
const prev = map2.items[map2.items.length - 2];
|
|
18800
|
-
const end =
|
|
18843
|
+
const end = prev?.value?.end;
|
|
18801
18844
|
if (Array.isArray(end)) {
|
|
18802
18845
|
Array.prototype.push.apply(end, it.start);
|
|
18803
18846
|
end.push(this.sourceToken);
|
|
@@ -18965,15 +19008,14 @@ function requireParser() {
|
|
|
18965
19008
|
yield* this.step();
|
|
18966
19009
|
}
|
|
18967
19010
|
*blockSequence(seq2) {
|
|
18968
|
-
var _a;
|
|
18969
19011
|
const it = seq2.items[seq2.items.length - 1];
|
|
18970
19012
|
switch (this.type) {
|
|
18971
19013
|
case "newline":
|
|
18972
19014
|
if (it.value) {
|
|
18973
19015
|
const end = "end" in it.value ? it.value.end : void 0;
|
|
18974
19016
|
const last = Array.isArray(end) ? end[end.length - 1] : void 0;
|
|
18975
|
-
if (
|
|
18976
|
-
end
|
|
19017
|
+
if (last?.type === "comment")
|
|
19018
|
+
end?.push(this.sourceToken);
|
|
18977
19019
|
else
|
|
18978
19020
|
seq2.items.push({ start: [this.sourceToken] });
|
|
18979
19021
|
} else
|
|
@@ -18986,7 +19028,7 @@ function requireParser() {
|
|
|
18986
19028
|
else {
|
|
18987
19029
|
if (this.atIndentedComment(it.start, seq2.indent)) {
|
|
18988
19030
|
const prev = seq2.items[seq2.items.length - 2];
|
|
18989
|
-
const end =
|
|
19031
|
+
const end = prev?.value?.end;
|
|
18990
19032
|
if (Array.isArray(end)) {
|
|
18991
19033
|
Array.prototype.push.apply(end, it.start);
|
|
18992
19034
|
end.push(this.sourceToken);
|
|
@@ -19246,7 +19288,7 @@ function requirePublicApi() {
|
|
|
19246
19288
|
}
|
|
19247
19289
|
function parseAllDocuments(source, options2 = {}) {
|
|
19248
19290
|
const { lineCounter: lineCounter3, prettyErrors } = parseOptions(options2);
|
|
19249
|
-
const parser$1 = new parser2.Parser(lineCounter3
|
|
19291
|
+
const parser$1 = new parser2.Parser(lineCounter3?.addNewLine);
|
|
19250
19292
|
const composer$1 = new composer2.Composer(options2);
|
|
19251
19293
|
const docs = Array.from(composer$1.compose(parser$1.parse(source)));
|
|
19252
19294
|
if (prettyErrors && lineCounter3)
|
|
@@ -19260,7 +19302,7 @@ function requirePublicApi() {
|
|
|
19260
19302
|
}
|
|
19261
19303
|
function parseDocument(source, options2 = {}) {
|
|
19262
19304
|
const { lineCounter: lineCounter3, prettyErrors } = parseOptions(options2);
|
|
19263
|
-
const parser$1 = new parser2.Parser(lineCounter3
|
|
19305
|
+
const parser$1 = new parser2.Parser(lineCounter3?.addNewLine);
|
|
19264
19306
|
const composer$1 = new composer2.Composer(options2);
|
|
19265
19307
|
let doc = null;
|
|
19266
19308
|
for (const _doc of composer$1.compose(parser$1.parse(source), true, source.length)) {
|
|
@@ -19500,16 +19542,16 @@ const sha1 = (filepath) => {
|
|
|
19500
19542
|
});
|
|
19501
19543
|
};
|
|
19502
19544
|
class Batcher {
|
|
19545
|
+
items = [];
|
|
19546
|
+
batchSize;
|
|
19547
|
+
debounceTimeMs;
|
|
19548
|
+
onBatch;
|
|
19549
|
+
debounceTimer;
|
|
19503
19550
|
constructor({
|
|
19504
19551
|
batchSize,
|
|
19505
19552
|
debounceTimeMs,
|
|
19506
19553
|
onBatch
|
|
19507
19554
|
}) {
|
|
19508
|
-
__publicField(this, "items", []);
|
|
19509
|
-
__publicField(this, "batchSize");
|
|
19510
|
-
__publicField(this, "debounceTimeMs");
|
|
19511
|
-
__publicField(this, "onBatch");
|
|
19512
|
-
__publicField(this, "debounceTimer");
|
|
19513
19555
|
this.batchSize = batchSize;
|
|
19514
19556
|
this.debounceTimeMs = debounceTimeMs;
|
|
19515
19557
|
this.onBatch = onBatch;
|
|
@@ -19591,11 +19633,10 @@ const startWatch = async (paths, options2, {
|
|
|
19591
19633
|
}
|
|
19592
19634
|
});
|
|
19593
19635
|
const onFile = async (path2, stats) => {
|
|
19594
|
-
|
|
19595
|
-
if (stats == null ? void 0 : stats.isDirectory()) {
|
|
19636
|
+
if (stats?.isDirectory()) {
|
|
19596
19637
|
return;
|
|
19597
19638
|
}
|
|
19598
|
-
const ext = "." +
|
|
19639
|
+
const ext = "." + path2.split(".").pop()?.toLowerCase();
|
|
19599
19640
|
if (!ext || !extensions.has(ext)) {
|
|
19600
19641
|
return;
|
|
19601
19642
|
}
|
|
@@ -19661,8 +19702,8 @@ const checkForDuplicates = async (files, { concurrency, skipHash, progress }) =>
|
|
|
19661
19702
|
} else {
|
|
19662
19703
|
console.log(`Received ${files.length} files, hashing...`);
|
|
19663
19704
|
}
|
|
19664
|
-
const hashProgressBar = multiBar2
|
|
19665
|
-
const checkProgressBar = multiBar2
|
|
19705
|
+
const hashProgressBar = multiBar2?.create(files.length, 0, { message: "Hashing files " });
|
|
19706
|
+
const checkProgressBar = multiBar2?.create(files.length, 0, { message: "Checking for duplicates" });
|
|
19666
19707
|
const newFiles = [];
|
|
19667
19708
|
const duplicates = [];
|
|
19668
19709
|
const checkBulkUploadQueue = new Queue(
|
|
@@ -19676,7 +19717,7 @@ const checkForDuplicates = async (files, { concurrency, skipHash, progress }) =>
|
|
|
19676
19717
|
duplicates.push({ id: assetId, filepath });
|
|
19677
19718
|
}
|
|
19678
19719
|
}
|
|
19679
|
-
checkProgressBar
|
|
19720
|
+
checkProgressBar?.increment(assets.length);
|
|
19680
19721
|
},
|
|
19681
19722
|
{ concurrency, retry: 3 }
|
|
19682
19723
|
);
|
|
@@ -19692,7 +19733,7 @@ const checkForDuplicates = async (files, { concurrency, skipHash, progress }) =>
|
|
|
19692
19733
|
checkBulkUploadRequests = [];
|
|
19693
19734
|
void checkBulkUploadQueue.push(batch);
|
|
19694
19735
|
}
|
|
19695
|
-
hashProgressBar
|
|
19736
|
+
hashProgressBar?.increment();
|
|
19696
19737
|
return results;
|
|
19697
19738
|
},
|
|
19698
19739
|
{ concurrency, retry: 3 }
|
|
@@ -19705,7 +19746,7 @@ const checkForDuplicates = async (files, { concurrency, skipHash, progress }) =>
|
|
|
19705
19746
|
void checkBulkUploadQueue.push(checkBulkUploadRequests);
|
|
19706
19747
|
}
|
|
19707
19748
|
await checkBulkUploadQueue.drained();
|
|
19708
|
-
multiBar2
|
|
19749
|
+
multiBar2?.stop();
|
|
19709
19750
|
console.log(`Found ${newFiles.length} new files and ${duplicates.length} duplicate${s(duplicates.length)}`);
|
|
19710
19751
|
const failedTasks = queue2.tasks.filter((task) => task.status === "failed");
|
|
19711
19752
|
if (failedTasks.length > 0) {
|
|
@@ -19743,8 +19784,8 @@ const uploadFiles = async (files, { dryRun, concurrency, progress }) => {
|
|
|
19743
19784
|
} else {
|
|
19744
19785
|
console.log(`Uploading ${files.length} asset${s(files.length)} (${byteSize(totalSize)})`);
|
|
19745
19786
|
}
|
|
19746
|
-
uploadProgress
|
|
19747
|
-
uploadProgress
|
|
19787
|
+
uploadProgress?.start(totalSize, 0);
|
|
19788
|
+
uploadProgress?.update({ value_formatted: 0, total_formatted: byteSize(totalSize) });
|
|
19748
19789
|
let duplicateCount = 0;
|
|
19749
19790
|
let duplicateSize = 0;
|
|
19750
19791
|
let successCount = 0;
|
|
@@ -19765,7 +19806,7 @@ const uploadFiles = async (files, { dryRun, concurrency, progress }) => {
|
|
|
19765
19806
|
successCount++;
|
|
19766
19807
|
successSize += stats.size ?? 0;
|
|
19767
19808
|
}
|
|
19768
|
-
uploadProgress
|
|
19809
|
+
uploadProgress?.update(successSize, { value_formatted: byteSize(successSize + duplicateSize) });
|
|
19769
19810
|
return response;
|
|
19770
19811
|
},
|
|
19771
19812
|
{ concurrency, retry: 3 }
|
|
@@ -19774,7 +19815,7 @@ const uploadFiles = async (files, { dryRun, concurrency, progress }) => {
|
|
|
19774
19815
|
void queue2.push(item);
|
|
19775
19816
|
}
|
|
19776
19817
|
await queue2.drained();
|
|
19777
|
-
uploadProgress
|
|
19818
|
+
uploadProgress?.stop();
|
|
19778
19819
|
console.log(`Successfully uploaded ${successCount} new asset${s(successCount)} (${byteSize(successSize)})`);
|
|
19779
19820
|
if (duplicateCount > 0) {
|
|
19780
19821
|
console.log(`Skipped ${duplicateCount} duplicate asset${s(duplicateCount)} (${byteSize(duplicateSize)})`);
|
|
@@ -19850,7 +19891,6 @@ const deleteFiles = async (files, options2) => {
|
|
|
19850
19891
|
}
|
|
19851
19892
|
};
|
|
19852
19893
|
const updateAlbums = async (assets, options2) => {
|
|
19853
|
-
var _a;
|
|
19854
19894
|
if (!options2.album && !options2.albumName) {
|
|
19855
19895
|
return;
|
|
19856
19896
|
}
|
|
@@ -19900,7 +19940,7 @@ const updateAlbums = async (assets, options2) => {
|
|
|
19900
19940
|
if (!albumToAssets.has(albumId)) {
|
|
19901
19941
|
albumToAssets.set(albumId, []);
|
|
19902
19942
|
}
|
|
19903
|
-
|
|
19943
|
+
albumToAssets.get(albumId)?.push(asset.id);
|
|
19904
19944
|
}
|
|
19905
19945
|
}
|
|
19906
19946
|
const albumUpdateProgress = new cliProgressExports.SingleBar(
|
|
@@ -19971,7 +20011,7 @@ const serverInfo = async (options2) => {
|
|
|
19971
20011
|
console.log(` Videos: ${stats.videos}`);
|
|
19972
20012
|
console.log(` Total: ${stats.total}`);
|
|
19973
20013
|
};
|
|
19974
|
-
const version = "2.2.
|
|
20014
|
+
const version = "2.2.74";
|
|
19975
20015
|
const defaultConfigDirectory = path$1.join(os.homedir(), ".config/immich/");
|
|
19976
20016
|
const program = new Command().name("immich").version(version).description("Command line interface for Immich").addOption(
|
|
19977
20017
|
new Option("-d, --config-directory <directory>", "Configuration directory where auth.yml will be stored").env("IMMICH_CONFIG_DIR").default(defaultConfigDirectory)
|
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@immich/cli",
|
|
3
|
-
"version": "2.2.
|
|
3
|
+
"version": "2.2.74",
|
|
4
4
|
"description": "Command Line Interface (CLI) for Immich",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": "./dist/index.js",
|
|
7
7
|
"bin": {
|
|
8
|
-
"immich": "
|
|
8
|
+
"immich": "./bin/immich"
|
|
9
9
|
},
|
|
10
10
|
"license": "GNU Affero General Public License version 3",
|
|
11
11
|
"keywords": [
|
|
@@ -21,13 +21,13 @@
|
|
|
21
21
|
"@types/lodash-es": "^4.17.12",
|
|
22
22
|
"@types/micromatch": "^4.0.9",
|
|
23
23
|
"@types/mock-fs": "^4.13.1",
|
|
24
|
-
"@types/node": "^22.
|
|
24
|
+
"@types/node": "^22.16.5",
|
|
25
25
|
"@vitest/coverage-v8": "^3.0.0",
|
|
26
26
|
"byte-size": "^9.0.0",
|
|
27
27
|
"cli-progress": "^3.12.0",
|
|
28
28
|
"commander": "^12.0.0",
|
|
29
29
|
"eslint": "^9.14.0",
|
|
30
|
-
"eslint-config-prettier": "^10.
|
|
30
|
+
"eslint-config-prettier": "^10.1.8",
|
|
31
31
|
"eslint-plugin-prettier": "^5.1.3",
|
|
32
32
|
"eslint-plugin-unicorn": "^59.0.0",
|
|
33
33
|
"globals": "^16.0.0",
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
"prettier-plugin-organize-imports": "^4.0.0",
|
|
37
37
|
"typescript": "^5.3.3",
|
|
38
38
|
"typescript-eslint": "^8.28.0",
|
|
39
|
-
"vite": "^
|
|
39
|
+
"vite": "^7.0.0",
|
|
40
40
|
"vite-tsconfig-paths": "^5.0.0",
|
|
41
41
|
"vitest": "^3.0.0",
|
|
42
42
|
"vitest-fetch-mock": "^0.4.0",
|
|
@@ -69,6 +69,6 @@
|
|
|
69
69
|
"micromatch": "^4.0.8"
|
|
70
70
|
},
|
|
71
71
|
"volta": {
|
|
72
|
-
"node": "22.
|
|
72
|
+
"node": "22.17.1"
|
|
73
73
|
}
|
|
74
74
|
}
|