Merge branch 'canary' into darksky/remove-old-client-support

This commit is contained in:
DarkSky
2026-02-03 17:05:35 +08:00
committed by GitHub
10 changed files with 132 additions and 192 deletions

View File

@@ -35,9 +35,28 @@ export async function printToPdf(
overflow: initial !important;
print-color-adjust: exact;
-webkit-print-color-adjust: exact;
color: #000 !important;
background: #fff !important;
color-scheme: light !important;
}
::-webkit-scrollbar {
display: none;
::-webkit-scrollbar {
display: none;
}
:root, body {
--affine-text-primary: #000 !important;
--affine-text-secondary: #111 !important;
--affine-text-tertiary: #333 !important;
--affine-background-primary: #fff !important;
--affine-background-secondary: #fff !important;
--affine-background-tertiary: #fff !important;
}
body, [data-theme='dark'] {
color: #000 !important;
background: #fff !important;
}
body * {
color: #000 !important;
-webkit-text-fill-color: #000 !important;
}
:root {
--affine-note-shadow-box: none !important;
@@ -95,6 +114,14 @@ export async function printToPdf(
true
) as HTMLDivElement;
// force light theme in print iframe
iframe.contentWindow.document.documentElement.setAttribute(
'data-theme',
'light'
);
iframe.contentWindow.document.body.setAttribute('data-theme', 'light');
importedRoot.setAttribute('data-theme', 'light');
// draw saved canvas image to canvas
const allImportedCanvas = importedRoot.getElementsByTagName('canvas');
for (const importedCanvas of allImportedCanvas) {

View File

@@ -140,12 +140,12 @@
"@types/mixpanel": "^2.14.9",
"@types/mustache": "^4.2.5",
"@types/node": "^22.0.0",
"@types/nodemailer": "^6.4.17",
"@types/nodemailer": "^7.0.0",
"@types/on-headers": "^1.0.3",
"@types/react": "^19.0.1",
"@types/react-dom": "^19.0.2",
"@types/semver": "^7.5.8",
"@types/sinon": "^17.0.3",
"@types/sinon": "^21.0.0",
"@types/supertest": "^6.0.2",
"ava": "^6.4.0",
"c8": "^10.1.3",

View File

@@ -1,5 +1,9 @@
import { share } from '../../connection';
import { type BlobRecord, BlobStorageBase } from '../../storage';
import {
type BlobRecord,
BlobStorageBase,
type ListedBlobRecord,
} from '../../storage';
import { IDBConnection, type IDBConnectionOptions } from './db';
export class IndexedDBBlobStorage extends BlobStorageBase {
@@ -32,9 +36,7 @@ export class IndexedDBBlobStorage extends BlobStorageBase {
}
override async set(blob: BlobRecord) {
const trx = this.db.transaction(['blobs', 'blobData'], 'readwrite', {
durability: 'relaxed',
});
const trx = this.db.transaction(['blobs', 'blobData'], 'readwrite');
await trx.objectStore('blobs').put({
key: blob.key,
mime: blob.mime,
@@ -50,15 +52,11 @@ export class IndexedDBBlobStorage extends BlobStorageBase {
override async delete(key: string, permanently: boolean) {
if (permanently) {
const trx = this.db.transaction(['blobs', 'blobData'], 'readwrite', {
durability: 'relaxed',
});
const trx = this.db.transaction(['blobs', 'blobData'], 'readwrite');
await trx.objectStore('blobs').delete(key);
await trx.objectStore('blobData').delete(key);
} else {
const trx = this.db.transaction('blobs', 'readwrite', {
durability: 'relaxed',
});
const trx = this.db.transaction('blobs', 'readwrite');
const blob = await trx.store.get(key);
if (blob) {
await trx.store.put({
@@ -70,37 +68,29 @@ export class IndexedDBBlobStorage extends BlobStorageBase {
}
override async release() {
const trx = this.db.transaction(['blobs', 'blobData'], 'readwrite', {
durability: 'relaxed',
});
const trx = this.db.transaction(['blobs', 'blobData'], 'readwrite');
const store = trx.objectStore('blobs');
const getAllRecords = store.getAllRecords?.bind(store);
const blobs =
typeof getAllRecords === 'function'
? (await getAllRecords()).map(record => record.value)
: await store.getAll();
const it = trx.objectStore('blobs').iterate();
const deleted = blobs.filter(blob => blob.deletedAt);
await Promise.all(
deleted.map(blob =>
Promise.all([
store.delete(blob.key),
trx.objectStore('blobData').delete(blob.key),
])
)
);
for await (const item of it) {
if (item.value.deletedAt) {
await item.delete();
await trx.objectStore('blobData').delete(item.value.key);
}
}
}
override async list() {
const trx = this.db.transaction('blobs', 'readonly');
const getAllRecords = trx.store.getAllRecords?.bind(trx.store);
const blobs =
typeof getAllRecords === 'function'
? (await getAllRecords()).map(record => record.value)
: await trx.store.getAll();
const it = trx.store.iterate();
return blobs.filter(blob => !blob.deletedAt);
const blobs: ListedBlobRecord[] = [];
for await (const item of it) {
if (!item.value.deletedAt) {
blobs.push(item.value);
}
}
return blobs;
}
}

View File

@@ -4,38 +4,6 @@ import { AutoReconnectConnection } from '../../connection';
import type { SpaceType } from '../../utils/universal-id';
import { type DocStorageSchema, migrator } from './schema';
declare module 'idb' {
interface IDBPObjectStore {
getAllRecords?(
query?: IDBValidKey | IDBKeyRange | null,
count?: number | { direction?: IDBCursorDirection; count?: number }
): Promise<IDBRecord[]>;
}
interface IDBPIndex {
getAllRecords?(
query?: IDBValidKey | IDBKeyRange | null,
count?: number | { direction?: IDBCursorDirection; count?: number }
): Promise<IDBRecord[]>;
}
interface IDBObjectStore {
getAllRecords?(
query?: IDBValidKey | IDBKeyRange | null,
count?: number | { direction?: IDBCursorDirection; count?: number }
): Promise<IDBRecord[]>;
}
interface IDBIndex {
getAllRecords?(
query?: IDBValidKey | IDBKeyRange | null,
count?: number | { direction?: IDBCursorDirection; count?: number }
): Promise<IDBRecord[]>;
}
interface IDBRecord {
key: IDBValidKey;
primaryKey: IDBValidKey;
value: any;
}
}
export interface IDBConnectionOptions {
flavour: string;
type: SpaceType;

View File

@@ -37,9 +37,7 @@ export class IndexedDBDocStorage extends DocStorageBase<IDBConnectionOptions> {
while (true) {
try {
const trx = this.db.transaction(['updates', 'clocks'], 'readwrite', {
durability: 'relaxed',
});
const trx = this.db.transaction(['updates', 'clocks'], 'readwrite');
await trx.objectStore('updates').add({
...update,
@@ -105,15 +103,15 @@ export class IndexedDBDocStorage extends DocStorageBase<IDBConnectionOptions> {
override async deleteDoc(docId: string) {
const trx = this.db.transaction(
['snapshots', 'updates', 'clocks'],
'readwrite',
{ durability: 'relaxed' }
'readwrite'
);
const updates = trx.objectStore('updates');
const idx = updates.index('docId');
const keys = await idx.getAllKeys(IDBKeyRange.only(docId));
const idx = trx.objectStore('updates').index('docId');
const iter = idx.iterate(IDBKeyRange.only(docId));
await Promise.all(keys.map(key => updates.delete(key)));
for await (const { value } of iter) {
await trx.objectStore('updates').delete([value.docId, value.createdAt]);
}
await trx.objectStore('snapshots').delete(docId);
await trx.objectStore('clocks').delete(docId);
@@ -122,18 +120,6 @@ export class IndexedDBDocStorage extends DocStorageBase<IDBConnectionOptions> {
override async getDocTimestamps(after: Date = new Date(0)) {
const trx = this.db.transaction('clocks', 'readonly');
const getAllRecords = trx.store.getAllRecords?.bind(trx.store);
if (typeof getAllRecords === 'function') {
const records = await getAllRecords();
return records.reduce((ret, cur) => {
if (cur.value.timestamp > after) {
ret[cur.value.docId] = cur.value.timestamp;
}
return ret;
}, {} as DocClocks);
}
const clocks = await trx.store.getAll();
return clocks.reduce((ret, cur) => {
@@ -171,19 +157,7 @@ export class IndexedDBDocStorage extends DocStorageBase<IDBConnectionOptions> {
protected override async getDocUpdates(docId: string): Promise<DocRecord[]> {
const trx = this.db.transaction('updates', 'readonly');
const idx = trx.store.index('docId');
const getAllRecords = idx.getAllRecords?.bind(idx);
if (typeof getAllRecords === 'function') {
const records = await getAllRecords(IDBKeyRange.only(docId));
return records.map(record => ({
docId,
bin: record.value.bin,
timestamp: record.value.createdAt,
}));
}
const updates = await idx.getAll(docId);
const updates = await trx.store.index('docId').getAll(docId);
return updates.map(update => ({
docId,
@@ -196,9 +170,7 @@ export class IndexedDBDocStorage extends DocStorageBase<IDBConnectionOptions> {
docId: string,
updates: DocRecord[]
): Promise<number> {
const trx = this.db.transaction('updates', 'readwrite', {
durability: 'relaxed',
});
const trx = this.db.transaction('updates', 'readwrite');
await Promise.all(
updates.map(update => trx.store.delete([docId, update.timestamp]))

View File

@@ -49,11 +49,11 @@
"@electron-forge/shared-types": "^7.10.2",
"@pengx17/electron-forge-maker-appimage": "^1.2.1",
"@sentry/electron": "^7.0.0",
"@sentry/esbuild-plugin": "^3.0.0",
"@sentry/esbuild-plugin": "^4.0.0",
"@sentry/react": "^9.47.1",
"@toeverything/infra": "workspace:*",
"@types/set-cookie-parser": "^2.4.10",
"@types/uuid": "^10.0.0",
"@types/uuid": "^11.0.0",
"@vitejs/plugin-react-swc": "^3.7.2",
"app-builder-lib": "^26.1.0",
"builder-util-runtime": "^9.5.0",

View File

@@ -13,7 +13,7 @@
"@tailwindcss/vite": "^4.0.6",
"@types/express": "^5.0.0",
"@types/lodash-es": "^4.17.12",
"@types/multer": "^1",
"@types/multer": "^2.0.0",
"@types/react": "^19.0.8",
"@types/react-dom": "^19.0.3",
"@vitejs/plugin-react": "^4.3.4",

View File

@@ -19,7 +19,7 @@
"@affine/s3-compat": "workspace:*",
"@napi-rs/simple-git": "^0.1.22",
"@perfsee/webpack": "^1.13.0",
"@sentry/webpack-plugin": "^3.0.0",
"@sentry/webpack-plugin": "^4.0.0",
"@swc/core": "^1.10.1",
"@tailwindcss/postcss": "^4.0.0",
"@vanilla-extract/webpack-plugin": "^2.3.15",

View File

@@ -11,7 +11,7 @@
"dependencies": {
"@affine-tools/cli": "workspace:*",
"@affine-tools/utils": "workspace:*",
"@googleapis/androidpublisher": "^31.0.0",
"@googleapis/androidpublisher": "^35.0.0",
"typescript": "^5.7.2"
},
"devDependencies": {

141
yarn.lock
View File

@@ -119,7 +119,7 @@ __metadata:
"@affine/s3-compat": "workspace:*"
"@napi-rs/simple-git": "npm:^0.1.22"
"@perfsee/webpack": "npm:^1.13.0"
"@sentry/webpack-plugin": "npm:^3.0.0"
"@sentry/webpack-plugin": "npm:^4.0.0"
"@swc/core": "npm:^1.10.1"
"@tailwindcss/postcss": "npm:^4.0.0"
"@types/lodash-es": "npm:^4.17.12"
@@ -588,11 +588,11 @@ __metadata:
"@electron-forge/shared-types": "npm:^7.10.2"
"@pengx17/electron-forge-maker-appimage": "npm:^1.2.1"
"@sentry/electron": "npm:^7.0.0"
"@sentry/esbuild-plugin": "npm:^3.0.0"
"@sentry/esbuild-plugin": "npm:^4.0.0"
"@sentry/react": "npm:^9.47.1"
"@toeverything/infra": "workspace:*"
"@types/set-cookie-parser": "npm:^2.4.10"
"@types/uuid": "npm:^10.0.0"
"@types/uuid": "npm:^11.0.0"
"@vitejs/plugin-react-swc": "npm:^3.7.2"
app-builder-lib: "npm:^26.1.0"
async-call-rpc: "npm:^6.4.2"
@@ -736,7 +736,7 @@ __metadata:
"@types/express": "npm:^5.0.0"
"@types/fs-extra": "npm:^11"
"@types/lodash-es": "npm:^4.17.12"
"@types/multer": "npm:^1"
"@types/multer": "npm:^2.0.0"
"@types/react": "npm:^19.0.1"
"@types/react-dom": "npm:^19.0.2"
"@vitejs/plugin-react": "npm:^4.3.4"
@@ -881,7 +881,7 @@ __metadata:
dependencies:
"@affine-tools/cli": "workspace:*"
"@affine-tools/utils": "workspace:*"
"@googleapis/androidpublisher": "npm:^31.0.0"
"@googleapis/androidpublisher": "npm:^35.0.0"
"@types/node": "npm:^22.0.0"
typescript: "npm:^5.7.2"
languageName: unknown
@@ -1015,12 +1015,12 @@ __metadata:
"@types/mixpanel": "npm:^2.14.9"
"@types/mustache": "npm:^4.2.5"
"@types/node": "npm:^22.0.0"
"@types/nodemailer": "npm:^6.4.17"
"@types/nodemailer": "npm:^7.0.0"
"@types/on-headers": "npm:^1.0.3"
"@types/react": "npm:^19.0.1"
"@types/react-dom": "npm:^19.0.2"
"@types/semver": "npm:^7.5.8"
"@types/sinon": "npm:^17.0.3"
"@types/sinon": "npm:^21.0.0"
"@types/supertest": "npm:^6.0.2"
ai: "npm:^5.0.118"
ava: "npm:^6.4.0"
@@ -5857,12 +5857,12 @@ __metadata:
languageName: node
linkType: hard
"@googleapis/androidpublisher@npm:^31.0.0":
version: 31.0.0
resolution: "@googleapis/androidpublisher@npm:31.0.0"
"@googleapis/androidpublisher@npm:^35.0.0":
version: 35.1.1
resolution: "@googleapis/androidpublisher@npm:35.1.1"
dependencies:
googleapis-common: "npm:^8.0.0"
checksum: 10/85cfc9b9e1f1211939bad0349d4d893d004c8c5491824892b631b9d55011b23d1200c7c3186ac38da86b53f46e6d1de34a056a872867fb86832c38586a092402
checksum: 10/b16e9dba15b6fa6d5fc6c5b6a0f8cde6174d4e177434a2e53b7aeba4460e923684fde9cb95b861661717a07eeebf17c8f7f0f74ce876dad9596fb5027fe0d7a4
languageName: node
linkType: hard
@@ -15129,10 +15129,10 @@ __metadata:
languageName: node
linkType: hard
"@sentry/babel-plugin-component-annotate@npm:3.6.1":
version: 3.6.1
resolution: "@sentry/babel-plugin-component-annotate@npm:3.6.1"
checksum: 10/b65732b1be4123a0da37875b608b66fa3bef50698df90dc4d3236cd182f21708aeb50a94f9108d2cf6d199d76a55c698c52d9cb4bbdc2f859108b4d46321a15a
"@sentry/babel-plugin-component-annotate@npm:4.8.0":
version: 4.8.0
resolution: "@sentry/babel-plugin-component-annotate@npm:4.8.0"
checksum: 10/7cc62dfea3dd3d895e52624c2b27a81c7c641d42a3de05ff14bf0fede9d876a9cfec11962d33bacf42dfea59ec75c4271448a6c284dc63c2c0bb634002419867
languageName: node
linkType: hard
@@ -15162,19 +15162,19 @@ __metadata:
languageName: node
linkType: hard
"@sentry/bundler-plugin-core@npm:3.6.1":
version: 3.6.1
resolution: "@sentry/bundler-plugin-core@npm:3.6.1"
"@sentry/bundler-plugin-core@npm:4.8.0":
version: 4.8.0
resolution: "@sentry/bundler-plugin-core@npm:4.8.0"
dependencies:
"@babel/core": "npm:^7.18.5"
"@sentry/babel-plugin-component-annotate": "npm:3.6.1"
"@sentry/cli": "npm:^2.49.0"
"@sentry/babel-plugin-component-annotate": "npm:4.8.0"
"@sentry/cli": "npm:^2.57.0"
dotenv: "npm:^16.3.1"
find-up: "npm:^5.0.0"
glob: "npm:^9.3.2"
glob: "npm:^10.5.0"
magic-string: "npm:0.30.8"
unplugin: "npm:1.0.1"
checksum: 10/6445bda6a963acc8fedd857c3783a21aa2ca147f8c5dced5b064d8d5756e87903346ce113a1f792f47f908184332917f8e413f52441dd33d0fb0eb197d638dc1
checksum: 10/a19eaf1c118e273ed3383da0ede9365c23b5668871f21b89c22fb873ae29cf972464472d7c448f84afdea7e99e50dc5bf5f46579721f88696400cab994a2d123
languageName: node
linkType: hard
@@ -15234,7 +15234,7 @@ __metadata:
languageName: node
linkType: hard
"@sentry/cli@npm:^2.49.0":
"@sentry/cli@npm:^2.57.0":
version: 2.58.4
resolution: "@sentry/cli@npm:2.58.4"
dependencies:
@@ -15304,14 +15304,14 @@ __metadata:
languageName: node
linkType: hard
"@sentry/esbuild-plugin@npm:^3.0.0":
version: 3.6.1
resolution: "@sentry/esbuild-plugin@npm:3.6.1"
"@sentry/esbuild-plugin@npm:^4.0.0":
version: 4.8.0
resolution: "@sentry/esbuild-plugin@npm:4.8.0"
dependencies:
"@sentry/bundler-plugin-core": "npm:3.6.1"
"@sentry/bundler-plugin-core": "npm:4.8.0"
unplugin: "npm:1.0.1"
uuid: "npm:^9.0.0"
checksum: 10/b2b64e404d13589d98ff5ebc57a7e0a7cb9c3bada8aab20f9eb1beefb375deabf61658c96659f3a4f2a5dbd69e44ddf69fd1b5a17f31830a97ddbee8f589473a
checksum: 10/d5204896f1b2bc780ea9cac7e057746b9ac8a33591f16c754c03248e273e92a0bbaf46c66467d5300cb41f4763b2a82fa623bae3c853d5254dd6a68716017b2d
languageName: node
linkType: hard
@@ -15406,16 +15406,16 @@ __metadata:
languageName: node
linkType: hard
"@sentry/webpack-plugin@npm:^3.0.0":
version: 3.6.1
resolution: "@sentry/webpack-plugin@npm:3.6.1"
"@sentry/webpack-plugin@npm:^4.0.0":
version: 4.8.0
resolution: "@sentry/webpack-plugin@npm:4.8.0"
dependencies:
"@sentry/bundler-plugin-core": "npm:3.6.1"
"@sentry/bundler-plugin-core": "npm:4.8.0"
unplugin: "npm:1.0.1"
uuid: "npm:^9.0.0"
peerDependencies:
webpack: ">=4.40.0"
checksum: 10/2d3fbb2688398f58e859d36058a88b3668583741fc3be036ba5f09dc6ad9703ddcad486ba4f76e5fa257a8473dc66d7f0e47407e60d6b4943f8952615752d3fd
checksum: 10/d29568e272a3b5d4a3099ca2925ff8fa2a155b0896dfca2bd0a3b7ebaa7c6f516ed4e1f9a407045d20db90a741927a35140d9327d6bd9e0b2369498220072011
languageName: node
linkType: hard
@@ -17363,12 +17363,12 @@ __metadata:
languageName: node
linkType: hard
"@types/multer@npm:^1":
version: 1.4.12
resolution: "@types/multer@npm:1.4.12"
"@types/multer@npm:^2.0.0":
version: 2.0.0
resolution: "@types/multer@npm:2.0.0"
dependencies:
"@types/express": "npm:*"
checksum: 10/3d2b32da58ddd67f972d4ef1021492f78d65f33f936b6fb25dd461bb6cc7b03bfd1de1a11562c4310680dac8054e4398038db51767a0ffbf1fe62457b3706e95
checksum: 10/87ddd5b39fd572b1d98f84908738eed9fef53fc20628bff066d43b3bcf70481f51010a997554ed65c97121e7b8fe44b59a24cd68ccf59c3d7c64bbffb8c5a127
languageName: node
linkType: hard
@@ -17434,12 +17434,12 @@ __metadata:
languageName: node
linkType: hard
"@types/nodemailer@npm:^6.4.17":
version: 6.4.17
resolution: "@types/nodemailer@npm:6.4.17"
"@types/nodemailer@npm:^7.0.0":
version: 7.0.9
resolution: "@types/nodemailer@npm:7.0.9"
dependencies:
"@types/node": "npm:*"
checksum: 10/bd090c9a81f15ee5e1e2123de1004593bacc24d385460dd56c51ec657d61dc1cfd4f44fc71baac060a1abcb487aef5027509e0afd646e7118d7a8a13a95bad9d
checksum: 10/6bfca388af668a05a68e750a7acbd5736a3dcdf96f34f23bf4211ab152572d55008fd813e38bf03f944c6edbd002a7f98d6cee048343b8e840b3b91a00befac9
languageName: node
linkType: hard
@@ -17620,12 +17620,12 @@ __metadata:
languageName: node
linkType: hard
"@types/sinon@npm:^17.0.3":
version: 17.0.4
resolution: "@types/sinon@npm:17.0.4"
"@types/sinon@npm:^21.0.0":
version: 21.0.0
resolution: "@types/sinon@npm:21.0.0"
dependencies:
"@types/sinonjs__fake-timers": "npm:*"
checksum: 10/286c34e66e3573673ba59a332ac81189e20dd591c5c5360c8ff3ed83a59a60bdb1d4c8f13ab8863a4d5ce636282e4b11c640b87f398663eee152988ca09b1933
checksum: 10/3add134347bd2b96c4d136bc41108553d31f2b4ca44c118ae69832d8bd9896d9faec07c08ba933cd25ba8699503303e8743d84fc8f5317c16b5cfb8245d0bc29
languageName: node
linkType: hard
@@ -17718,10 +17718,12 @@ __metadata:
languageName: node
linkType: hard
"@types/uuid@npm:^10.0.0":
version: 10.0.0
resolution: "@types/uuid@npm:10.0.0"
checksum: 10/e3958f8b0fe551c86c14431f5940c3470127293280830684154b91dc7eb3514aeb79fe3216968833cf79d4d1c67f580f054b5be2cd562bebf4f728913e73e944
"@types/uuid@npm:^11.0.0":
version: 11.0.0
resolution: "@types/uuid@npm:11.0.0"
dependencies:
uuid: "npm:*"
checksum: 10/9f94bd34e5d220c53cc58ea9f48a0061d3bc343e29bc33a17edc705f5e21fedda21553318151f2bc227c2b2b03727bbb536da2b82a61f84d2e1ca38abc5e5c3f
languageName: node
linkType: hard
@@ -25086,7 +25088,7 @@ __metadata:
languageName: node
linkType: hard
"glob@npm:^10.0.0, glob@npm:^10.2.2, glob@npm:^10.3.10, glob@npm:^10.4.1, glob@npm:^10.4.5":
"glob@npm:^10.0.0, glob@npm:^10.2.2, glob@npm:^10.3.10, glob@npm:^10.4.1, glob@npm:^10.4.5, glob@npm:^10.5.0":
version: 10.5.0
resolution: "glob@npm:10.5.0"
dependencies:
@@ -25145,18 +25147,6 @@ __metadata:
languageName: node
linkType: hard
"glob@npm:^9.3.2":
version: 9.3.5
resolution: "glob@npm:9.3.5"
dependencies:
fs.realpath: "npm:^1.0.0"
minimatch: "npm:^8.0.2"
minipass: "npm:^4.2.4"
path-scurry: "npm:^1.6.1"
checksum: 10/e5fa8a58adf53525bca42d82a1fad9e6800032b7e4d372209b80cfdca524dd9a7dbe7d01a92d7ed20d89c572457f12c250092bc8817cb4f1c63efefdf9b658c0
languageName: node
linkType: hard
"global-agent@npm:^3.0.0":
version: 3.0.0
resolution: "global-agent@npm:3.0.0"
@@ -29548,15 +29538,6 @@ __metadata:
languageName: node
linkType: hard
"minimatch@npm:^8.0.2":
version: 8.0.4
resolution: "minimatch@npm:8.0.4"
dependencies:
brace-expansion: "npm:^2.0.1"
checksum: 10/aef05598ee565e1013bc8a10f53410ac681561f901c1a084b8ecfd016c9ed919f58f4bbd5b63e05643189dfb26e8106a84f0e1ff12e4a263aa37e1cae7ce9828
languageName: node
linkType: hard
"minimist@npm:^1.1.3, minimist@npm:^1.2.0, minimist@npm:^1.2.5, minimist@npm:^1.2.6, minimist@npm:^1.2.7, minimist@npm:^1.2.8":
version: 1.2.8
resolution: "minimist@npm:1.2.8"
@@ -29648,13 +29629,6 @@ __metadata:
languageName: node
linkType: hard
"minipass@npm:^4.2.4":
version: 4.2.8
resolution: "minipass@npm:4.2.8"
checksum: 10/e148eb6dcb85c980234cad889139ef8ddf9d5bdac534f4f0268446c8792dd4c74f4502479be48de3c1cce2f6450f6da4d0d4a86405a8a12be04c1c36b339569a
languageName: node
linkType: hard
"minipass@npm:^5.0.0":
version: 5.0.0
resolution: "minipass@npm:5.0.0"
@@ -31269,7 +31243,7 @@ __metadata:
languageName: node
linkType: hard
"path-scurry@npm:^1.11.1, path-scurry@npm:^1.6.1":
"path-scurry@npm:^1.11.1":
version: 1.11.1
resolution: "path-scurry@npm:1.11.1"
dependencies:
@@ -36892,6 +36866,15 @@ __metadata:
languageName: node
linkType: hard
"uuid@npm:*":
version: 13.0.0
resolution: "uuid@npm:13.0.0"
bin:
uuid: dist-node/bin/uuid
checksum: 10/2742b24d1e00257e60612572e4d28679423469998cafbaf1fe9f1482e3edf9c40754b31bfdb3d08d71b29239f227a304588f75210b3b48f2609f0673f1feccef
languageName: node
linkType: hard
"uuid@npm:^11.1.0":
version: 11.1.0
resolution: "uuid@npm:11.1.0"