mirror of
https://github.com/misskey-dev/misskey.git
synced 2026-05-21 23:55:34 +02:00
Merge branch 'develop' into room
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
## 2026.1.0
|
## 2026.2.0
|
||||||
|
|
||||||
### Note
|
### Note
|
||||||
- `users/following` の `birthday` プロパティは非推奨になりました。代わりに `users/get-following-birthday-users` をご利用ください。
|
- `users/following` の `birthday` プロパティは非推奨になりました。代わりに `users/get-following-birthday-users` をご利用ください。
|
||||||
@@ -7,6 +7,7 @@
|
|||||||
- Enhance: 「もうすぐ誕生日のユーザー」ウィジェットで、誕生日が至近のユーザーも表示できるように
|
- Enhance: 「もうすぐ誕生日のユーザー」ウィジェットで、誕生日が至近のユーザーも表示できるように
|
||||||
(Cherry-picked from https://github.com/MisskeyIO/misskey)
|
(Cherry-picked from https://github.com/MisskeyIO/misskey)
|
||||||
- 「今日誕生日のユーザー」は「もうすぐ誕生日のユーザー」に名称変更されました
|
- 「今日誕生日のユーザー」は「もうすぐ誕生日のユーザー」に名称変更されました
|
||||||
|
- Fix: ユーザーハッシュタグページでユーザーの読み込みが重複する問題を修正
|
||||||
- 依存関係の更新
|
- 依存関係の更新
|
||||||
|
|
||||||
### Client
|
### Client
|
||||||
@@ -26,11 +27,14 @@
|
|||||||
- Fix: mCaptchaが正しく動作しない問題を修正
|
- Fix: mCaptchaが正しく動作しない問題を修正
|
||||||
- Fix: 非ログイン時にリバーシの対局が表示されない問題を修正
|
- Fix: 非ログイン時にリバーシの対局が表示されない問題を修正
|
||||||
- Fix: ノートの詳細表示でリアクションが全件表示されない問題を修正
|
- Fix: ノートの詳細表示でリアクションが全件表示されない問題を修正
|
||||||
|
- Fix: 動画埋め込みプレイヤーなどの一部ウィンドウで、ウィンドウのサイズ変更や移動が正常に行えない問題を修正
|
||||||
- Fix: 画像エフェクトの修正
|
- Fix: 画像エフェクトの修正
|
||||||
- 塗りつぶし・モザイク・ぼかしエフェクトを回転させると歪む問題を修正
|
- 塗りつぶし・モザイク・ぼかしエフェクトを回転させると歪む問題を修正
|
||||||
- モザイクの格子のサイズが画像の縦横比によって長方形となる問題を修正
|
- モザイクの格子のサイズが画像の縦横比によって長方形となる問題を修正
|
||||||
- モザイクの色味がより自然になるように修正
|
- モザイクの色味がより自然になるように修正
|
||||||
- ぼかしに不自然な縦線が入る問題を修正
|
- ぼかしに不自然な縦線が入る問題を修正
|
||||||
|
- Fix: フォロー承認通知でフォローされた際のメッセージの絵文字が表示されない問題を修正
|
||||||
|
- Fix: HTTP環境など(Secure Contextのない環境)で、設定画面が閲覧できない問題を修正
|
||||||
|
|
||||||
### Server
|
### Server
|
||||||
- Enhance: OAuthのクライアント情報取得(Client Information Discovery)において、IndieWeb Living Standard 11 July 2024で定義されているJSONドキュメント形式に対応しました
|
- Enhance: OAuthのクライアント情報取得(Client Information Discovery)において、IndieWeb Living Standard 11 July 2024で定義されているJSONドキュメント形式に対応しました
|
||||||
|
|||||||
26
package.json
26
package.json
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "misskey",
|
"name": "misskey",
|
||||||
"version": "2026.1.0-beta.0",
|
"version": "2026.2.0-beta.0",
|
||||||
"codename": "nasubi",
|
"codename": "nasubi",
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/misskey-dev/misskey.git"
|
"url": "https://github.com/misskey-dev/misskey.git"
|
||||||
},
|
},
|
||||||
"packageManager": "pnpm@10.28.2",
|
"packageManager": "pnpm@10.29.3",
|
||||||
"workspaces": [
|
"workspaces": [
|
||||||
"packages/misskey-js",
|
"packages/misskey-js",
|
||||||
"packages/i18n",
|
"packages/i18n",
|
||||||
@@ -54,30 +54,30 @@
|
|||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"cssnano": "7.1.2",
|
"cssnano": "7.1.2",
|
||||||
"esbuild": "0.27.2",
|
"esbuild": "0.27.3",
|
||||||
"execa": "9.6.1",
|
"execa": "9.6.1",
|
||||||
"ignore-walk": "8.0.0",
|
"ignore-walk": "8.0.0",
|
||||||
"js-yaml": "4.1.1",
|
"js-yaml": "4.1.1",
|
||||||
"postcss": "8.5.6",
|
"postcss": "8.5.6",
|
||||||
"tar": "7.5.7",
|
"tar": "7.5.9",
|
||||||
"terser": "5.46.0"
|
"terser": "5.46.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@eslint/js": "9.39.2",
|
"@eslint/js": "9.39.2",
|
||||||
"@misskey-dev/eslint-plugin": "2.2.0",
|
"@misskey-dev/eslint-plugin": "2.1.0",
|
||||||
"@types/js-yaml": "4.0.9",
|
"@types/js-yaml": "4.0.9",
|
||||||
"@types/node": "24.10.9",
|
"@types/node": "24.10.13",
|
||||||
"@typescript-eslint/eslint-plugin": "8.53.0",
|
"@typescript-eslint/eslint-plugin": "8.55.0",
|
||||||
"@typescript-eslint/parser": "8.53.0",
|
"@typescript-eslint/parser": "8.55.0",
|
||||||
"@typescript/native-preview": "7.0.0-dev.20260116.1",
|
"@typescript/native-preview": "7.0.0-dev.20260116.1",
|
||||||
"cross-env": "10.1.0",
|
"cross-env": "10.1.0",
|
||||||
"cypress": "15.9.0",
|
"cypress": "15.10.0",
|
||||||
"eslint": "9.39.2",
|
"eslint": "9.39.2",
|
||||||
"globals": "16.5.0",
|
"globals": "17.3.0",
|
||||||
"ncp": "2.0.0",
|
"ncp": "2.0.0",
|
||||||
"pnpm": "10.28.2",
|
"pnpm": "10.29.3",
|
||||||
"typescript": "5.9.3",
|
"start-server-and-test": "2.1.3",
|
||||||
"start-server-and-test": "2.1.3"
|
"typescript": "5.9.3"
|
||||||
},
|
},
|
||||||
"optionalDependencies": {
|
"optionalDependencies": {
|
||||||
"@tensorflow/tfjs-core": "4.22.0"
|
"@tensorflow/tfjs-core": "4.22.0"
|
||||||
|
|||||||
@@ -41,17 +41,17 @@
|
|||||||
},
|
},
|
||||||
"optionalDependencies": {
|
"optionalDependencies": {
|
||||||
"@swc/core-android-arm64": "1.3.11",
|
"@swc/core-android-arm64": "1.3.11",
|
||||||
"@swc/core-darwin-arm64": "1.15.8",
|
"@swc/core-darwin-arm64": "1.15.11",
|
||||||
"@swc/core-darwin-x64": "1.15.8",
|
"@swc/core-darwin-x64": "1.15.11",
|
||||||
"@swc/core-freebsd-x64": "1.3.11",
|
"@swc/core-freebsd-x64": "1.3.11",
|
||||||
"@swc/core-linux-arm-gnueabihf": "1.15.8",
|
"@swc/core-linux-arm-gnueabihf": "1.15.11",
|
||||||
"@swc/core-linux-arm64-gnu": "1.15.8",
|
"@swc/core-linux-arm64-gnu": "1.15.11",
|
||||||
"@swc/core-linux-arm64-musl": "1.15.8",
|
"@swc/core-linux-arm64-musl": "1.15.11",
|
||||||
"@swc/core-linux-x64-gnu": "1.15.8",
|
"@swc/core-linux-x64-gnu": "1.15.11",
|
||||||
"@swc/core-linux-x64-musl": "1.15.8",
|
"@swc/core-linux-x64-musl": "1.15.11",
|
||||||
"@swc/core-win32-arm64-msvc": "1.15.8",
|
"@swc/core-win32-arm64-msvc": "1.15.11",
|
||||||
"@swc/core-win32-ia32-msvc": "1.15.8",
|
"@swc/core-win32-ia32-msvc": "1.15.11",
|
||||||
"@swc/core-win32-x64-msvc": "1.15.8",
|
"@swc/core-win32-x64-msvc": "1.15.11",
|
||||||
"@tensorflow/tfjs": "4.22.0",
|
"@tensorflow/tfjs": "4.22.0",
|
||||||
"@tensorflow/tfjs-node": "4.22.0",
|
"@tensorflow/tfjs-node": "4.22.0",
|
||||||
"bufferutil": "4.1.0",
|
"bufferutil": "4.1.0",
|
||||||
@@ -71,39 +71,39 @@
|
|||||||
"utf-8-validate": "6.0.6"
|
"utf-8-validate": "6.0.6"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@aws-sdk/client-s3": "3.970.0",
|
"@aws-sdk/client-s3": "3.990.0",
|
||||||
"@aws-sdk/lib-storage": "3.970.0",
|
"@aws-sdk/lib-storage": "3.990.0",
|
||||||
"@discordapp/twemoji": "16.0.1",
|
"@discordapp/twemoji": "16.0.1",
|
||||||
"@fastify/accepts": "5.0.4",
|
"@fastify/accepts": "5.0.4",
|
||||||
"@fastify/cors": "11.2.0",
|
"@fastify/cors": "11.2.0",
|
||||||
"@fastify/express": "4.0.4",
|
"@fastify/express": "4.0.4",
|
||||||
"@fastify/http-proxy": "11.4.1",
|
"@fastify/http-proxy": "11.4.1",
|
||||||
"@fastify/multipart": "9.3.0",
|
"@fastify/multipart": "9.4.0",
|
||||||
"@fastify/static": "8.3.0",
|
"@fastify/static": "9.0.0",
|
||||||
"@kitajs/html": "4.2.11",
|
"@kitajs/html": "4.2.12",
|
||||||
"@misskey-dev/sharp-read-bmp": "1.2.0",
|
"@misskey-dev/sharp-read-bmp": "1.2.0",
|
||||||
"@misskey-dev/summaly": "5.2.5",
|
"@misskey-dev/summaly": "5.2.5",
|
||||||
"@napi-rs/canvas": "0.1.88",
|
"@napi-rs/canvas": "0.1.92",
|
||||||
"@nestjs/common": "11.1.12",
|
"@nestjs/common": "11.1.13",
|
||||||
"@nestjs/core": "11.1.12",
|
"@nestjs/core": "11.1.13",
|
||||||
"@nestjs/testing": "11.1.12",
|
"@nestjs/testing": "11.1.13",
|
||||||
"@peertube/http-signature": "1.7.0",
|
"@peertube/http-signature": "1.7.0",
|
||||||
"@sentry/node": "10.34.0",
|
"@sentry/node": "10.38.0",
|
||||||
"@sentry/profiling-node": "10.34.0",
|
"@sentry/profiling-node": "10.38.0",
|
||||||
"@simplewebauthn/server": "13.2.2",
|
"@simplewebauthn/server": "13.2.2",
|
||||||
"@sinonjs/fake-timers": "15.1.0",
|
"@sinonjs/fake-timers": "15.1.0",
|
||||||
"@smithy/node-http-handler": "4.4.8",
|
"@smithy/node-http-handler": "4.4.10",
|
||||||
"@swc/cli": "0.7.10",
|
"@swc/cli": "0.8.0",
|
||||||
"@swc/core": "1.15.8",
|
"@swc/core": "1.15.11",
|
||||||
"@twemoji/parser": "16.0.0",
|
"@twemoji/parser": "16.0.0",
|
||||||
"accepts": "1.3.8",
|
"accepts": "1.3.8",
|
||||||
"ajv": "8.17.1",
|
"ajv": "8.18.0",
|
||||||
"archiver": "7.0.1",
|
"archiver": "7.0.1",
|
||||||
"async-mutex": "0.5.0",
|
"async-mutex": "0.5.0",
|
||||||
"bcryptjs": "3.0.3",
|
"bcryptjs": "3.0.3",
|
||||||
"blurhash": "2.0.5",
|
"blurhash": "2.0.5",
|
||||||
"body-parser": "2.2.2",
|
"body-parser": "2.2.2",
|
||||||
"bullmq": "5.66.5",
|
"bullmq": "5.69.2",
|
||||||
"cacheable-lookup": "7.0.0",
|
"cacheable-lookup": "7.0.0",
|
||||||
"chalk": "5.6.2",
|
"chalk": "5.6.2",
|
||||||
"chalk-template": "1.1.2",
|
"chalk-template": "1.1.2",
|
||||||
@@ -112,7 +112,7 @@
|
|||||||
"content-disposition": "1.0.1",
|
"content-disposition": "1.0.1",
|
||||||
"date-fns": "4.1.0",
|
"date-fns": "4.1.0",
|
||||||
"deep-email-validator": "0.1.21",
|
"deep-email-validator": "0.1.21",
|
||||||
"fastify": "5.7.1",
|
"fastify": "5.7.4",
|
||||||
"fastify-raw-body": "5.0.0",
|
"fastify-raw-body": "5.0.0",
|
||||||
"feed": "5.2.0",
|
"feed": "5.2.0",
|
||||||
"file-type": "21.3.0",
|
"file-type": "21.3.0",
|
||||||
@@ -122,13 +122,13 @@
|
|||||||
"hpagent": "1.2.0",
|
"hpagent": "1.2.0",
|
||||||
"http-link-header": "1.1.3",
|
"http-link-header": "1.1.3",
|
||||||
"i18n": "workspace:*",
|
"i18n": "workspace:*",
|
||||||
"ioredis": "5.9.2",
|
"ioredis": "5.9.3",
|
||||||
"ip-cidr": "4.0.2",
|
"ip-cidr": "4.0.2",
|
||||||
"ipaddr.js": "2.3.0",
|
"ipaddr.js": "2.3.0",
|
||||||
"is-svg": "6.1.0",
|
"is-svg": "6.1.0",
|
||||||
"json5": "2.2.3",
|
"json5": "2.2.3",
|
||||||
"jsonld": "9.0.0",
|
"jsonld": "9.0.0",
|
||||||
"juice": "11.1.0",
|
"juice": "11.1.1",
|
||||||
"meilisearch": "0.55.0",
|
"meilisearch": "0.55.0",
|
||||||
"mfm-js": "0.25.0",
|
"mfm-js": "0.25.0",
|
||||||
"mime-types": "3.0.2",
|
"mime-types": "3.0.2",
|
||||||
@@ -139,32 +139,32 @@
|
|||||||
"nested-property": "4.0.0",
|
"nested-property": "4.0.0",
|
||||||
"node-fetch": "3.3.2",
|
"node-fetch": "3.3.2",
|
||||||
"node-html-parser": "7.0.2",
|
"node-html-parser": "7.0.2",
|
||||||
"nodemailer": "7.0.12",
|
"nodemailer": "8.0.1",
|
||||||
"nsfwjs": "4.2.0",
|
"nsfwjs": "4.2.0",
|
||||||
"oauth2orize": "1.12.0",
|
"oauth2orize": "1.12.0",
|
||||||
"oauth2orize-pkce": "0.1.2",
|
"oauth2orize-pkce": "0.1.2",
|
||||||
"os-utils": "0.0.14",
|
"os-utils": "0.0.14",
|
||||||
"otpauth": "9.4.1",
|
"otpauth": "9.5.0",
|
||||||
"pg": "8.17.1",
|
"pg": "8.18.0",
|
||||||
"pkce-challenge": "5.0.1",
|
"pkce-challenge": "6.0.0",
|
||||||
"probe-image-size": "7.2.3",
|
"probe-image-size": "7.2.3",
|
||||||
"promise-limit": "2.7.0",
|
"promise-limit": "2.7.0",
|
||||||
"qrcode": "1.5.4",
|
"qrcode": "1.5.4",
|
||||||
"random-seed": "0.3.0",
|
"random-seed": "0.3.0",
|
||||||
"ratelimiter": "3.4.1",
|
"ratelimiter": "3.4.1",
|
||||||
"re2": "1.23.0",
|
"re2": "1.23.3",
|
||||||
"reflect-metadata": "0.2.2",
|
"reflect-metadata": "0.2.2",
|
||||||
"rename": "1.0.4",
|
"rename": "1.0.4",
|
||||||
"rss-parser": "3.13.0",
|
"rss-parser": "3.13.0",
|
||||||
"rxjs": "7.8.2",
|
"rxjs": "7.8.2",
|
||||||
"sanitize-html": "2.17.0",
|
"sanitize-html": "2.17.0",
|
||||||
"secure-json-parse": "4.1.0",
|
"secure-json-parse": "4.1.0",
|
||||||
"semver": "7.7.3",
|
"semver": "7.7.4",
|
||||||
"sharp": "0.33.5",
|
"sharp": "0.33.5",
|
||||||
"slacc": "0.0.10",
|
"slacc": "0.0.10",
|
||||||
"strict-event-emitter-types": "2.0.0",
|
"strict-event-emitter-types": "2.0.0",
|
||||||
"stringz": "2.1.0",
|
"stringz": "2.1.0",
|
||||||
"systeminformation": "5.30.5",
|
"systeminformation": "5.31.0",
|
||||||
"tinycolor2": "1.6.0",
|
"tinycolor2": "1.6.0",
|
||||||
"tmp": "0.2.5",
|
"tmp": "0.2.5",
|
||||||
"tsc-alias": "1.8.16",
|
"tsc-alias": "1.8.16",
|
||||||
@@ -177,9 +177,9 @@
|
|||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@jest/globals": "29.7.0",
|
"@jest/globals": "29.7.0",
|
||||||
"@kitajs/ts-html-plugin": "4.1.3",
|
"@kitajs/ts-html-plugin": "4.1.4",
|
||||||
"@nestjs/platform-express": "11.1.12",
|
"@nestjs/platform-express": "11.1.13",
|
||||||
"@sentry/vue": "10.34.0",
|
"@sentry/vue": "10.38.0",
|
||||||
"@simplewebauthn/types": "12.0.0",
|
"@simplewebauthn/types": "12.0.0",
|
||||||
"@swc/jest": "0.2.39",
|
"@swc/jest": "0.2.39",
|
||||||
"@types/accepts": "1.3.7",
|
"@types/accepts": "1.3.7",
|
||||||
@@ -193,8 +193,8 @@
|
|||||||
"@types/jsonld": "1.5.15",
|
"@types/jsonld": "1.5.15",
|
||||||
"@types/mime-types": "3.0.1",
|
"@types/mime-types": "3.0.1",
|
||||||
"@types/ms": "2.1.0",
|
"@types/ms": "2.1.0",
|
||||||
"@types/node": "24.10.9",
|
"@types/node": "24.10.13",
|
||||||
"@types/nodemailer": "7.0.5",
|
"@types/nodemailer": "7.0.9",
|
||||||
"@types/oauth2orize": "1.11.5",
|
"@types/oauth2orize": "1.11.5",
|
||||||
"@types/oauth2orize-pkce": "0.1.2",
|
"@types/oauth2orize-pkce": "0.1.2",
|
||||||
"@types/pg": "8.16.0",
|
"@types/pg": "8.16.0",
|
||||||
@@ -212,8 +212,8 @@
|
|||||||
"@types/vary": "1.1.3",
|
"@types/vary": "1.1.3",
|
||||||
"@types/web-push": "3.6.4",
|
"@types/web-push": "3.6.4",
|
||||||
"@types/ws": "8.18.1",
|
"@types/ws": "8.18.1",
|
||||||
"@typescript-eslint/eslint-plugin": "8.53.0",
|
"@typescript-eslint/eslint-plugin": "8.55.0",
|
||||||
"@typescript-eslint/parser": "8.53.0",
|
"@typescript-eslint/parser": "8.55.0",
|
||||||
"aws-sdk-client-mock": "4.1.0",
|
"aws-sdk-client-mock": "4.1.0",
|
||||||
"cbor": "10.0.11",
|
"cbor": "10.0.11",
|
||||||
"cross-env": "10.1.0",
|
"cross-env": "10.1.0",
|
||||||
|
|||||||
@@ -32,6 +32,7 @@ export const paramDef = {
|
|||||||
properties: {
|
properties: {
|
||||||
tag: { type: 'string' },
|
tag: { type: 'string' },
|
||||||
limit: { type: 'integer', minimum: 1, maximum: 100, default: 10 },
|
limit: { type: 'integer', minimum: 1, maximum: 100, default: 10 },
|
||||||
|
offset: { type: 'integer', default: 0 },
|
||||||
sort: { type: 'string', enum: ['+follower', '-follower', '+createdAt', '-createdAt', '+updatedAt', '-updatedAt'] },
|
sort: { type: 'string', enum: ['+follower', '-follower', '+createdAt', '-createdAt', '+updatedAt', '-updatedAt'] },
|
||||||
state: { type: 'string', enum: ['all', 'alive'], default: 'all' },
|
state: { type: 'string', enum: ['all', 'alive'], default: 'all' },
|
||||||
origin: { type: 'string', enum: ['combined', 'local', 'remote'], default: 'local' },
|
origin: { type: 'string', enum: ['combined', 'local', 'remote'], default: 'local' },
|
||||||
@@ -74,7 +75,10 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
|
|||||||
case '-updatedAt': query.orderBy('user.updatedAt', 'ASC'); break;
|
case '-updatedAt': query.orderBy('user.updatedAt', 'ASC'); break;
|
||||||
}
|
}
|
||||||
|
|
||||||
const users = await query.limit(ps.limit).getMany();
|
const users = await query
|
||||||
|
.limit(ps.limit)
|
||||||
|
.offset(ps.offset)
|
||||||
|
.getMany();
|
||||||
|
|
||||||
return await this.userEntityService.packMany(users, me, { schema: 'UserDetailed' });
|
return await this.userEntityService.packMany(users, me, { schema: 'UserDetailed' });
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -11,10 +11,10 @@
|
|||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/estree": "1.0.8",
|
"@types/estree": "1.0.8",
|
||||||
"@types/node": "24.10.9",
|
"@types/node": "24.10.13",
|
||||||
"@typescript-eslint/eslint-plugin": "8.53.0",
|
"@typescript-eslint/eslint-plugin": "8.55.0",
|
||||||
"@typescript-eslint/parser": "8.53.0",
|
"@typescript-eslint/parser": "8.55.0",
|
||||||
"rollup": "4.55.1"
|
"rollup": "4.57.1"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"i18n": "workspace:*",
|
"i18n": "workspace:*",
|
||||||
|
|||||||
@@ -15,7 +15,7 @@
|
|||||||
"@rollup/plugin-replace": "6.0.3",
|
"@rollup/plugin-replace": "6.0.3",
|
||||||
"@rollup/pluginutils": "5.3.0",
|
"@rollup/pluginutils": "5.3.0",
|
||||||
"@twemoji/parser": "16.0.0",
|
"@twemoji/parser": "16.0.0",
|
||||||
"@vitejs/plugin-vue": "6.0.3",
|
"@vitejs/plugin-vue": "6.0.4",
|
||||||
"buraha": "0.0.1",
|
"buraha": "0.0.1",
|
||||||
"estree-walker": "3.0.3",
|
"estree-walker": "3.0.3",
|
||||||
"frontend-shared": "workspace:*",
|
"frontend-shared": "workspace:*",
|
||||||
@@ -25,13 +25,13 @@
|
|||||||
"mfm-js": "0.25.0",
|
"mfm-js": "0.25.0",
|
||||||
"misskey-js": "workspace:*",
|
"misskey-js": "workspace:*",
|
||||||
"punycode.js": "2.3.1",
|
"punycode.js": "2.3.1",
|
||||||
"rollup": "4.55.1",
|
"rollup": "4.57.1",
|
||||||
"sass": "1.97.2",
|
"sass": "1.97.3",
|
||||||
"shiki": "3.21.0",
|
"shiki": "3.22.0",
|
||||||
"tinycolor2": "1.6.0",
|
"tinycolor2": "1.6.0",
|
||||||
"uuid": "13.0.0",
|
"uuid": "13.0.0",
|
||||||
"vite": "7.3.1",
|
"vite": "7.3.1",
|
||||||
"vue": "3.5.26"
|
"vue": "3.5.28"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@misskey-dev/summaly": "5.2.5",
|
"@misskey-dev/summaly": "5.2.5",
|
||||||
@@ -39,29 +39,29 @@
|
|||||||
"@testing-library/vue": "8.1.0",
|
"@testing-library/vue": "8.1.0",
|
||||||
"@types/estree": "1.0.8",
|
"@types/estree": "1.0.8",
|
||||||
"@types/micromatch": "4.0.10",
|
"@types/micromatch": "4.0.10",
|
||||||
"@types/node": "24.10.9",
|
"@types/node": "24.10.13",
|
||||||
"@types/punycode.js": "npm:@types/punycode@2.1.4",
|
"@types/punycode.js": "npm:@types/punycode@2.1.4",
|
||||||
"@types/tinycolor2": "1.4.6",
|
"@types/tinycolor2": "1.4.6",
|
||||||
"@types/ws": "8.18.1",
|
"@types/ws": "8.18.1",
|
||||||
"@typescript-eslint/eslint-plugin": "8.53.0",
|
"@typescript-eslint/eslint-plugin": "8.55.0",
|
||||||
"@typescript-eslint/parser": "8.53.0",
|
"@typescript-eslint/parser": "8.55.0",
|
||||||
"@vitest/coverage-v8": "4.0.17",
|
"@vitest/coverage-v8": "4.0.18",
|
||||||
"@vue/runtime-core": "3.5.26",
|
"@vue/runtime-core": "3.5.28",
|
||||||
"acorn": "8.15.0",
|
"acorn": "8.15.0",
|
||||||
"cross-env": "10.1.0",
|
"cross-env": "10.1.0",
|
||||||
"eslint-plugin-import": "2.32.0",
|
"eslint-plugin-import": "2.32.0",
|
||||||
"eslint-plugin-vue": "10.7.0",
|
"eslint-plugin-vue": "10.8.0",
|
||||||
"happy-dom": "20.3.1",
|
"happy-dom": "20.6.1",
|
||||||
"intersection-observer": "0.12.2",
|
"intersection-observer": "0.12.2",
|
||||||
"micromatch": "4.0.8",
|
"micromatch": "4.0.8",
|
||||||
"msw": "2.12.7",
|
"msw": "2.12.10",
|
||||||
"nodemon": "3.1.11",
|
"nodemon": "3.1.11",
|
||||||
"prettier": "3.8.0",
|
"prettier": "3.8.1",
|
||||||
"start-server-and-test": "2.1.3",
|
"start-server-and-test": "2.1.3",
|
||||||
"tsx": "4.21.0",
|
"tsx": "4.21.0",
|
||||||
"vite-plugin-turbosnap": "1.0.3",
|
"vite-plugin-turbosnap": "1.0.3",
|
||||||
"vue-component-type-helpers": "3.2.2",
|
"vue-component-type-helpers": "3.2.4",
|
||||||
"vue-eslint-parser": "10.2.0",
|
"vue-eslint-parser": "10.4.0",
|
||||||
"vue-tsc": "3.2.2"
|
"vue-tsc": "3.2.4"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,13 +21,13 @@
|
|||||||
"lint": "pnpm typecheck && pnpm eslint"
|
"lint": "pnpm typecheck && pnpm eslint"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/node": "24.10.9",
|
"@types/node": "24.10.13",
|
||||||
"@typescript-eslint/eslint-plugin": "8.53.0",
|
"@typescript-eslint/eslint-plugin": "8.55.0",
|
||||||
"@typescript-eslint/parser": "8.53.0",
|
"@typescript-eslint/parser": "8.55.0",
|
||||||
"esbuild": "0.27.2",
|
"esbuild": "0.27.3",
|
||||||
"eslint-plugin-vue": "10.7.0",
|
"eslint-plugin-vue": "10.8.0",
|
||||||
"nodemon": "3.1.11",
|
"nodemon": "3.1.11",
|
||||||
"vue-eslint-parser": "10.2.0"
|
"vue-eslint-parser": "10.4.0"
|
||||||
},
|
},
|
||||||
"files": [
|
"files": [
|
||||||
"js-built"
|
"js-built"
|
||||||
@@ -35,6 +35,6 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"i18n": "workspace:*",
|
"i18n": "workspace:*",
|
||||||
"misskey-js": "workspace:*",
|
"misskey-js": "workspace:*",
|
||||||
"vue": "3.5.26"
|
"vue": "3.5.28"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -28,14 +28,14 @@
|
|||||||
"@rollup/plugin-json": "6.1.0",
|
"@rollup/plugin-json": "6.1.0",
|
||||||
"@rollup/plugin-replace": "6.0.3",
|
"@rollup/plugin-replace": "6.0.3",
|
||||||
"@rollup/pluginutils": "5.3.0",
|
"@rollup/pluginutils": "5.3.0",
|
||||||
"@sentry/vue": "10.34.0",
|
"@sentry/vue": "10.38.0",
|
||||||
"@syuilo/aiscript": "1.2.1",
|
"@syuilo/aiscript": "1.2.1",
|
||||||
"@syuilo/aiscript-0-19-0": "npm:@syuilo/aiscript@^0.19.0",
|
"@syuilo/aiscript-0-19-0": "npm:@syuilo/aiscript@^0.19.0",
|
||||||
"@twemoji/parser": "16.0.0",
|
"@twemoji/parser": "16.0.0",
|
||||||
"@vitejs/plugin-vue": "6.0.3",
|
"@vitejs/plugin-vue": "6.0.4",
|
||||||
"aiscript-vscode": "github:aiscript-dev/aiscript-vscode#v0.1.16",
|
"aiscript-vscode": "github:aiscript-dev/aiscript-vscode#v0.1.16",
|
||||||
"analytics": "0.8.19",
|
"analytics": "0.8.19",
|
||||||
"broadcast-channel": "7.2.0",
|
"broadcast-channel": "7.3.0",
|
||||||
"buraha": "0.0.1",
|
"buraha": "0.0.1",
|
||||||
"canvas-confetti": "1.9.4",
|
"canvas-confetti": "1.9.4",
|
||||||
"chart.js": "4.5.1",
|
"chart.js": "4.5.1",
|
||||||
@@ -43,13 +43,13 @@
|
|||||||
"chartjs-chart-matrix": "3.0.0",
|
"chartjs-chart-matrix": "3.0.0",
|
||||||
"chartjs-plugin-gradient": "0.6.1",
|
"chartjs-plugin-gradient": "0.6.1",
|
||||||
"chartjs-plugin-zoom": "2.2.0",
|
"chartjs-plugin-zoom": "2.2.0",
|
||||||
"chromatic": "13.3.5",
|
"chromatic": "15.1.0",
|
||||||
"compare-versions": "6.1.1",
|
"compare-versions": "6.1.1",
|
||||||
"cropperjs": "2.1.0",
|
"cropperjs": "2.1.0",
|
||||||
"date-fns": "4.1.0",
|
"date-fns": "4.1.0",
|
||||||
"eventemitter3": "5.0.1",
|
"eventemitter3": "5.0.4",
|
||||||
"execa": "9.6.1",
|
"execa": "9.6.1",
|
||||||
"exifreader": "4.36.0",
|
"exifreader": "4.36.1",
|
||||||
"frontend-shared": "workspace:*",
|
"frontend-shared": "workspace:*",
|
||||||
"i18n": "workspace:*",
|
"i18n": "workspace:*",
|
||||||
"icons-subsetter": "workspace:*",
|
"icons-subsetter": "workspace:*",
|
||||||
@@ -59,7 +59,7 @@
|
|||||||
"is-file-animated": "1.0.2",
|
"is-file-animated": "1.0.2",
|
||||||
"json5": "2.2.3",
|
"json5": "2.2.3",
|
||||||
"matter-js": "0.20.0",
|
"matter-js": "0.20.0",
|
||||||
"mediabunny": "1.28.0",
|
"mediabunny": "1.34.2",
|
||||||
"mfm-js": "0.25.0",
|
"mfm-js": "0.25.0",
|
||||||
"misskey-bubble-game": "workspace:*",
|
"misskey-bubble-game": "workspace:*",
|
||||||
"misskey-js": "workspace:*",
|
"misskey-js": "workspace:*",
|
||||||
@@ -68,24 +68,24 @@
|
|||||||
"punycode.js": "2.3.1",
|
"punycode.js": "2.3.1",
|
||||||
"qr-code-styling": "1.9.2",
|
"qr-code-styling": "1.9.2",
|
||||||
"qr-scanner": "1.4.2",
|
"qr-scanner": "1.4.2",
|
||||||
"rollup": "4.55.1",
|
"rollup": "4.57.1",
|
||||||
"sanitize-html": "2.17.0",
|
"sanitize-html": "2.17.0",
|
||||||
"sass": "1.97.2",
|
"sass": "1.97.3",
|
||||||
"shiki": "3.21.0",
|
"shiki": "3.22.0",
|
||||||
"textarea-caret": "3.1.0",
|
"textarea-caret": "3.1.0",
|
||||||
"three": "0.182.0",
|
"three": "0.182.0",
|
||||||
"throttle-debounce": "5.0.2",
|
"throttle-debounce": "5.0.2",
|
||||||
"tinycolor2": "1.6.0",
|
"tinycolor2": "1.6.0",
|
||||||
"v-code-diff": "1.13.1",
|
"v-code-diff": "1.13.1",
|
||||||
"vite": "7.3.1",
|
"vite": "7.3.1",
|
||||||
"vue": "3.5.26",
|
"vue": "3.5.28",
|
||||||
"wanakana": "5.3.1"
|
"wanakana": "5.3.1"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@misskey-dev/summaly": "5.2.5",
|
"@misskey-dev/summaly": "5.2.5",
|
||||||
"@storybook/addon-essentials": "8.6.15",
|
"@storybook/addon-essentials": "8.6.15",
|
||||||
"@storybook/addon-interactions": "8.6.15",
|
"@storybook/addon-interactions": "8.6.15",
|
||||||
"@storybook/addon-links": "10.1.11",
|
"@storybook/addon-links": "10.2.8",
|
||||||
"@storybook/addon-mdx-gfm": "8.6.15",
|
"@storybook/addon-mdx-gfm": "8.6.15",
|
||||||
"@storybook/addon-storysource": "8.6.15",
|
"@storybook/addon-storysource": "8.6.15",
|
||||||
"@storybook/blocks": "8.6.15",
|
"@storybook/blocks": "8.6.15",
|
||||||
@@ -93,13 +93,13 @@
|
|||||||
"@storybook/core-events": "8.6.15",
|
"@storybook/core-events": "8.6.15",
|
||||||
"@storybook/manager-api": "8.6.15",
|
"@storybook/manager-api": "8.6.15",
|
||||||
"@storybook/preview-api": "8.6.15",
|
"@storybook/preview-api": "8.6.15",
|
||||||
"@storybook/react": "10.1.11",
|
"@storybook/react": "10.2.8",
|
||||||
"@storybook/react-vite": "10.1.11",
|
"@storybook/react-vite": "10.2.8",
|
||||||
"@storybook/test": "8.6.15",
|
"@storybook/test": "8.6.15",
|
||||||
"@storybook/theming": "8.6.15",
|
"@storybook/theming": "8.6.15",
|
||||||
"@storybook/types": "8.6.15",
|
"@storybook/types": "8.6.15",
|
||||||
"@storybook/vue3": "10.1.11",
|
"@storybook/vue3": "10.2.8",
|
||||||
"@storybook/vue3-vite": "10.1.11",
|
"@storybook/vue3-vite": "10.2.8",
|
||||||
"@tabler/icons-webfont": "3.35.0",
|
"@tabler/icons-webfont": "3.35.0",
|
||||||
"@testing-library/vue": "8.1.0",
|
"@testing-library/vue": "8.1.0",
|
||||||
"@types/canvas-confetti": "1.9.0",
|
"@types/canvas-confetti": "1.9.0",
|
||||||
@@ -107,46 +107,46 @@
|
|||||||
"@types/insert-text-at-cursor": "0.3.2",
|
"@types/insert-text-at-cursor": "0.3.2",
|
||||||
"@types/matter-js": "0.20.2",
|
"@types/matter-js": "0.20.2",
|
||||||
"@types/micromatch": "4.0.10",
|
"@types/micromatch": "4.0.10",
|
||||||
"@types/node": "24.10.9",
|
"@types/node": "24.10.13",
|
||||||
"@types/punycode.js": "npm:@types/punycode@2.1.4",
|
"@types/punycode.js": "npm:@types/punycode@2.1.4",
|
||||||
"@types/sanitize-html": "2.16.0",
|
"@types/sanitize-html": "2.16.0",
|
||||||
"@types/seedrandom": "3.0.8",
|
"@types/seedrandom": "3.0.8",
|
||||||
"@types/textarea-caret": "3.0.4",
|
"@types/textarea-caret": "3.0.4",
|
||||||
"@types/throttle-debounce": "5.0.2",
|
"@types/throttle-debounce": "5.0.2",
|
||||||
"@types/tinycolor2": "1.4.6",
|
"@types/tinycolor2": "1.4.6",
|
||||||
"@typescript-eslint/eslint-plugin": "8.53.0",
|
"@typescript-eslint/eslint-plugin": "8.55.0",
|
||||||
"@typescript-eslint/parser": "8.53.0",
|
"@typescript-eslint/parser": "8.55.0",
|
||||||
"@vitest/coverage-v8": "4.0.17",
|
"@vitest/coverage-v8": "4.0.18",
|
||||||
"@vue/compiler-core": "3.5.26",
|
"@vue/compiler-core": "3.5.28",
|
||||||
"acorn": "8.15.0",
|
"acorn": "8.15.0",
|
||||||
"astring": "1.9.0",
|
"astring": "1.9.0",
|
||||||
"cross-env": "10.1.0",
|
"cross-env": "10.1.0",
|
||||||
"cypress": "15.9.0",
|
"cypress": "15.10.0",
|
||||||
"eslint-plugin-import": "2.32.0",
|
"eslint-plugin-import": "2.32.0",
|
||||||
"eslint-plugin-vue": "10.7.0",
|
"eslint-plugin-vue": "10.8.0",
|
||||||
"estree-walker": "3.0.3",
|
"estree-walker": "3.0.3",
|
||||||
"happy-dom": "20.3.1",
|
"happy-dom": "20.6.1",
|
||||||
"intersection-observer": "0.12.2",
|
"intersection-observer": "0.12.2",
|
||||||
"magic-string": "0.30.21",
|
"magic-string": "0.30.21",
|
||||||
"micromatch": "4.0.8",
|
"micromatch": "4.0.8",
|
||||||
"minimatch": "10.1.1",
|
"minimatch": "10.2.2",
|
||||||
"msw": "2.12.7",
|
"msw": "2.12.10",
|
||||||
"msw-storybook-addon": "2.0.6",
|
"msw-storybook-addon": "2.0.6",
|
||||||
"nodemon": "3.1.11",
|
"nodemon": "3.1.11",
|
||||||
"prettier": "3.8.0",
|
"prettier": "3.8.1",
|
||||||
"react": "19.2.3",
|
"react": "19.2.4",
|
||||||
"react-dom": "19.2.3",
|
"react-dom": "19.2.4",
|
||||||
"seedrandom": "3.0.5",
|
"seedrandom": "3.0.5",
|
||||||
"start-server-and-test": "2.1.3",
|
"start-server-and-test": "2.1.3",
|
||||||
"storybook": "10.1.11",
|
"storybook": "10.2.8",
|
||||||
"storybook-addon-misskey-theme": "github:misskey-dev/storybook-addon-misskey-theme",
|
"storybook-addon-misskey-theme": "github:misskey-dev/storybook-addon-misskey-theme",
|
||||||
"tsx": "4.21.0",
|
"tsx": "4.21.0",
|
||||||
"vite-plugin-glsl": "1.5.5",
|
"vite-plugin-glsl": "1.5.5",
|
||||||
"vite-plugin-turbosnap": "1.0.3",
|
"vite-plugin-turbosnap": "1.0.3",
|
||||||
"vitest": "4.0.17",
|
"vitest": "4.0.18",
|
||||||
"vitest-fetch-mock": "0.4.5",
|
"vitest-fetch-mock": "0.4.5",
|
||||||
"vue-component-type-helpers": "3.2.2",
|
"vue-component-type-helpers": "3.2.4",
|
||||||
"vue-eslint-parser": "10.2.0",
|
"vue-eslint-parser": "10.4.0",
|
||||||
"vue-tsc": "3.2.2"
|
"vue-tsc": "3.2.4"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ SPDX-License-Identifier: AGPL-3.0-only
|
|||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
v-for="(item, i) in modelValue"
|
v-for="(item, i) in modelValue"
|
||||||
:key="item.id"
|
:key="`MkDraggableRoot:${item.id}`"
|
||||||
:class="$style.item"
|
:class="$style.item"
|
||||||
:draggable="!manualDragStart"
|
:draggable="!manualDragStart"
|
||||||
@dragstart.stop="onDragstart($event, item)"
|
@dragstart.stop="onDragstart($event, item)"
|
||||||
@@ -35,7 +35,7 @@ SPDX-License-Identifier: AGPL-3.0-only
|
|||||||
@dragleave="onDragleave($event, item)"
|
@dragleave="onDragleave($event, item)"
|
||||||
@drop.prevent.stop="onDrop($event, item, false)"
|
@drop.prevent.stop="onDrop($event, item, false)"
|
||||||
></div>
|
></div>
|
||||||
<div style="position: relative; z-index: 0;">
|
<div :key="`MkDraggableItem:${item.id}`" style="position: relative; z-index: 0;">
|
||||||
<slot :item="item" :index="i" :dragStart="(ev) => onDragstart(ev, item)"></slot>
|
<slot :item="item" :index="i" :dragStart="(ev) => onDragstart(ev, item)"></slot>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
|
|||||||
@@ -64,7 +64,7 @@ defineProps<{
|
|||||||
const params = defineModel<Record<string, any>>({ required: true });
|
const params = defineModel<Record<string, any>>({ required: true });
|
||||||
|
|
||||||
function getHex(c: ImageEffectorRGB) {
|
function getHex(c: ImageEffectorRGB) {
|
||||||
return `#${c.map(x => (x * 255).toString(16).padStart(2, '0')).join('')}`;
|
return `#${c.map(x => Math.round(x * 255).toString(16).padStart(2, '0')).join('')}`;
|
||||||
}
|
}
|
||||||
|
|
||||||
function getRgb(hex: string | number): ImageEffectorRGB | null {
|
function getRgb(hex: string | number): ImageEffectorRGB | null {
|
||||||
|
|||||||
@@ -156,11 +156,11 @@ SPDX-License-Identifier: AGPL-3.0-only
|
|||||||
import { ref, useTemplateRef, watch, onMounted, onUnmounted, reactive, nextTick } from 'vue';
|
import { ref, useTemplateRef, watch, onMounted, onUnmounted, reactive, nextTick } from 'vue';
|
||||||
import ExifReader from 'exifreader';
|
import ExifReader from 'exifreader';
|
||||||
import { throttle } from 'throttle-debounce';
|
import { throttle } from 'throttle-debounce';
|
||||||
|
import MkPreviewWithControls from './MkPreviewWithControls.vue';
|
||||||
import type { ImageFrameParams, ImageFramePreset } from '@/utility/image-frame-renderer/ImageFrameRenderer.js';
|
import type { ImageFrameParams, ImageFramePreset } from '@/utility/image-frame-renderer/ImageFrameRenderer.js';
|
||||||
import { ImageFrameRenderer } from '@/utility/image-frame-renderer/ImageFrameRenderer.js';
|
import { ImageFrameRenderer } from '@/utility/image-frame-renderer/ImageFrameRenderer.js';
|
||||||
import { i18n } from '@/i18n.js';
|
import { i18n } from '@/i18n.js';
|
||||||
import MkModalWindow from '@/components/MkModalWindow.vue';
|
import MkModalWindow from '@/components/MkModalWindow.vue';
|
||||||
import MkPreviewWithControls from './MkPreviewWithControls.vue';
|
|
||||||
import MkSelect from '@/components/MkSelect.vue';
|
import MkSelect from '@/components/MkSelect.vue';
|
||||||
import MkFolder from '@/components/MkFolder.vue';
|
import MkFolder from '@/components/MkFolder.vue';
|
||||||
import MkSwitch from '@/components/MkSwitch.vue';
|
import MkSwitch from '@/components/MkSwitch.vue';
|
||||||
@@ -390,7 +390,7 @@ async function save() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function getHex(c: [number, number, number]) {
|
function getHex(c: [number, number, number]) {
|
||||||
return `#${c.map(x => (x * 255).toString(16).padStart(2, '0')).join('')}`;
|
return `#${c.map(x => Math.round(x * 255).toString(16).padStart(2, '0')).join('')}`;
|
||||||
}
|
}
|
||||||
|
|
||||||
function getRgb(hex: string | number): [number, number, number] | null {
|
function getRgb(hex: string | number): [number, number, number] | null {
|
||||||
|
|||||||
@@ -136,7 +136,7 @@ SPDX-License-Identifier: AGPL-3.0-only
|
|||||||
<div :class="$style.text" style="opacity: 0.6;">{{ i18n.ts.followRequestAccepted }}</div>
|
<div :class="$style.text" style="opacity: 0.6;">{{ i18n.ts.followRequestAccepted }}</div>
|
||||||
<div v-if="notification.message" :class="$style.text" style="opacity: 0.6; font-style: oblique;">
|
<div v-if="notification.message" :class="$style.text" style="opacity: 0.6; font-style: oblique;">
|
||||||
<i class="ti ti-quote" :class="$style.quote"></i>
|
<i class="ti ti-quote" :class="$style.quote"></i>
|
||||||
<span>{{ notification.message }}</span>
|
<Mfm :text="notification.message" :author="notification.user" :plain="true" :nowrap="true"/>
|
||||||
<i class="ti ti-quote" :class="$style.quote"></i>
|
<i class="ti ti-quote" :class="$style.quote"></i>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|||||||
@@ -114,7 +114,7 @@ SPDX-License-Identifier: AGPL-3.0-only
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { watch, nextTick, onMounted, defineAsyncComponent, provide, shallowRef, ref, computed, useTemplateRef, onUnmounted } from 'vue';
|
import { watch, nextTick, onMounted, defineAsyncComponent, provide, shallowRef, ref, computed, useTemplateRef, onUnmounted, onBeforeUnmount } from 'vue';
|
||||||
import * as mfm from 'mfm-js';
|
import * as mfm from 'mfm-js';
|
||||||
import * as Misskey from 'misskey-js';
|
import * as Misskey from 'misskey-js';
|
||||||
import insertTextAtCursor from 'insert-text-at-cursor';
|
import insertTextAtCursor from 'insert-text-at-cursor';
|
||||||
@@ -227,6 +227,10 @@ const targetChannel = shallowRef(props.channel);
|
|||||||
const serverDraftId = ref<string | null>(null);
|
const serverDraftId = ref<string | null>(null);
|
||||||
const postFormActions = getPluginHandlers('post_form_action');
|
const postFormActions = getPluginHandlers('post_form_action');
|
||||||
|
|
||||||
|
let textAutocomplete: Autocomplete | null = null;
|
||||||
|
let cwAutocomplete: Autocomplete | null = null;
|
||||||
|
let hashtagAutocomplete: Autocomplete | null = null;
|
||||||
|
|
||||||
const uploader = useUploader({
|
const uploader = useUploader({
|
||||||
multiple: true,
|
multiple: true,
|
||||||
});
|
});
|
||||||
@@ -1408,10 +1412,9 @@ onMounted(() => {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: detach when unmount
|
if (textareaEl.value) textAutocomplete = new Autocomplete(textareaEl.value, text);
|
||||||
if (textareaEl.value) new Autocomplete(textareaEl.value, text);
|
if (cwInputEl.value) cwAutocomplete = new Autocomplete(cwInputEl.value, cw);
|
||||||
if (cwInputEl.value) new Autocomplete(cwInputEl.value, cw);
|
if (hashtagsInputEl.value) hashtagAutocomplete = new Autocomplete(hashtagsInputEl.value, hashtags);
|
||||||
if (hashtagsInputEl.value) new Autocomplete(hashtagsInputEl.value, hashtags);
|
|
||||||
|
|
||||||
nextTick(() => {
|
nextTick(() => {
|
||||||
// 書きかけの投稿を復元
|
// 書きかけの投稿を復元
|
||||||
@@ -1468,6 +1471,19 @@ onMounted(() => {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
onBeforeUnmount(() => {
|
||||||
|
uploader.abortAll();
|
||||||
|
if (textAutocomplete) {
|
||||||
|
textAutocomplete.detach();
|
||||||
|
}
|
||||||
|
if (cwAutocomplete) {
|
||||||
|
cwAutocomplete.detach();
|
||||||
|
}
|
||||||
|
if (hashtagAutocomplete) {
|
||||||
|
hashtagAutocomplete.detach();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
async function canClose() {
|
async function canClose() {
|
||||||
if (!uploader.allItemsUploaded.value) {
|
if (!uploader.allItemsUploaded.value) {
|
||||||
const { canceled } = await os.confirm({
|
const { canceled } = await os.confirm({
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ SPDX-License-Identifier: AGPL-3.0-only
|
|||||||
<button v-for="button in buttonsLeft" v-tooltip="button.title" class="_button" :class="[$style.headerButton, { [$style.highlighted]: button.highlighted }]" @click="button.onClick"><i :class="button.icon"></i></button>
|
<button v-for="button in buttonsLeft" v-tooltip="button.title" class="_button" :class="[$style.headerButton, { [$style.highlighted]: button.highlighted }]" @click="button.onClick"><i :class="button.icon"></i></button>
|
||||||
</template>
|
</template>
|
||||||
</span>
|
</span>
|
||||||
<span :class="$style.headerTitle" @mousedown.prevent="onHeaderMousedown" @touchstart.prevent="onHeaderMousedown">
|
<span :class="$style.headerTitle" @pointerdown.prevent="onHeaderPointerdown">
|
||||||
<slot name="header"></slot>
|
<slot name="header"></slot>
|
||||||
</span>
|
</span>
|
||||||
<span :class="$style.headerRight">
|
<span :class="$style.headerRight">
|
||||||
@@ -39,14 +39,14 @@ SPDX-License-Identifier: AGPL-3.0-only
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<template v-if="canResize && !minimized">
|
<template v-if="canResize && !minimized">
|
||||||
<div :class="$style.handleTop" @mousedown.prevent="onTopHandleMousedown"></div>
|
<div :class="$style.handleTop" @pointerdown.prevent="onTopHandlePointerdown"></div>
|
||||||
<div :class="$style.handleRight" @mousedown.prevent="onRightHandleMousedown"></div>
|
<div :class="$style.handleRight" @pointerdown.prevent="onRightHandlePointerdown"></div>
|
||||||
<div :class="$style.handleBottom" @mousedown.prevent="onBottomHandleMousedown"></div>
|
<div :class="$style.handleBottom" @pointerdown.prevent="onBottomHandlePointerdown"></div>
|
||||||
<div :class="$style.handleLeft" @mousedown.prevent="onLeftHandleMousedown"></div>
|
<div :class="$style.handleLeft" @pointerdown.prevent="onLeftHandlePointerdown"></div>
|
||||||
<div :class="$style.handleTopLeft" @mousedown.prevent="onTopLeftHandleMousedown"></div>
|
<div :class="$style.handleTopLeft" @pointerdown.prevent="onTopLeftHandlePointerdown"></div>
|
||||||
<div :class="$style.handleTopRight" @mousedown.prevent="onTopRightHandleMousedown"></div>
|
<div :class="$style.handleTopRight" @pointerdown.prevent="onTopRightHandlePointerdown"></div>
|
||||||
<div :class="$style.handleBottomRight" @mousedown.prevent="onBottomRightHandleMousedown"></div>
|
<div :class="$style.handleBottomRight" @pointerdown.prevent="onBottomRightHandlePointerdown"></div>
|
||||||
<div :class="$style.handleBottomLeft" @mousedown.prevent="onBottomLeftHandleMousedown"></div>
|
<div :class="$style.handleBottomLeft" @pointerdown.prevent="onBottomLeftHandlePointerdown"></div>
|
||||||
</template>
|
</template>
|
||||||
</div>
|
</div>
|
||||||
</Transition>
|
</Transition>
|
||||||
@@ -70,20 +70,39 @@ type WindowButton = {
|
|||||||
const minHeight = 50;
|
const minHeight = 50;
|
||||||
const minWidth = 250;
|
const minWidth = 250;
|
||||||
|
|
||||||
function dragListen(fn: (ev: MouseEvent | TouchEvent) => void) {
|
function dragListen(fn: (ev: PointerEvent) => void) {
|
||||||
window.addEventListener('mousemove', fn);
|
window.addEventListener('pointermove', fn);
|
||||||
window.addEventListener('touchmove', fn);
|
const clear = () => {
|
||||||
window.addEventListener('mouseleave', dragClear.bind(null, fn));
|
dragClear(fn);
|
||||||
window.addEventListener('mouseup', dragClear.bind(null, fn));
|
};
|
||||||
window.addEventListener('touchend', dragClear.bind(null, fn));
|
window.addEventListener('pointerup', clear, { once: true });
|
||||||
|
window.addEventListener('pointercancel', clear, { once: true });
|
||||||
|
window.addEventListener('blur', clear, { once: true });
|
||||||
}
|
}
|
||||||
|
|
||||||
function dragClear(fn: (ev: MouseEvent | TouchEvent) => void) {
|
function dragClear(fn: (ev: PointerEvent) => void) {
|
||||||
window.removeEventListener('mousemove', fn);
|
window.removeEventListener('pointermove', fn);
|
||||||
window.removeEventListener('touchmove', fn);
|
}
|
||||||
window.removeEventListener('mouseleave', dragClear as any);
|
|
||||||
window.removeEventListener('mouseup', dragClear as any);
|
function capturePointer(evt: PointerEvent) {
|
||||||
window.removeEventListener('touchend', dragClear as any);
|
const target = evt.currentTarget;
|
||||||
|
if (!(target instanceof HTMLElement)) return;
|
||||||
|
if (!target.setPointerCapture) return;
|
||||||
|
|
||||||
|
try {
|
||||||
|
target.setPointerCapture(evt.pointerId);
|
||||||
|
} catch {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const release = () => {
|
||||||
|
if (target.hasPointerCapture(evt.pointerId)) {
|
||||||
|
target.releasePointerCapture(evt.pointerId);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
window.addEventListener('pointerup', release, { once: true });
|
||||||
|
window.addEventListener('pointercancel', release, { once: true });
|
||||||
}
|
}
|
||||||
|
|
||||||
const props = withDefaults(defineProps<{
|
const props = withDefaults(defineProps<{
|
||||||
@@ -209,15 +228,17 @@ function onDblClick() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function getPositionX(event: MouseEvent | TouchEvent) {
|
function getPositionX(event: PointerEvent) {
|
||||||
return 'touches' in event && event.touches.length > 0 ? event.touches[0].clientX : 'clientX' in event ? event.clientX : 0;
|
return event.clientX;
|
||||||
}
|
}
|
||||||
|
|
||||||
function getPositionY(event: MouseEvent | TouchEvent) {
|
function getPositionY(event: PointerEvent) {
|
||||||
return 'touches' in event && event.touches.length > 0 ? event.touches[0].clientY : 'clientY' in event ? event.clientY : 0;
|
return event.clientY;
|
||||||
}
|
}
|
||||||
|
|
||||||
function onHeaderMousedown(evt: MouseEvent | TouchEvent) {
|
function onHeaderPointerdown(evt: PointerEvent) {
|
||||||
|
capturePointer(evt);
|
||||||
|
|
||||||
// 右クリックはコンテキストメニューを開こうとした可能性が高いため無視
|
// 右クリックはコンテキストメニューを開こうとした可能性が高いため無視
|
||||||
if ('button' in evt && evt.button === 2) return;
|
if ('button' in evt && evt.button === 2) return;
|
||||||
|
|
||||||
@@ -289,7 +310,9 @@ function onHeaderMousedown(evt: MouseEvent | TouchEvent) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 上ハンドル掴み時
|
// 上ハンドル掴み時
|
||||||
function onTopHandleMousedown(evt: MouseEvent | TouchEvent) {
|
function onTopHandlePointerdown(evt: PointerEvent) {
|
||||||
|
capturePointer(evt);
|
||||||
|
|
||||||
const main = rootEl.value;
|
const main = rootEl.value;
|
||||||
// どういうわけかnullになることがある
|
// どういうわけかnullになることがある
|
||||||
if (main == null) return;
|
if (main == null) return;
|
||||||
@@ -317,7 +340,9 @@ function onTopHandleMousedown(evt: MouseEvent | TouchEvent) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 右ハンドル掴み時
|
// 右ハンドル掴み時
|
||||||
function onRightHandleMousedown(evt: MouseEvent | TouchEvent) {
|
function onRightHandlePointerdown(evt: PointerEvent) {
|
||||||
|
capturePointer(evt);
|
||||||
|
|
||||||
const main = rootEl.value;
|
const main = rootEl.value;
|
||||||
if (main == null) return;
|
if (main == null) return;
|
||||||
|
|
||||||
@@ -342,7 +367,9 @@ function onRightHandleMousedown(evt: MouseEvent | TouchEvent) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 下ハンドル掴み時
|
// 下ハンドル掴み時
|
||||||
function onBottomHandleMousedown(evt: MouseEvent | TouchEvent) {
|
function onBottomHandlePointerdown(evt: PointerEvent) {
|
||||||
|
capturePointer(evt);
|
||||||
|
|
||||||
const main = rootEl.value;
|
const main = rootEl.value;
|
||||||
if (main == null) return;
|
if (main == null) return;
|
||||||
|
|
||||||
@@ -367,7 +394,9 @@ function onBottomHandleMousedown(evt: MouseEvent | TouchEvent) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 左ハンドル掴み時
|
// 左ハンドル掴み時
|
||||||
function onLeftHandleMousedown(evt: MouseEvent | TouchEvent) {
|
function onLeftHandlePointerdown(evt: PointerEvent) {
|
||||||
|
capturePointer(evt);
|
||||||
|
|
||||||
const main = rootEl.value;
|
const main = rootEl.value;
|
||||||
if (main == null) return;
|
if (main == null) return;
|
||||||
|
|
||||||
@@ -394,27 +423,27 @@ function onLeftHandleMousedown(evt: MouseEvent | TouchEvent) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 左上ハンドル掴み時
|
// 左上ハンドル掴み時
|
||||||
function onTopLeftHandleMousedown(evt: MouseEvent | TouchEvent) {
|
function onTopLeftHandlePointerdown(evt: PointerEvent) {
|
||||||
onTopHandleMousedown(evt);
|
onTopHandlePointerdown(evt);
|
||||||
onLeftHandleMousedown(evt);
|
onLeftHandlePointerdown(evt);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 右上ハンドル掴み時
|
// 右上ハンドル掴み時
|
||||||
function onTopRightHandleMousedown(evt: MouseEvent | TouchEvent) {
|
function onTopRightHandlePointerdown(evt: PointerEvent) {
|
||||||
onTopHandleMousedown(evt);
|
onTopHandlePointerdown(evt);
|
||||||
onRightHandleMousedown(evt);
|
onRightHandlePointerdown(evt);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 右下ハンドル掴み時
|
// 右下ハンドル掴み時
|
||||||
function onBottomRightHandleMousedown(evt: MouseEvent | TouchEvent) {
|
function onBottomRightHandlePointerdown(evt: PointerEvent) {
|
||||||
onBottomHandleMousedown(evt);
|
onBottomHandlePointerdown(evt);
|
||||||
onRightHandleMousedown(evt);
|
onRightHandlePointerdown(evt);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 左下ハンドル掴み時
|
// 左下ハンドル掴み時
|
||||||
function onBottomLeftHandleMousedown(evt: MouseEvent | TouchEvent) {
|
function onBottomLeftHandlePointerdown(evt: PointerEvent) {
|
||||||
onBottomHandleMousedown(evt);
|
onBottomHandlePointerdown(evt);
|
||||||
onLeftHandleMousedown(evt);
|
onLeftHandlePointerdown(evt);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 高さを適用
|
// 高さを適用
|
||||||
@@ -566,6 +595,7 @@ defineExpose({
|
|||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
cursor: move;
|
cursor: move;
|
||||||
|
touch-action: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.content {
|
.content {
|
||||||
@@ -579,6 +609,7 @@ $handleSize: 8px;
|
|||||||
|
|
||||||
.handle {
|
.handle {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
|
touch-action: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.handleTop {
|
.handleTop {
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ SPDX-License-Identifier: AGPL-3.0-only
|
|||||||
<div v-if="!narrow || currentPage?.route.name == null" class="nav">
|
<div v-if="!narrow || currentPage?.route.name == null" class="nav">
|
||||||
<div class="_gaps_s">
|
<div class="_gaps_s">
|
||||||
<MkInfo v-if="emailNotConfigured" warn class="info">{{ i18n.ts.emailNotConfiguredWarning }} <MkA to="/settings/email" class="_link">{{ i18n.ts.configure }}</MkA></MkInfo>
|
<MkInfo v-if="emailNotConfigured" warn class="info">{{ i18n.ts.emailNotConfiguredWarning }} <MkA to="/settings/email" class="_link">{{ i18n.ts.configure }}</MkA></MkInfo>
|
||||||
<MkInfo v-if="!storagePersisted && store.r.showStoragePersistenceSuggestion.value" class="info">
|
<MkInfo v-if="storagePersistenceSupported && !storagePersisted && store.r.showStoragePersistenceSuggestion.value" class="info">
|
||||||
<div>{{ i18n.ts._settings.settingsPersistence_description1 }}</div>
|
<div>{{ i18n.ts._settings.settingsPersistence_description1 }}</div>
|
||||||
<div>{{ i18n.ts._settings.settingsPersistence_description2 }}</div>
|
<div>{{ i18n.ts._settings.settingsPersistence_description2 }}</div>
|
||||||
<div><button class="_textButton" @click="enableStoragePersistence">{{ i18n.ts.enable }}</button> | <button class="_textButton" @click="skipStoragePersistence">{{ i18n.ts.skip }}</button></div>
|
<div><button class="_textButton" @click="enableStoragePersistence">{{ i18n.ts.enable }}</button> | <button class="_textButton" @click="skipStoragePersistence">{{ i18n.ts.skip }}</button></div>
|
||||||
@@ -51,7 +51,7 @@ import { enableAutoBackup, getPreferencesProfileMenu } from '@/preferences/utili
|
|||||||
import { store } from '@/store.js';
|
import { store } from '@/store.js';
|
||||||
import { signout } from '@/signout.js';
|
import { signout } from '@/signout.js';
|
||||||
import { genSearchIndexes } from '@/utility/inapp-search.js';
|
import { genSearchIndexes } from '@/utility/inapp-search.js';
|
||||||
import { enableStoragePersistence, storagePersisted, skipStoragePersistence } from '@/utility/storage.js';
|
import { enableStoragePersistence, storagePersisted, storagePersistenceSupported, skipStoragePersistence } from '@/utility/storage.js';
|
||||||
|
|
||||||
const searchIndex = await import('search-index:settings').then(({ searchIndexes }) => genSearchIndexes(searchIndexes));
|
const searchIndex = await import('search-index:settings').then(({ searchIndexes }) => genSearchIndexes(searchIndexes));
|
||||||
|
|
||||||
|
|||||||
@@ -142,7 +142,7 @@ SPDX-License-Identifier: AGPL-3.0-only
|
|||||||
<hr>
|
<hr>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<MkButton v-if="!storagePersisted" @click="enableStoragePersistence">{{ i18n.ts._settings.settingsPersistence_title }}</MkButton>
|
<MkButton v-if="storagePersistenceSupported && !storagePersisted" @click="enableStoragePersistence">{{ i18n.ts._settings.settingsPersistence_title }}</MkButton>
|
||||||
|
|
||||||
<MkButton @click="forceCloudBackup">{{ i18n.ts._preferencesBackup.forceBackup }}</MkButton>
|
<MkButton @click="forceCloudBackup">{{ i18n.ts._preferencesBackup.forceBackup }}</MkButton>
|
||||||
|
|
||||||
@@ -165,7 +165,7 @@ import MkKeyValue from '@/components/MkKeyValue.vue';
|
|||||||
import MkButton from '@/components/MkButton.vue';
|
import MkButton from '@/components/MkButton.vue';
|
||||||
import FormSlot from '@/components/form/slot.vue';
|
import FormSlot from '@/components/form/slot.vue';
|
||||||
import * as os from '@/os.js';
|
import * as os from '@/os.js';
|
||||||
import { enableStoragePersistence, storagePersisted, skipStoragePersistence } from '@/utility/storage.js';
|
import { enableStoragePersistence, storagePersisted, storagePersistenceSupported } from '@/utility/storage.js';
|
||||||
import { ensureSignin } from '@/i.js';
|
import { ensureSignin } from '@/i.js';
|
||||||
import { i18n } from '@/i18n.js';
|
import { i18n } from '@/i18n.js';
|
||||||
import { definePage } from '@/page.js';
|
import { definePage } from '@/page.js';
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ const props = defineProps<{
|
|||||||
|
|
||||||
const paginator = markRaw(new Paginator('hashtags/users', {
|
const paginator = markRaw(new Paginator('hashtags/users', {
|
||||||
limit: 30,
|
limit: 30,
|
||||||
|
offsetMode: true,
|
||||||
computedParams: computed(() => ({
|
computedParams: computed(() => ({
|
||||||
tag: props.tag,
|
tag: props.tag,
|
||||||
origin: 'combined',
|
origin: 'combined',
|
||||||
|
|||||||
@@ -18,7 +18,6 @@ let lastHeartbeatCall = 0;
|
|||||||
export function useStream(): Misskey.IStream {
|
export function useStream(): Misskey.IStream {
|
||||||
if (stream) return stream;
|
if (stream) return stream;
|
||||||
|
|
||||||
// TODO: No Websocketモードもここで判定
|
|
||||||
stream = markRaw(new Misskey.Stream(wsOrigin, $i ? {
|
stream = markRaw(new Misskey.Stream(wsOrigin, $i ? {
|
||||||
token: $i.token,
|
token: $i.token,
|
||||||
} : null));
|
} : null));
|
||||||
|
|||||||
@@ -3,14 +3,16 @@
|
|||||||
* SPDX-License-Identifier: AGPL-3.0-only
|
* SPDX-License-Identifier: AGPL-3.0-only
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { computed, ref, shallowRef, watch, defineAsyncComponent } from 'vue';
|
import { ref } from 'vue';
|
||||||
import * as os from '@/os.js';
|
import * as os from '@/os.js';
|
||||||
import { store } from '@/store.js';
|
import { store } from '@/store.js';
|
||||||
import { i18n } from '@/i18n.js';
|
import { i18n } from '@/i18n.js';
|
||||||
|
|
||||||
export const storagePersisted = ref(await navigator.storage.persisted());
|
export const storagePersistenceSupported = window.isSecureContext && 'storage' in navigator;
|
||||||
|
export const storagePersisted = ref(storagePersistenceSupported ? await navigator.storage.persisted() : false);
|
||||||
|
|
||||||
export async function enableStoragePersistence() {
|
export async function enableStoragePersistence() {
|
||||||
|
if (!storagePersistenceSupported) return;
|
||||||
try {
|
try {
|
||||||
const persisted = await navigator.storage.persist();
|
const persisted = await navigator.storage.persist();
|
||||||
if (persisted) {
|
if (persisted) {
|
||||||
|
|||||||
@@ -29,11 +29,11 @@
|
|||||||
],
|
],
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/js-yaml": "4.0.9",
|
"@types/js-yaml": "4.0.9",
|
||||||
"@types/node": "24.10.9",
|
"@types/node": "24.10.13",
|
||||||
"@typescript-eslint/eslint-plugin": "8.53.0",
|
"@typescript-eslint/eslint-plugin": "8.55.0",
|
||||||
"@typescript-eslint/parser": "8.53.0",
|
"@typescript-eslint/parser": "8.55.0",
|
||||||
"chokidar": "5.0.0",
|
"chokidar": "5.0.0",
|
||||||
"esbuild": "0.27.2",
|
"esbuild": "0.27.3",
|
||||||
"execa": "9.6.1",
|
"execa": "9.6.1",
|
||||||
"nodemon": "3.1.11",
|
"nodemon": "3.1.11",
|
||||||
"tsx": "4.21.0"
|
"tsx": "4.21.0"
|
||||||
|
|||||||
@@ -11,14 +11,14 @@
|
|||||||
"lint": "pnpm typecheck && pnpm eslint"
|
"lint": "pnpm typecheck && pnpm eslint"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/node": "24.10.9",
|
"@types/node": "24.10.13",
|
||||||
"@types/wawoff2": "1.0.2",
|
"@types/wawoff2": "1.0.2",
|
||||||
"@typescript-eslint/eslint-plugin": "8.53.0",
|
"@typescript-eslint/eslint-plugin": "8.55.0",
|
||||||
"@typescript-eslint/parser": "8.53.0"
|
"@typescript-eslint/parser": "8.55.0"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@tabler/icons-webfont": "3.35.0",
|
"@tabler/icons-webfont": "3.35.0",
|
||||||
"harfbuzzjs": "0.4.15",
|
"harfbuzzjs": "0.8.0",
|
||||||
"tsx": "4.21.0",
|
"tsx": "4.21.0",
|
||||||
"wawoff2": "2.0.1"
|
"wawoff2": "2.0.1"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -25,11 +25,11 @@
|
|||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/matter-js": "0.20.2",
|
"@types/matter-js": "0.20.2",
|
||||||
"@types/node": "24.10.9",
|
"@types/node": "24.10.13",
|
||||||
"@types/seedrandom": "3.0.8",
|
"@types/seedrandom": "3.0.8",
|
||||||
"@typescript-eslint/eslint-plugin": "8.53.0",
|
"@typescript-eslint/eslint-plugin": "8.55.0",
|
||||||
"@typescript-eslint/parser": "8.53.0",
|
"@typescript-eslint/parser": "8.55.0",
|
||||||
"esbuild": "0.27.2",
|
"esbuild": "0.27.3",
|
||||||
"execa": "9.6.1",
|
"execa": "9.6.1",
|
||||||
"nodemon": "3.1.11"
|
"nodemon": "3.1.11"
|
||||||
},
|
},
|
||||||
@@ -37,7 +37,7 @@
|
|||||||
"built"
|
"built"
|
||||||
],
|
],
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"eventemitter3": "5.0.1",
|
"eventemitter3": "5.0.4",
|
||||||
"matter-js": "0.20.0",
|
"matter-js": "0.20.0",
|
||||||
"seedrandom": "3.0.5"
|
"seedrandom": "3.0.5"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,11 +8,11 @@
|
|||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@readme/openapi-parser": "5.5.0",
|
"@readme/openapi-parser": "5.5.0",
|
||||||
"@types/node": "24.10.9",
|
"@types/node": "24.10.13",
|
||||||
"@typescript-eslint/eslint-plugin": "8.53.0",
|
"@typescript-eslint/eslint-plugin": "8.55.0",
|
||||||
"@typescript-eslint/parser": "8.53.0",
|
"@typescript-eslint/parser": "8.55.0",
|
||||||
"openapi-types": "12.1.3",
|
"openapi-types": "12.1.3",
|
||||||
"openapi-typescript": "7.10.1",
|
"openapi-typescript": "7.13.0",
|
||||||
"ts-case-convert": "2.1.0",
|
"ts-case-convert": "2.1.0",
|
||||||
"tsx": "4.21.0",
|
"tsx": "4.21.0",
|
||||||
"eslint": "9.39.2"
|
"eslint": "9.39.2"
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"name": "misskey-js",
|
"name": "misskey-js",
|
||||||
"version": "2026.1.0-beta.0",
|
"version": "2026.2.0-beta.0",
|
||||||
"description": "Misskey SDK for JavaScript",
|
"description": "Misskey SDK for JavaScript",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"main": "./built/index.js",
|
"main": "./built/index.js",
|
||||||
@@ -37,17 +37,17 @@
|
|||||||
"directory": "packages/misskey-js"
|
"directory": "packages/misskey-js"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@microsoft/api-extractor": "7.55.5",
|
"@microsoft/api-extractor": "7.56.3",
|
||||||
"@types/node": "24.10.9",
|
"@types/node": "24.10.13",
|
||||||
"@typescript-eslint/eslint-plugin": "8.53.0",
|
"@typescript-eslint/eslint-plugin": "8.55.0",
|
||||||
"@typescript-eslint/parser": "8.53.0",
|
"@typescript-eslint/parser": "8.55.0",
|
||||||
"@vitest/coverage-v8": "4.0.17",
|
"@vitest/coverage-v8": "4.0.18",
|
||||||
"esbuild": "0.27.2",
|
"esbuild": "0.27.3",
|
||||||
"execa": "9.6.1",
|
"execa": "9.6.1",
|
||||||
"ncp": "2.0.0",
|
"ncp": "2.0.0",
|
||||||
"nodemon": "3.1.11",
|
"nodemon": "3.1.11",
|
||||||
"tsd": "0.33.0",
|
"tsd": "0.33.0",
|
||||||
"vitest": "4.0.17",
|
"vitest": "4.0.18",
|
||||||
"vitest-websocket-mock": "0.5.0"
|
"vitest-websocket-mock": "0.5.0"
|
||||||
},
|
},
|
||||||
"files": [
|
"files": [
|
||||||
@@ -55,7 +55,7 @@
|
|||||||
],
|
],
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@simplewebauthn/types": "12.0.0",
|
"@simplewebauthn/types": "12.0.0",
|
||||||
"eventemitter3": "5.0.1",
|
"eventemitter3": "5.0.4",
|
||||||
"reconnecting-websocket": "4.4.0"
|
"reconnecting-websocket": "4.4.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24020,6 +24020,8 @@ export interface operations {
|
|||||||
tag: string;
|
tag: string;
|
||||||
/** @default 10 */
|
/** @default 10 */
|
||||||
limit?: number;
|
limit?: number;
|
||||||
|
/** @default 0 */
|
||||||
|
offset?: number;
|
||||||
/** @enum {string} */
|
/** @enum {string} */
|
||||||
sort: '+follower' | '-follower' | '+createdAt' | '-createdAt' | '+updatedAt' | '-updatedAt';
|
sort: '+follower' | '-follower' | '+createdAt' | '-createdAt' | '+updatedAt' | '-updatedAt';
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -24,10 +24,10 @@
|
|||||||
"lint": "pnpm typecheck && pnpm eslint"
|
"lint": "pnpm typecheck && pnpm eslint"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/node": "24.10.9",
|
"@types/node": "24.10.13",
|
||||||
"@typescript-eslint/eslint-plugin": "8.53.0",
|
"@typescript-eslint/eslint-plugin": "8.55.0",
|
||||||
"@typescript-eslint/parser": "8.53.0",
|
"@typescript-eslint/parser": "8.55.0",
|
||||||
"esbuild": "0.27.2",
|
"esbuild": "0.27.3",
|
||||||
"execa": "9.6.1",
|
"execa": "9.6.1",
|
||||||
"nodemon": "3.1.11"
|
"nodemon": "3.1.11"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -10,12 +10,12 @@
|
|||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"i18n": "workspace:*",
|
"i18n": "workspace:*",
|
||||||
"esbuild": "0.27.2",
|
"esbuild": "0.27.3",
|
||||||
"idb-keyval": "6.2.2",
|
"idb-keyval": "6.2.2",
|
||||||
"misskey-js": "workspace:*"
|
"misskey-js": "workspace:*"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@typescript-eslint/parser": "8.53.0",
|
"@typescript-eslint/parser": "8.55.0",
|
||||||
"@typescript/lib-webworker": "npm:@types/serviceworker@0.0.74",
|
"@typescript/lib-webworker": "npm:@types/serviceworker@0.0.74",
|
||||||
"eslint-plugin-import": "2.32.0",
|
"eslint-plugin-import": "2.32.0",
|
||||||
"nodemon": "3.1.11"
|
"nodemon": "3.1.11"
|
||||||
|
|||||||
6376
pnpm-lock.yaml
generated
6376
pnpm-lock.yaml
generated
File diff suppressed because it is too large
Load Diff
@@ -35,8 +35,5 @@ ignorePatchFailures: false
|
|||||||
minimumReleaseAge: 10080 # delay 7days to mitigate supply-chain attack
|
minimumReleaseAge: 10080 # delay 7days to mitigate supply-chain attack
|
||||||
minimumReleaseAgeExclude:
|
minimumReleaseAgeExclude:
|
||||||
- '@syuilo/aiscript'
|
- '@syuilo/aiscript'
|
||||||
- '@fastify/express' # 脆弱性対応。そのうち消すこと
|
- minimatch # ← 脆弱性対応。そのうち消す
|
||||||
- 'lodash' # 脆弱性対応。そのうち消すこと
|
- tar # ← 脆弱性対応。そのうち消す
|
||||||
- 'tar' # 脆弱性対応。そのうち消すこと
|
|
||||||
# Renovate security update: pnpm@10.28.2
|
|
||||||
- pnpm@10.28.2
|
|
||||||
|
|||||||
127
scripts/changelog-checker/package-lock.json
generated
127
scripts/changelog-checker/package-lock.json
generated
@@ -9,16 +9,16 @@
|
|||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/mdast": "4.0.4",
|
"@types/mdast": "4.0.4",
|
||||||
"@types/node": "24.10.9",
|
"@types/node": "24.10.12",
|
||||||
"@vitest/coverage-v8": "4.0.17",
|
"@vitest/coverage-v8": "4.0.18",
|
||||||
"mdast-util-to-string": "4.0.0",
|
"mdast-util-to-string": "4.0.0",
|
||||||
"remark": "15.0.1",
|
"remark": "15.0.1",
|
||||||
"remark-parse": "11.0.0",
|
"remark-parse": "11.0.0",
|
||||||
"typescript": "5.9.3",
|
"typescript": "5.9.3",
|
||||||
"unified": "11.0.5",
|
"unified": "11.0.5",
|
||||||
"vite": "7.3.1",
|
"vite": "7.3.1",
|
||||||
"vite-node": "5.2.0",
|
"vite-node": "5.3.0",
|
||||||
"vitest": "4.0.17"
|
"vitest": "4.0.18"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/helper-string-parser": {
|
"node_modules/@babel/helper-string-parser": {
|
||||||
@@ -917,9 +917,9 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/@types/node": {
|
"node_modules/@types/node": {
|
||||||
"version": "24.10.9",
|
"version": "24.10.12",
|
||||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-24.10.9.tgz",
|
"resolved": "https://registry.npmjs.org/@types/node/-/node-24.10.12.tgz",
|
||||||
"integrity": "sha512-ne4A0IpG3+2ETuREInjPNhUGis1SFjv1d5asp8MzEAGtOZeTeHVDOYqOgqfhvseqg/iXty2hjBf1zAOb7RNiNw==",
|
"integrity": "sha512-68e+T28EbdmLSTkPgs3+UacC6rzmqrcWFPQs1C8mwJhI/r5Uxr0yEuQotczNRROd1gq30NGxee+fo0rSIxpyAw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@@ -933,14 +933,14 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/@vitest/coverage-v8": {
|
"node_modules/@vitest/coverage-v8": {
|
||||||
"version": "4.0.17",
|
"version": "4.0.18",
|
||||||
"resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-4.0.17.tgz",
|
"resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-4.0.18.tgz",
|
||||||
"integrity": "sha512-/6zU2FLGg0jsd+ePZcwHRy3+WpNTBBhDY56P4JTRqUN/Dp6CvOEa9HrikcQ4KfV2b2kAHUFB4dl1SuocWXSFEw==",
|
"integrity": "sha512-7i+N2i0+ME+2JFZhfuz7Tg/FqKtilHjGyGvoHYQ6iLV0zahbsJ9sljC9OcFcPDbhYKCet+sG8SsVqlyGvPflZg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@bcoe/v8-coverage": "^1.0.2",
|
"@bcoe/v8-coverage": "^1.0.2",
|
||||||
"@vitest/utils": "4.0.17",
|
"@vitest/utils": "4.0.18",
|
||||||
"ast-v8-to-istanbul": "^0.3.10",
|
"ast-v8-to-istanbul": "^0.3.10",
|
||||||
"istanbul-lib-coverage": "^3.2.2",
|
"istanbul-lib-coverage": "^3.2.2",
|
||||||
"istanbul-lib-report": "^3.0.1",
|
"istanbul-lib-report": "^3.0.1",
|
||||||
@@ -954,8 +954,8 @@
|
|||||||
"url": "https://opencollective.com/vitest"
|
"url": "https://opencollective.com/vitest"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@vitest/browser": "4.0.17",
|
"@vitest/browser": "4.0.18",
|
||||||
"vitest": "4.0.17"
|
"vitest": "4.0.18"
|
||||||
},
|
},
|
||||||
"peerDependenciesMeta": {
|
"peerDependenciesMeta": {
|
||||||
"@vitest/browser": {
|
"@vitest/browser": {
|
||||||
@@ -964,16 +964,16 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vitest/expect": {
|
"node_modules/@vitest/expect": {
|
||||||
"version": "4.0.17",
|
"version": "4.0.18",
|
||||||
"resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.0.17.tgz",
|
"resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.0.18.tgz",
|
||||||
"integrity": "sha512-mEoqP3RqhKlbmUmntNDDCJeTDavDR+fVYkSOw8qRwJFaW/0/5zA9zFeTrHqNtcmwh6j26yMmwx2PqUDPzt5ZAQ==",
|
"integrity": "sha512-8sCWUyckXXYvx4opfzVY03EOiYVxyNrHS5QxX3DAIi5dpJAAkyJezHCP77VMX4HKA2LDT/Jpfo8i2r5BE3GnQQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@standard-schema/spec": "^1.0.0",
|
"@standard-schema/spec": "^1.0.0",
|
||||||
"@types/chai": "^5.2.2",
|
"@types/chai": "^5.2.2",
|
||||||
"@vitest/spy": "4.0.17",
|
"@vitest/spy": "4.0.18",
|
||||||
"@vitest/utils": "4.0.17",
|
"@vitest/utils": "4.0.18",
|
||||||
"chai": "^6.2.1",
|
"chai": "^6.2.1",
|
||||||
"tinyrainbow": "^3.0.3"
|
"tinyrainbow": "^3.0.3"
|
||||||
},
|
},
|
||||||
@@ -982,13 +982,13 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vitest/mocker": {
|
"node_modules/@vitest/mocker": {
|
||||||
"version": "4.0.17",
|
"version": "4.0.18",
|
||||||
"resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.0.17.tgz",
|
"resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.0.18.tgz",
|
||||||
"integrity": "sha512-+ZtQhLA3lDh1tI2wxe3yMsGzbp7uuJSWBM1iTIKCbppWTSBN09PUC+L+fyNlQApQoR+Ps8twt2pbSSXg2fQVEQ==",
|
"integrity": "sha512-HhVd0MDnzzsgevnOWCBj5Otnzobjy5wLBe4EdeeFGv8luMsGcYqDuFRMcttKWZA5vVO8RFjexVovXvAM4JoJDQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@vitest/spy": "4.0.17",
|
"@vitest/spy": "4.0.18",
|
||||||
"estree-walker": "^3.0.3",
|
"estree-walker": "^3.0.3",
|
||||||
"magic-string": "^0.30.21"
|
"magic-string": "^0.30.21"
|
||||||
},
|
},
|
||||||
@@ -1009,9 +1009,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vitest/pretty-format": {
|
"node_modules/@vitest/pretty-format": {
|
||||||
"version": "4.0.17",
|
"version": "4.0.18",
|
||||||
"resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.0.17.tgz",
|
"resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.0.18.tgz",
|
||||||
"integrity": "sha512-Ah3VAYmjcEdHg6+MwFE17qyLqBHZ+ni2ScKCiW2XrlSBV4H3Z7vYfPfz7CWQ33gyu76oc0Ai36+kgLU3rfF4nw==",
|
"integrity": "sha512-P24GK3GulZWC5tz87ux0m8OADrQIUVDPIjjj65vBXYG17ZeU3qD7r+MNZ1RNv4l8CGU2vtTRqixrOi9fYk/yKw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@@ -1022,13 +1022,13 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vitest/runner": {
|
"node_modules/@vitest/runner": {
|
||||||
"version": "4.0.17",
|
"version": "4.0.18",
|
||||||
"resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-4.0.17.tgz",
|
"resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-4.0.18.tgz",
|
||||||
"integrity": "sha512-JmuQyf8aMWoo/LmNFppdpkfRVHJcsgzkbCA+/Bk7VfNH7RE6Ut2qxegeyx2j3ojtJtKIbIGy3h+KxGfYfk28YQ==",
|
"integrity": "sha512-rpk9y12PGa22Jg6g5M3UVVnTS7+zycIGk9ZNGN+m6tZHKQb7jrP7/77WfZy13Y/EUDd52NDsLRQhYKtv7XfPQw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@vitest/utils": "4.0.17",
|
"@vitest/utils": "4.0.18",
|
||||||
"pathe": "^2.0.3"
|
"pathe": "^2.0.3"
|
||||||
},
|
},
|
||||||
"funding": {
|
"funding": {
|
||||||
@@ -1036,13 +1036,13 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vitest/snapshot": {
|
"node_modules/@vitest/snapshot": {
|
||||||
"version": "4.0.17",
|
"version": "4.0.18",
|
||||||
"resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.0.17.tgz",
|
"resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.0.18.tgz",
|
||||||
"integrity": "sha512-npPelD7oyL+YQM2gbIYvlavlMVWUfNNGZPcu0aEUQXt7FXTuqhmgiYupPnAanhKvyP6Srs2pIbWo30K0RbDtRQ==",
|
"integrity": "sha512-PCiV0rcl7jKQjbgYqjtakly6T1uwv/5BQ9SwBLekVg/EaYeQFPiXcgrC2Y7vDMA8dM1SUEAEV82kgSQIlXNMvA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@vitest/pretty-format": "4.0.17",
|
"@vitest/pretty-format": "4.0.18",
|
||||||
"magic-string": "^0.30.21",
|
"magic-string": "^0.30.21",
|
||||||
"pathe": "^2.0.3"
|
"pathe": "^2.0.3"
|
||||||
},
|
},
|
||||||
@@ -1051,9 +1051,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vitest/spy": {
|
"node_modules/@vitest/spy": {
|
||||||
"version": "4.0.17",
|
"version": "4.0.18",
|
||||||
"resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.0.17.tgz",
|
"resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.0.18.tgz",
|
||||||
"integrity": "sha512-I1bQo8QaP6tZlTomQNWKJE6ym4SHf3oLS7ceNjozxxgzavRAgZDc06T7kD8gb9bXKEgcLNt00Z+kZO6KaJ62Ew==",
|
"integrity": "sha512-cbQt3PTSD7P2OARdVW3qWER5EGq7PHlvE+QfzSC0lbwO+xnt7+XH06ZzFjFRgzUX//JmpxrCu92VdwvEPlWSNw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"funding": {
|
"funding": {
|
||||||
@@ -1061,13 +1061,13 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vitest/utils": {
|
"node_modules/@vitest/utils": {
|
||||||
"version": "4.0.17",
|
"version": "4.0.18",
|
||||||
"resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.0.17.tgz",
|
"resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.0.18.tgz",
|
||||||
"integrity": "sha512-RG6iy+IzQpa9SB8HAFHJ9Y+pTzI+h8553MrciN9eC6TFBErqrQaTas4vG+MVj8S4uKk8uTT2p0vgZPnTdxd96w==",
|
"integrity": "sha512-msMRKLMVLWygpK3u2Hybgi4MNjcYJvwTb0Ru09+fOyCXIgT5raYP041DRRdiJiI3k/2U6SEbAETB3YtBrUkCFA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@vitest/pretty-format": "4.0.17",
|
"@vitest/pretty-format": "4.0.18",
|
||||||
"tinyrainbow": "^3.0.3"
|
"tinyrainbow": "^3.0.3"
|
||||||
},
|
},
|
||||||
"funding": {
|
"funding": {
|
||||||
@@ -2433,17 +2433,17 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/vite-node": {
|
"node_modules/vite-node": {
|
||||||
"version": "5.2.0",
|
"version": "5.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/vite-node/-/vite-node-5.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/vite-node/-/vite-node-5.3.0.tgz",
|
||||||
"integrity": "sha512-7UT39YxUukIA97zWPXUGb0SGSiLexEGlavMwU3HDE6+d/HJhKLjLqu4eX2qv6SQiocdhKLRcusroDwXHQ6CnRQ==",
|
"integrity": "sha512-8f20COPYJujc3OKPX6OuyBy3ZIv2det4eRRU4GY1y2MjbeGSUmPjedxg1b72KnTagCofwvZ65ThzjxDW2AtQFQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"cac": "^6.7.14",
|
"cac": "^6.7.14",
|
||||||
"es-module-lexer": "^1.7.0",
|
"es-module-lexer": "^2.0.0",
|
||||||
"obug": "^2.0.0",
|
"obug": "^2.1.1",
|
||||||
"pathe": "^2.0.3",
|
"pathe": "^2.0.3",
|
||||||
"vite": "^7.2.2"
|
"vite": "^7.3.1"
|
||||||
},
|
},
|
||||||
"bin": {
|
"bin": {
|
||||||
"vite-node": "dist/cli.mjs"
|
"vite-node": "dist/cli.mjs"
|
||||||
@@ -2455,20 +2455,27 @@
|
|||||||
"url": "https://opencollective.com/antfu"
|
"url": "https://opencollective.com/antfu"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/vite-node/node_modules/es-module-lexer": {
|
||||||
|
"version": "2.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.0.0.tgz",
|
||||||
|
"integrity": "sha512-5POEcUuZybH7IdmGsD8wlf0AI55wMecM9rVBTI/qEAy2c1kTOm3DjFYjrBdI2K3BaJjJYfYFeRtM0t9ssnRuxw==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT"
|
||||||
|
},
|
||||||
"node_modules/vitest": {
|
"node_modules/vitest": {
|
||||||
"version": "4.0.17",
|
"version": "4.0.18",
|
||||||
"resolved": "https://registry.npmjs.org/vitest/-/vitest-4.0.17.tgz",
|
"resolved": "https://registry.npmjs.org/vitest/-/vitest-4.0.18.tgz",
|
||||||
"integrity": "sha512-FQMeF0DJdWY0iOnbv466n/0BudNdKj1l5jYgl5JVTwjSsZSlqyXFt/9+1sEyhR6CLowbZpV7O1sCHrzBhucKKg==",
|
"integrity": "sha512-hOQuK7h0FGKgBAas7v0mSAsnvrIgAvWmRFjmzpJ7SwFHH3g1k2u37JtYwOwmEKhK6ZO3v9ggDBBm0La1LCK4uQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@vitest/expect": "4.0.17",
|
"@vitest/expect": "4.0.18",
|
||||||
"@vitest/mocker": "4.0.17",
|
"@vitest/mocker": "4.0.18",
|
||||||
"@vitest/pretty-format": "4.0.17",
|
"@vitest/pretty-format": "4.0.18",
|
||||||
"@vitest/runner": "4.0.17",
|
"@vitest/runner": "4.0.18",
|
||||||
"@vitest/snapshot": "4.0.17",
|
"@vitest/snapshot": "4.0.18",
|
||||||
"@vitest/spy": "4.0.17",
|
"@vitest/spy": "4.0.18",
|
||||||
"@vitest/utils": "4.0.17",
|
"@vitest/utils": "4.0.18",
|
||||||
"es-module-lexer": "^1.7.0",
|
"es-module-lexer": "^1.7.0",
|
||||||
"expect-type": "^1.2.2",
|
"expect-type": "^1.2.2",
|
||||||
"magic-string": "^0.30.21",
|
"magic-string": "^0.30.21",
|
||||||
@@ -2496,10 +2503,10 @@
|
|||||||
"@edge-runtime/vm": "*",
|
"@edge-runtime/vm": "*",
|
||||||
"@opentelemetry/api": "^1.9.0",
|
"@opentelemetry/api": "^1.9.0",
|
||||||
"@types/node": "^20.0.0 || ^22.0.0 || >=24.0.0",
|
"@types/node": "^20.0.0 || ^22.0.0 || >=24.0.0",
|
||||||
"@vitest/browser-playwright": "4.0.17",
|
"@vitest/browser-playwright": "4.0.18",
|
||||||
"@vitest/browser-preview": "4.0.17",
|
"@vitest/browser-preview": "4.0.18",
|
||||||
"@vitest/browser-webdriverio": "4.0.17",
|
"@vitest/browser-webdriverio": "4.0.18",
|
||||||
"@vitest/ui": "4.0.17",
|
"@vitest/ui": "4.0.18",
|
||||||
"happy-dom": "*",
|
"happy-dom": "*",
|
||||||
"jsdom": "*"
|
"jsdom": "*"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -10,15 +10,15 @@
|
|||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/mdast": "4.0.4",
|
"@types/mdast": "4.0.4",
|
||||||
"@types/node": "24.10.9",
|
"@types/node": "24.10.13",
|
||||||
"@vitest/coverage-v8": "4.0.17",
|
"@vitest/coverage-v8": "4.0.18",
|
||||||
"mdast-util-to-string": "4.0.0",
|
"mdast-util-to-string": "4.0.0",
|
||||||
"remark": "15.0.1",
|
"remark": "15.0.1",
|
||||||
"remark-parse": "11.0.0",
|
"remark-parse": "11.0.0",
|
||||||
"typescript": "5.9.3",
|
"typescript": "5.9.3",
|
||||||
"unified": "11.0.5",
|
"unified": "11.0.5",
|
||||||
"vite": "7.3.1",
|
"vite": "7.3.1",
|
||||||
"vite-node": "5.2.0",
|
"vite-node": "5.3.0",
|
||||||
"vitest": "4.0.17"
|
"vitest": "4.0.18"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user