mirror of
https://github.com/misskey-dev/misskey.git
synced 2026-06-22 18:54:45 +02:00
Compare commits
16 Commits
2026.5.2-b
...
2026.5.3
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8a38a05d83 | ||
|
|
5b8a38cde8 | ||
|
|
d503b8d073 | ||
|
|
419cdcff36 | ||
|
|
badb243021 | ||
|
|
2bc0ccb108 | ||
|
|
fc6c45d175 | ||
|
|
99081be9fd | ||
|
|
9410bc5194 | ||
|
|
baad1c51d8 | ||
|
|
e6375fb756 | ||
|
|
92c1dc06f2 | ||
|
|
1684dc9c05 | ||
|
|
08c6efb044 | ||
|
|
62b323b58b | ||
|
|
a3227c99ed |
@@ -26,7 +26,9 @@ _settings:
|
||||
general: "全般"
|
||||
appearance: "外観"
|
||||
|
||||
# パラメータ付き (ICU MessageFormat 互換)
|
||||
# パラメータ付き (単純なプレースホルダ置換)
|
||||
# ICU MessageFormat の plural / select / number / date などは非対応
|
||||
# 使えるのは `{name}` のような単純な置換のみ
|
||||
greeting: "こんにちは、{name}さん"
|
||||
```
|
||||
|
||||
|
||||
@@ -1,3 +1,9 @@
|
||||
## 2026.5.3
|
||||
|
||||
### General
|
||||
- Fix: Dockerで起動に失敗する問題を修正
|
||||
|
||||
|
||||
## 2026.5.2
|
||||
|
||||
### Note
|
||||
@@ -8,7 +14,8 @@
|
||||
### General
|
||||
- Enhance: Unicode 17.0 に収録されている絵文字の処理・表示に対応
|
||||
- Fluent Emojiや端末ネイティブの絵文字を利用している場合は、最新の絵文字に対応しておらず正しく表示できない可能性があります。絵文字が表示できない場合は、表示に使用する絵文字をTwemojiに切り替えてご利用ください。
|
||||
- 投稿通知設定したユーザーをリストで見ることができるように
|
||||
- Enhance: 投稿通知設定したユーザーをリストで見ることができるように
|
||||
- 依存関係の更新
|
||||
|
||||
### Client
|
||||
- Enhance: テーマのプレビュー時、リロードせずにもとのテーマに戻せるように
|
||||
|
||||
@@ -189,6 +189,14 @@ pnpm migrate
|
||||
|
||||
After finishing the migration, you can proceed.
|
||||
|
||||
#### Cloudflare tunnel
|
||||
Cloudflare tunnelを使うとローカルのMisskeyサーバーをインターネットに公開できます。
|
||||
HTTPSでしか動作しない機能を検証したい時や、スマホなど別のデバイスからローカルのMisskeyサーバーを検証したい時に便利です。
|
||||
|
||||
##### Cloudflare warpと併用する際のtips
|
||||
|
||||
> cloudflared (Cloudflare Tunnel) は region1.v2.argotunnel.com / region2.v2.argotunnel.com に QUIC/HTTP2 でアウトバウンド接続するのですが、WARP を有効化するとこのトラフィックが WARP 経由になってループ/切断します。これら 2 ホストを WARP のトンネル除外(split tunnel)に追加することで、cloudflared だけは WARP をバイパスして直接 Cloudflare エッジへ接続できるようになります。
|
||||
|
||||
### Start developing
|
||||
During development, it is useful to use the
|
||||
```
|
||||
|
||||
@@ -74,6 +74,8 @@ FROM --platform=$TARGETPLATFORM node:${NODE_VERSION}-slim AS runner
|
||||
ARG UID="991"
|
||||
ARG GID="991"
|
||||
|
||||
ENV PNPM_CONFIG_VERIFY_DEPS_BEFORE_RUN=false
|
||||
|
||||
RUN apt-get update \
|
||||
&& apt-get install -y --no-install-recommends \
|
||||
ffmpeg tini curl libjemalloc-dev libjemalloc2 \
|
||||
|
||||
33
package.json
33
package.json
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "misskey",
|
||||
"version": "2026.5.2-beta.0",
|
||||
"version": "2026.5.3",
|
||||
"codename": "nasubi",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/misskey-dev/misskey.git"
|
||||
},
|
||||
"packageManager": "pnpm@10.33.2",
|
||||
"packageManager": "pnpm@11.1.2",
|
||||
"workspaces": [
|
||||
"packages/misskey-js",
|
||||
"packages/i18n",
|
||||
@@ -53,44 +53,33 @@
|
||||
"cleanall": "pnpm clean-all"
|
||||
},
|
||||
"dependencies": {
|
||||
"cssnano": "7.1.7",
|
||||
"cssnano": "8.0.0",
|
||||
"esbuild": "0.28.0",
|
||||
"execa": "9.6.1",
|
||||
"ignore-walk": "8.0.0",
|
||||
"js-yaml": "4.1.1",
|
||||
"postcss": "8.5.10",
|
||||
"tar": "7.5.13",
|
||||
"terser": "5.46.2"
|
||||
"postcss": "8.5.14",
|
||||
"tar": "7.5.14",
|
||||
"terser": "5.47.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@eslint/js": "9.39.4",
|
||||
"@misskey-dev/eslint-plugin": "2.1.0",
|
||||
"@types/js-yaml": "4.0.9",
|
||||
"@types/node": "24.12.2",
|
||||
"@typescript-eslint/eslint-plugin": "8.59.0",
|
||||
"@typescript-eslint/parser": "8.59.0",
|
||||
"@typescript-eslint/eslint-plugin": "8.59.2",
|
||||
"@typescript-eslint/parser": "8.59.2",
|
||||
"@typescript/native-preview": "7.0.0-dev.20260426.1",
|
||||
"cross-env": "10.1.0",
|
||||
"cypress": "15.14.1",
|
||||
"cypress": "15.14.2",
|
||||
"eslint": "9.39.4",
|
||||
"globals": "17.5.0",
|
||||
"globals": "17.6.0",
|
||||
"ncp": "2.0.0",
|
||||
"pnpm": "10.33.2",
|
||||
"pnpm": "11.1.2",
|
||||
"start-server-and-test": "3.0.2",
|
||||
"typescript": "5.9.3"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"@tensorflow/tfjs-core": "4.22.0"
|
||||
},
|
||||
"pnpm": {
|
||||
"overrides": {
|
||||
"@aiscript-dev/aiscript-languageserver": "-",
|
||||
"chokidar": "5.0.0",
|
||||
"lodash": "4.18.1"
|
||||
},
|
||||
"ignoredBuiltDependencies": [
|
||||
"@sentry-internal/node-cpu-profiler",
|
||||
"exifreader"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -53,8 +53,8 @@
|
||||
"utf-8-validate": "6.0.6"
|
||||
},
|
||||
"dependencies": {
|
||||
"@aws-sdk/client-s3": "3.1037.0",
|
||||
"@aws-sdk/lib-storage": "3.1037.0",
|
||||
"@aws-sdk/client-s3": "3.1044.0",
|
||||
"@aws-sdk/lib-storage": "3.1044.0",
|
||||
"@fastify/accepts": "5.0.4",
|
||||
"@fastify/cors": "11.2.0",
|
||||
"@fastify/express": "4.0.5",
|
||||
@@ -66,16 +66,16 @@
|
||||
"@misskey-dev/emoji-data": "17.0.3",
|
||||
"@misskey-dev/sharp-read-bmp": "1.2.0",
|
||||
"@misskey-dev/summaly": "5.3.0",
|
||||
"@napi-rs/canvas": "0.1.100",
|
||||
"@napi-rs/canvas": "1.0.0",
|
||||
"@nestjs/common": "11.1.19",
|
||||
"@nestjs/core": "11.1.19",
|
||||
"@nestjs/testing": "11.1.19",
|
||||
"@oxc-project/runtime": "0.127.0",
|
||||
"@oxc-project/runtime": "0.129.0",
|
||||
"@peertube/http-signature": "1.7.0",
|
||||
"@sentry/node": "10.50.0",
|
||||
"@sentry/profiling-node": "10.50.0",
|
||||
"@sentry/node": "10.52.0",
|
||||
"@sentry/profiling-node": "10.52.0",
|
||||
"@simplewebauthn/server": "13.3.0",
|
||||
"@sinonjs/fake-timers": "15.3.2",
|
||||
"@sinonjs/fake-timers": "15.4.0",
|
||||
"@smithy/node-http-handler": "4.6.1",
|
||||
"accepts": "1.3.8",
|
||||
"ajv": "8.20.0",
|
||||
@@ -84,7 +84,7 @@
|
||||
"bcryptjs": "3.0.3",
|
||||
"blurhash": "2.0.5",
|
||||
"body-parser": "2.2.2",
|
||||
"bullmq": "5.76.2",
|
||||
"bullmq": "5.76.6",
|
||||
"cacheable-lookup": "7.0.0",
|
||||
"chalk": "5.6.2",
|
||||
"chalk-template": "1.1.2",
|
||||
@@ -99,28 +99,28 @@
|
||||
"file-type": "22.0.1",
|
||||
"fluent-ffmpeg": "2.1.3",
|
||||
"form-data": "4.0.5",
|
||||
"got": "15.0.3",
|
||||
"got": "15.0.5",
|
||||
"hpagent": "1.2.0",
|
||||
"http-link-header": "1.1.3",
|
||||
"i18n": "workspace:*",
|
||||
"ioredis": "5.10.1",
|
||||
"ip-cidr": "4.0.2",
|
||||
"ipaddr.js": "2.3.0",
|
||||
"ipaddr.js": "2.4.0",
|
||||
"is-svg": "6.1.0",
|
||||
"json5": "2.2.3",
|
||||
"jsonld": "9.0.0",
|
||||
"juice": "11.1.1",
|
||||
"meilisearch": "0.57.0",
|
||||
"meilisearch": "0.58.0",
|
||||
"mfm-js": "0.26.0",
|
||||
"mime-types": "3.0.2",
|
||||
"misskey-js": "workspace:*",
|
||||
"misskey-reversi": "workspace:*",
|
||||
"ms": "3.0.0-canary.202508261828",
|
||||
"nanoid": "5.1.9",
|
||||
"nanoid": "5.1.11",
|
||||
"nested-property": "4.0.0",
|
||||
"node-fetch": "3.3.2",
|
||||
"node-html-parser": "7.1.0",
|
||||
"nodemailer": "8.0.6",
|
||||
"nodemailer": "8.0.7",
|
||||
"nsfwjs": "4.3.0",
|
||||
"oauth2orize": "1.12.0",
|
||||
"oauth2orize-pkce": "0.1.2",
|
||||
@@ -128,27 +128,27 @@
|
||||
"otpauth": "9.5.1",
|
||||
"pg": "8.20.0",
|
||||
"pkce-challenge": "6.0.0",
|
||||
"probe-image-size": "7.2.3",
|
||||
"probe-image-size": "7.3.0",
|
||||
"promise-limit": "2.7.0",
|
||||
"qrcode": "1.5.4",
|
||||
"random-seed": "0.3.0",
|
||||
"ratelimiter": "3.4.1",
|
||||
"re2": "1.24.0",
|
||||
"re2": "1.24.1",
|
||||
"reflect-metadata": "0.2.2",
|
||||
"rename": "1.0.4",
|
||||
"rss-parser": "3.13.0",
|
||||
"rxjs": "7.8.2",
|
||||
"sanitize-html": "2.17.3",
|
||||
"sanitize-html": "2.17.4",
|
||||
"secure-json-parse": "4.1.0",
|
||||
"semver": "7.7.4",
|
||||
"sharp": "0.33.5",
|
||||
"slacc": "0.1.5",
|
||||
"strict-event-emitter-types": "2.0.0",
|
||||
"stringz": "2.1.0",
|
||||
"systeminformation": "5.31.5",
|
||||
"systeminformation": "5.31.6",
|
||||
"tinycolor2": "1.6.0",
|
||||
"tmp": "0.2.5",
|
||||
"tsc-alias": "1.8.16",
|
||||
"tsc-alias": "1.8.17",
|
||||
"typeorm": "0.3.28",
|
||||
"ulid": "3.0.2",
|
||||
"vary": "1.1.2",
|
||||
@@ -160,7 +160,7 @@
|
||||
"@kitajs/ts-html-plugin": "4.1.4",
|
||||
"@nestjs/platform-express": "11.1.19",
|
||||
"@rollup/plugin-esm-shim": "0.1.8",
|
||||
"@sentry/vue": "10.50.0",
|
||||
"@sentry/vue": "10.52.0",
|
||||
"@types/accepts": "1.3.7",
|
||||
"@types/archiver": "7.0.0",
|
||||
"@types/body-parser": "1.19.6",
|
||||
@@ -191,8 +191,8 @@
|
||||
"@types/vary": "1.1.3",
|
||||
"@types/web-push": "3.6.4",
|
||||
"@types/ws": "8.18.1",
|
||||
"@typescript-eslint/eslint-plugin": "8.59.0",
|
||||
"@typescript-eslint/parser": "8.59.0",
|
||||
"@typescript-eslint/eslint-plugin": "8.59.2",
|
||||
"@typescript-eslint/parser": "8.59.2",
|
||||
"@vitest/coverage-v8": "4.1.5",
|
||||
"aws-sdk-client-mock": "4.1.0",
|
||||
"cbor": "10.0.12",
|
||||
@@ -202,10 +202,10 @@
|
||||
"fkill": "10.0.3",
|
||||
"js-yaml": "4.1.1",
|
||||
"pid-port": "2.1.1",
|
||||
"rolldown": "1.0.0-rc.15",
|
||||
"rolldown": "1.0.0",
|
||||
"simple-oauth2": "5.1.0",
|
||||
"supertest": "7.2.2",
|
||||
"vite": "8.0.10",
|
||||
"vite": "8.0.11",
|
||||
"vitest": "4.1.5",
|
||||
"vitest-mock-extended": "4.0.0"
|
||||
}
|
||||
|
||||
@@ -217,6 +217,7 @@ export * as 'flash/search' from './endpoints/flash/search.js';
|
||||
export * as 'following/create' from './endpoints/following/create.js';
|
||||
export * as 'following/delete' from './endpoints/following/delete.js';
|
||||
export * as 'following/invalidate' from './endpoints/following/invalidate.js';
|
||||
export * as 'following/list' from './endpoints/following/list.js';
|
||||
export * as 'following/requests/accept' from './endpoints/following/requests/accept.js';
|
||||
export * as 'following/requests/cancel' from './endpoints/following/requests/cancel.js';
|
||||
export * as 'following/requests/list' from './endpoints/following/requests/list.js';
|
||||
@@ -391,7 +392,6 @@ export * as 'users/featured-notes' from './endpoints/users/featured-notes.js';
|
||||
export * as 'users/flashs' from './endpoints/users/flashs.js';
|
||||
export * as 'users/followers' from './endpoints/users/followers.js';
|
||||
export * as 'users/following' from './endpoints/users/following.js';
|
||||
export * as 'users/notify/list' from './endpoints/users/notify/list.js';
|
||||
export * as 'users/get-following-users-by-birthday' from './endpoints/users/get-following-users-by-birthday.js';
|
||||
export * as 'users/gallery/posts' from './endpoints/users/gallery/posts.js';
|
||||
export * as 'users/get-frequently-replied-users' from './endpoints/users/get-frequently-replied-users.js';
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
*/
|
||||
|
||||
import { Inject, Injectable } from '@nestjs/common';
|
||||
import { UserEntityService } from '@/core/entities/UserEntityService.js';
|
||||
import { FollowingEntityService } from '@/core/entities/FollowingEntityService.js';
|
||||
import type { FollowingsRepository } from '@/models/_.js';
|
||||
import { Endpoint } from '@/server/api/endpoint-base.js';
|
||||
import { QueryService } from '@/core/QueryService.js';
|
||||
@@ -15,7 +15,7 @@ export const meta = {
|
||||
|
||||
requireCredential: true,
|
||||
kind: 'read:following',
|
||||
description: 'List of following users with notification enabled.',
|
||||
description: 'List of following users',
|
||||
|
||||
res: {
|
||||
type: 'array',
|
||||
@@ -23,7 +23,7 @@ export const meta = {
|
||||
items: {
|
||||
type: 'object',
|
||||
optional: false, nullable: false,
|
||||
ref: 'UserDetailed',
|
||||
ref: 'Following',
|
||||
},
|
||||
},
|
||||
} as const;
|
||||
@@ -31,6 +31,7 @@ export const meta = {
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
notification: { type: 'boolean', default: false },
|
||||
sinceId: { type: 'string', format: 'misskey:id' },
|
||||
untilId: { type: 'string', format: 'misskey:id' },
|
||||
sinceDate: { type: 'integer' },
|
||||
@@ -45,22 +46,24 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
|
||||
@Inject(DI.followingsRepository)
|
||||
private followingsRepository: FollowingsRepository,
|
||||
|
||||
private userEntityService: UserEntityService,
|
||||
private followingEntityService: FollowingEntityService,
|
||||
private queryService: QueryService,
|
||||
) {
|
||||
super(meta, paramDef, async (ps, me) => {
|
||||
const query = this.queryService.makePaginationQuery(this.followingsRepository.createQueryBuilder('following'), ps.sinceId, ps.untilId, ps.sinceDate, ps.untilDate)
|
||||
.innerJoinAndSelect('following.followee', 'followee')
|
||||
.andWhere('following.followerId = :userId', { userId: me.id })
|
||||
.andWhere('following.notify IS NOT NULL');
|
||||
.andWhere('following.followerId = :userId', { userId: me.id });
|
||||
|
||||
if (ps.notification) {
|
||||
query.andWhere('following.notify IS NOT NULL');
|
||||
}
|
||||
|
||||
query.innerJoinAndSelect('following.followee', 'followee');
|
||||
|
||||
const followings = await query
|
||||
.limit(ps.limit)
|
||||
.getMany();
|
||||
|
||||
const users = followings.map(f => f.followee!);
|
||||
|
||||
return await this.userEntityService.packMany(users, me, { schema: 'UserDetailed' });
|
||||
return await this.followingEntityService.packMany(followings, me, { populateFollowee: true });
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -9,7 +9,7 @@ import { describe, beforeAll, test } from 'vitest';
|
||||
import { api, signup } from '../utils.js';
|
||||
import type * as misskey from 'misskey-js';
|
||||
|
||||
describe('users/notify/list', () => {
|
||||
describe('following/list', () => {
|
||||
let alice: misskey.entities.SignupResponse;
|
||||
let bob: misskey.entities.SignupResponse;
|
||||
let carol: misskey.entities.SignupResponse;
|
||||
@@ -24,11 +24,19 @@ describe('users/notify/list', () => {
|
||||
// alice が bob を普通にフォロー(通知設定なし)
|
||||
await api('following/create', { userId: bob.id }, alice);
|
||||
|
||||
const res = await api('users/notify/list', {}, alice);
|
||||
const res1 = await api('following/list', { notification: true }, alice);
|
||||
const res2 = await api('following/list', {}, alice);
|
||||
|
||||
assert.strictEqual(res.status, 200);
|
||||
assert.strictEqual(Array.isArray(res.body), true);
|
||||
assert.strictEqual(res.body.length, 0);
|
||||
// notification: true の場合は通知設定なしのフォローは返らない
|
||||
assert.strictEqual(res1.status, 200);
|
||||
assert.strictEqual(Array.isArray(res1.body), true);
|
||||
assert.strictEqual(res1.body.length, 0);
|
||||
|
||||
// notification パラメータなしの場合は通知設定なしのフォローも返る
|
||||
assert.strictEqual(res2.status, 200);
|
||||
assert.strictEqual(Array.isArray(res2.body), true);
|
||||
assert.strictEqual(res2.body.length, 1);
|
||||
assert.strictEqual(res2.body[0].followeeId, bob.id);
|
||||
});
|
||||
|
||||
test('通知設定ありのフォローがある場合、そのユーザーが返る', async () => {
|
||||
@@ -36,34 +44,42 @@ describe('users/notify/list', () => {
|
||||
await api('following/create', { userId: carol.id, withReplies: false }, alice);
|
||||
await api('following/update', { userId: carol.id, notify: 'normal' }, alice);
|
||||
|
||||
const res = await api('users/notify/list', {}, alice);
|
||||
const res = await api('following/list', { notification: true }, alice);
|
||||
|
||||
assert.strictEqual(res.status, 200);
|
||||
assert.strictEqual(res.body.length, 1);
|
||||
assert.strictEqual(res.body[0].id, carol.id);
|
||||
assert.strictEqual(res.body[0].followeeId, carol.id);
|
||||
});
|
||||
|
||||
test('複数ユーザーで通知設定ありの場合、全員返る', async () => {
|
||||
// bob にも通知設定をON
|
||||
await api('following/update', { userId: bob.id, notify: 'normal' }, alice);
|
||||
|
||||
const res = await api('users/notify/list', {}, alice);
|
||||
const res = await api('following/list', { notification: true }, alice);
|
||||
|
||||
assert.strictEqual(res.status, 200);
|
||||
assert.strictEqual(res.body.length, 2);
|
||||
|
||||
const ids = res.body.map((u: { id: string }) => u.id).sort();
|
||||
const ids = res.body.map((u) => u.followeeId).sort();
|
||||
assert.deepStrictEqual(ids, [bob.id, carol.id].sort());
|
||||
});
|
||||
|
||||
test('通知設定をOFF(none)にすると一覧から外れる', async () => {
|
||||
test('通知設定をOFF(none)にすると notification: true な一覧から外れる', async () => {
|
||||
await api('following/update', { userId: bob.id, notify: 'none' }, alice);
|
||||
|
||||
const res = await api('users/notify/list', {}, alice);
|
||||
const res1 = await api('following/list', { notification: true }, alice);
|
||||
const res2 = await api('following/list', {}, alice);
|
||||
|
||||
assert.strictEqual(res.status, 200);
|
||||
assert.strictEqual(res.body.length, 1);
|
||||
assert.strictEqual(res.body[0].id, carol.id);
|
||||
// notification: true の場合は bob は返らない
|
||||
assert.strictEqual(res1.status, 200);
|
||||
assert.strictEqual(res1.body.length, 1);
|
||||
assert.strictEqual(res1.body[0].followeeId, carol.id);
|
||||
|
||||
// notification パラメータなしの場合は bob も返る
|
||||
assert.strictEqual(res2.status, 200);
|
||||
assert.strictEqual(res2.body.length, 2);
|
||||
const ids = res2.body.map((u) => u.followeeId).sort();
|
||||
assert.deepStrictEqual(ids, [bob.id, carol.id].sort());
|
||||
});
|
||||
|
||||
test('他のユーザーの通知対象は見えない', async () => {
|
||||
@@ -72,14 +88,14 @@ describe('users/notify/list', () => {
|
||||
await api('following/update', { userId: carol.id, notify: 'normal' }, bob);
|
||||
|
||||
// alice の一覧には bob の通知設定は反映されない
|
||||
const aliceRes = await api('users/notify/list', {}, alice);
|
||||
const aliceIds = aliceRes.body.map((u: { id: string }) => u.id);
|
||||
const aliceRes = await api('following/list', { notification: true }, alice);
|
||||
const aliceIds = aliceRes.body.map((u) => u.followeeId);
|
||||
assert.strictEqual(aliceIds.includes(bob.id), false);
|
||||
|
||||
// bob の一覧には carol だけが含まれる
|
||||
const bobRes = await api('users/notify/list', {}, bob);
|
||||
const bobRes = await api('following/list', { notification: true }, bob);
|
||||
assert.strictEqual(bobRes.body.length, 1);
|
||||
assert.strictEqual(bobRes.body[0].id, carol.id);
|
||||
assert.strictEqual(bobRes.body[0].followeeId, carol.id);
|
||||
|
||||
// 後片付け: bob → carol のフォローを解除
|
||||
await api('following/delete', { userId: carol.id }, bob);
|
||||
@@ -114,18 +130,18 @@ describe('users/notify/list', () => {
|
||||
await api('following/update', { userId: bob.id, notify: 'normal' }, alice);
|
||||
|
||||
// limitなしだと2件返ることを確認
|
||||
const allRes = await api('users/notify/list', {}, alice);
|
||||
const allRes = await api('following/list', { notification: true }, alice);
|
||||
assert.strictEqual(allRes.status, 200);
|
||||
assert.strictEqual(allRes.body.length, 2);
|
||||
|
||||
// limit:1 で1件に絞られることを確認
|
||||
const res = await api('users/notify/list', { limit: 1 }, alice);
|
||||
const res = await api('following/list', { notification: true, limit: 1 }, alice);
|
||||
assert.strictEqual(res.status, 200);
|
||||
assert.strictEqual(res.body.length, 1);
|
||||
});
|
||||
|
||||
test('未認証の場合はエラー', async () => {
|
||||
const res = await api('users/notify/list', {});
|
||||
const res = await api('following/list', {});
|
||||
assert.strictEqual(res.status, 401);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -10,17 +10,17 @@
|
||||
"./*": "./js/*"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/estree": "1.0.8",
|
||||
"@types/estree": "1.0.9",
|
||||
"@types/node": "24.12.2",
|
||||
"@typescript-eslint/eslint-plugin": "8.59.0",
|
||||
"@typescript-eslint/parser": "8.59.0",
|
||||
"rollup": "4.60.2"
|
||||
"@typescript-eslint/eslint-plugin": "8.59.2",
|
||||
"@typescript-eslint/parser": "8.59.2",
|
||||
"rollup": "4.60.3"
|
||||
},
|
||||
"dependencies": {
|
||||
"estree-walker": "3.0.3",
|
||||
"i18n": "workspace:*",
|
||||
"magic-string": "0.30.21",
|
||||
"rolldown": "1.0.0-rc.15",
|
||||
"vite": "8.0.10"
|
||||
"rolldown": "1.0.0",
|
||||
"vite": "8.0.11"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,43 +22,43 @@
|
||||
"mfm-js": "0.26.0",
|
||||
"misskey-js": "workspace:*",
|
||||
"punycode.js": "2.3.1",
|
||||
"rollup": "4.60.2",
|
||||
"rollup": "4.60.3",
|
||||
"shiki": "4.0.2",
|
||||
"tinycolor2": "1.6.0",
|
||||
"uuid": "14.0.0",
|
||||
"vue": "3.5.33"
|
||||
"vue": "3.5.34"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@misskey-dev/emoji-assets": "17.0.3",
|
||||
"@misskey-dev/summaly": "5.3.0",
|
||||
"@tabler/icons-webfont": "3.35.0",
|
||||
"@testing-library/vue": "8.1.0",
|
||||
"@types/estree": "1.0.8",
|
||||
"@types/estree": "1.0.9",
|
||||
"@types/micromatch": "4.0.10",
|
||||
"@types/node": "24.12.2",
|
||||
"@types/punycode.js": "npm:@types/punycode@2.1.4",
|
||||
"@types/tinycolor2": "1.4.6",
|
||||
"@types/ws": "8.18.1",
|
||||
"@typescript-eslint/eslint-plugin": "8.59.0",
|
||||
"@typescript-eslint/parser": "8.59.0",
|
||||
"@typescript-eslint/eslint-plugin": "8.59.2",
|
||||
"@typescript-eslint/parser": "8.59.2",
|
||||
"@vitest/coverage-v8": "4.1.5",
|
||||
"@vue/runtime-core": "3.5.33",
|
||||
"@vue/runtime-core": "3.5.34",
|
||||
"acorn": "8.16.0",
|
||||
"cross-env": "10.1.0",
|
||||
"eslint-plugin-import": "2.32.0",
|
||||
"eslint-plugin-vue": "10.9.0",
|
||||
"eslint-plugin-vue": "10.9.1",
|
||||
"happy-dom": "20.9.0",
|
||||
"intersection-observer": "0.12.2",
|
||||
"micromatch": "4.0.8",
|
||||
"msw": "2.13.6",
|
||||
"msw": "2.14.3",
|
||||
"prettier": "3.8.3",
|
||||
"sass-embedded": "1.99.0",
|
||||
"start-server-and-test": "3.0.2",
|
||||
"tsx": "4.21.0",
|
||||
"vite": "8.0.10",
|
||||
"vite": "8.0.11",
|
||||
"vite-plugin-turbosnap": "1.0.3",
|
||||
"vue-component-type-helpers": "3.2.7",
|
||||
"vue-component-type-helpers": "3.2.8",
|
||||
"vue-eslint-parser": "10.4.0",
|
||||
"vue-tsc": "3.2.7"
|
||||
"vue-tsc": "3.2.8"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,9 +10,9 @@
|
||||
"devDependencies": {
|
||||
"@types/node": "24.12.2",
|
||||
"@types/tinycolor2": "1.4.6",
|
||||
"@typescript-eslint/eslint-plugin": "8.59.0",
|
||||
"@typescript-eslint/parser": "8.59.0",
|
||||
"eslint-plugin-vue": "10.9.0",
|
||||
"@typescript-eslint/eslint-plugin": "8.59.2",
|
||||
"@typescript-eslint/parser": "8.59.2",
|
||||
"eslint-plugin-vue": "10.9.1",
|
||||
"vue-eslint-parser": "10.4.0"
|
||||
},
|
||||
"files": [
|
||||
@@ -25,6 +25,6 @@
|
||||
"misskey-js": "workspace:*",
|
||||
"shiki": "4.0.2",
|
||||
"tinycolor2": "1.6.0",
|
||||
"vue": "3.5.33"
|
||||
"vue": "3.5.34"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
"@mcaptcha/core-glue": "0.1.0-alpha-5",
|
||||
"@misskey-dev/browser-image-resizer": "2024.1.0",
|
||||
"@misskey-dev/emoji-data": "17.0.3",
|
||||
"@sentry/vue": "10.50.0",
|
||||
"@sentry/vue": "10.52.0",
|
||||
"@simplewebauthn/browser": "13.3.0",
|
||||
"@syuilo/aiscript": "1.2.1",
|
||||
"@syuilo/aiscript-0-19-0": "npm:@syuilo/aiscript@^0.19.0",
|
||||
@@ -32,10 +32,10 @@
|
||||
"canvas-confetti": "1.9.4",
|
||||
"chart.js": "4.5.1",
|
||||
"chartjs-adapter-date-fns": "3.0.0",
|
||||
"chartjs-chart-matrix": "3.0.0",
|
||||
"chartjs-chart-matrix": "3.0.4",
|
||||
"chartjs-plugin-gradient": "0.6.1",
|
||||
"chartjs-plugin-zoom": "2.2.0",
|
||||
"chromatic": "16.6.0",
|
||||
"chromatic": "16.9.0",
|
||||
"compare-versions": "6.1.1",
|
||||
"cropperjs": "2.1.1",
|
||||
"date-fns": "4.1.0",
|
||||
@@ -47,11 +47,11 @@
|
||||
"icons-subsetter": "workspace:*",
|
||||
"idb-keyval": "6.2.2",
|
||||
"insert-text-at-cursor": "0.3.0",
|
||||
"ios-haptics": "0.1.4",
|
||||
"ios-haptics": "0.1.5",
|
||||
"is-file-animated": "1.0.2",
|
||||
"json5": "2.2.3",
|
||||
"matter-js": "0.20.0",
|
||||
"mediabunny": "1.41.0",
|
||||
"mediabunny": "1.44.1",
|
||||
"mfm-js": "0.26.0",
|
||||
"misskey-bubble-game": "workspace:*",
|
||||
"misskey-js": "workspace:*",
|
||||
@@ -60,14 +60,14 @@
|
||||
"punycode.js": "2.3.1",
|
||||
"qr-code-styling": "1.9.2",
|
||||
"qr-scanner": "1.4.2",
|
||||
"sanitize-html": "2.17.3",
|
||||
"sanitize-html": "2.17.4",
|
||||
"shiki": "4.0.2",
|
||||
"textarea-caret": "3.1.0",
|
||||
"three": "0.184.0",
|
||||
"throttle-debounce": "5.0.2",
|
||||
"tinycolor2": "1.6.0",
|
||||
"v-code-diff": "1.13.1",
|
||||
"vue": "3.5.33",
|
||||
"vue": "3.5.34",
|
||||
"wanakana": "5.3.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
@@ -77,7 +77,7 @@
|
||||
"@rollup/pluginutils": "5.3.0",
|
||||
"@storybook/addon-essentials": "8.6.18",
|
||||
"@storybook/addon-interactions": "8.6.18",
|
||||
"@storybook/addon-links": "10.3.5",
|
||||
"@storybook/addon-links": "10.3.6",
|
||||
"@storybook/addon-mdx-gfm": "8.6.18",
|
||||
"@storybook/addon-storysource": "8.6.18",
|
||||
"@storybook/blocks": "8.6.18",
|
||||
@@ -85,17 +85,17 @@
|
||||
"@storybook/core-events": "8.6.18",
|
||||
"@storybook/manager-api": "8.6.18",
|
||||
"@storybook/preview-api": "8.6.18",
|
||||
"@storybook/react": "10.3.5",
|
||||
"@storybook/react-vite": "10.3.5",
|
||||
"@storybook/react": "10.3.6",
|
||||
"@storybook/react-vite": "10.3.6",
|
||||
"@storybook/test": "8.6.18",
|
||||
"@storybook/theming": "8.6.18",
|
||||
"@storybook/types": "8.6.18",
|
||||
"@storybook/vue3": "10.3.5",
|
||||
"@storybook/vue3-vite": "10.3.5",
|
||||
"@storybook/vue3": "10.3.6",
|
||||
"@storybook/vue3-vite": "10.3.6",
|
||||
"@tabler/icons-webfont": "3.35.0",
|
||||
"@testing-library/vue": "8.1.0",
|
||||
"@types/canvas-confetti": "1.9.0",
|
||||
"@types/estree": "1.0.8",
|
||||
"@types/estree": "1.0.9",
|
||||
"@types/insert-text-at-cursor": "0.3.2",
|
||||
"@types/matter-js": "0.20.2",
|
||||
"@types/micromatch": "4.0.10",
|
||||
@@ -106,41 +106,41 @@
|
||||
"@types/textarea-caret": "3.0.4",
|
||||
"@types/throttle-debounce": "5.0.2",
|
||||
"@types/tinycolor2": "1.4.6",
|
||||
"@typescript-eslint/eslint-plugin": "8.59.0",
|
||||
"@typescript-eslint/parser": "8.59.0",
|
||||
"@typescript-eslint/eslint-plugin": "8.59.2",
|
||||
"@typescript-eslint/parser": "8.59.2",
|
||||
"@vitest/coverage-v8": "4.1.5",
|
||||
"@vue/compiler-core": "3.5.33",
|
||||
"@vue/compiler-core": "3.5.34",
|
||||
"acorn": "8.16.0",
|
||||
"astring": "1.9.0",
|
||||
"cross-env": "10.1.0",
|
||||
"cypress": "15.14.1",
|
||||
"cypress": "15.14.2",
|
||||
"eslint-plugin-import": "2.32.0",
|
||||
"eslint-plugin-vue": "10.9.0",
|
||||
"eslint-plugin-vue": "10.9.1",
|
||||
"estree-walker": "3.0.3",
|
||||
"happy-dom": "20.9.0",
|
||||
"intersection-observer": "0.12.2",
|
||||
"micromatch": "4.0.8",
|
||||
"minimatch": "10.2.5",
|
||||
"msw": "2.13.6",
|
||||
"msw": "2.14.3",
|
||||
"msw-storybook-addon": "2.0.7",
|
||||
"nodemon": "3.1.14",
|
||||
"prettier": "3.8.3",
|
||||
"react": "19.2.5",
|
||||
"react-dom": "19.2.5",
|
||||
"rolldown": "1.0.0-rc.15",
|
||||
"react": "19.2.6",
|
||||
"react-dom": "19.2.6",
|
||||
"rolldown": "1.0.0",
|
||||
"sass-embedded": "1.99.0",
|
||||
"seedrandom": "3.0.5",
|
||||
"start-server-and-test": "3.0.2",
|
||||
"storybook": "10.3.5",
|
||||
"storybook": "10.3.6",
|
||||
"storybook-addon-misskey-theme": "github:misskey-dev/storybook-addon-misskey-theme",
|
||||
"tsx": "4.21.0",
|
||||
"vite": "8.0.10",
|
||||
"vite": "8.0.11",
|
||||
"vite-plugin-glsl": "1.6.0",
|
||||
"vite-plugin-turbosnap": "1.0.3",
|
||||
"vitest": "4.1.5",
|
||||
"vitest-fetch-mock": "0.4.5",
|
||||
"vue-component-type-helpers": "3.2.7",
|
||||
"vue-component-type-helpers": "3.2.8",
|
||||
"vue-eslint-parser": "10.4.0",
|
||||
"vue-tsc": "3.2.7"
|
||||
"vue-tsc": "3.2.8"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -138,6 +138,7 @@ SPDX-License-Identifier: AGPL-3.0-only
|
||||
<script lang="ts" setup>
|
||||
import { nextTick, onBeforeUnmount, ref, useTemplateRef, computed } from 'vue';
|
||||
import { host, version } from '@@/js/config.js';
|
||||
import { DEFAULT_EMOJIS } from '@@/js/const.js';
|
||||
import FormLink from '@/components/form/link.vue';
|
||||
import FormSection from '@/components/form/section.vue';
|
||||
import MkButton from '@/components/MkButton.vue';
|
||||
@@ -150,7 +151,6 @@ import { definePage } from '@/page.js';
|
||||
import { claimAchievement, claimedAchievements } from '@/utility/achievements.js';
|
||||
import { $i } from '@/i.js';
|
||||
import { prefer } from '@/preferences.js';
|
||||
import { DEFAULT_EMOJIS } from '@@/js/const.js';
|
||||
|
||||
const patronsWithIcon = [{
|
||||
name: 'カイヤン',
|
||||
@@ -299,6 +299,9 @@ const patronsWithIcon = [{
|
||||
}, {
|
||||
name: '大賀愛一郎',
|
||||
icon: 'https://assets.misskey-hub.net/patrons/c701a797d1df4125970f25d3052250ac.jpg',
|
||||
}, {
|
||||
name: '西野マチ',
|
||||
icon: 'https://assets.misskey-hub.net/patrons/962ff1d2f3d040ed8973b62bbff84391.jpg',
|
||||
}];
|
||||
|
||||
const patrons = [
|
||||
@@ -414,6 +417,7 @@ const patrons = [
|
||||
'ほとラズ',
|
||||
'スズカケン',
|
||||
'蒼井よみこ',
|
||||
'忍猫',
|
||||
];
|
||||
|
||||
const thereIsTreasure = ref($i && !claimedAchievements.includes('foundTreasure'));
|
||||
|
||||
@@ -47,10 +47,10 @@ SPDX-License-Identifier: AGPL-3.0-only
|
||||
<div class="_gaps_s">
|
||||
<div v-for="item in items" :key="item.id" :class="[$style.userItem ]">
|
||||
<div :class="$style.userItemMain">
|
||||
<MkA :class="$style.userItemMainBody" :to="userPage(item)">
|
||||
<MkUserCardMini :user="item"/>
|
||||
<MkA :class="$style.userItemMainBody" :to="userPage(item.followee!)">
|
||||
<MkUserCardMini :user="item.followee!"/>
|
||||
</MkA>
|
||||
<button class="_button" :class="$style.notifyMenu" @click="showNotifyMenu(item, $event)"><i class="ti ti-dots"></i></button>
|
||||
<button class="_button" :class="$style.notifyMenu" @click="showNotifyMenu(item.followee!, $event)"><i class="ti ti-dots"></i></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -125,8 +125,11 @@ async function showNotifyMenu(user: Misskey.entities.UserDetailed, ev: PointerEv
|
||||
}], ev.currentTarget ?? ev.target);
|
||||
}
|
||||
|
||||
const notifyUserPaginator = markRaw(new Paginator('users/notify/list', {
|
||||
const notifyUserPaginator = markRaw(new Paginator('following/list', {
|
||||
limit: 10,
|
||||
params: {
|
||||
notification: true,
|
||||
},
|
||||
}));
|
||||
|
||||
const nonConfigurableNotificationTypes = ['note', 'roleAssigned', 'followRequestAccepted', 'test', 'exportCompleted'] as const satisfies (typeof notificationTypes[number])[];
|
||||
|
||||
@@ -30,8 +30,8 @@
|
||||
"devDependencies": {
|
||||
"@types/js-yaml": "4.0.9",
|
||||
"@types/node": "24.12.2",
|
||||
"@typescript-eslint/eslint-plugin": "8.59.0",
|
||||
"@typescript-eslint/parser": "8.59.0",
|
||||
"@typescript-eslint/eslint-plugin": "8.59.2",
|
||||
"@typescript-eslint/parser": "8.59.2",
|
||||
"chokidar": "5.0.0",
|
||||
"esbuild": "0.28.0",
|
||||
"execa": "9.6.1",
|
||||
|
||||
@@ -13,8 +13,8 @@
|
||||
"devDependencies": {
|
||||
"@types/node": "24.12.2",
|
||||
"@types/wawoff2": "1.0.2",
|
||||
"@typescript-eslint/eslint-plugin": "8.59.0",
|
||||
"@typescript-eslint/parser": "8.59.0"
|
||||
"@typescript-eslint/eslint-plugin": "8.59.2",
|
||||
"@typescript-eslint/parser": "8.59.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"@tabler/icons-webfont": "3.35.0",
|
||||
|
||||
@@ -27,8 +27,8 @@
|
||||
"@types/matter-js": "0.20.2",
|
||||
"@types/node": "24.12.2",
|
||||
"@types/seedrandom": "3.0.8",
|
||||
"@typescript-eslint/eslint-plugin": "8.59.0",
|
||||
"@typescript-eslint/parser": "8.59.0",
|
||||
"@typescript-eslint/eslint-plugin": "8.59.2",
|
||||
"@typescript-eslint/parser": "8.59.2",
|
||||
"esbuild": "0.28.0",
|
||||
"execa": "9.6.1",
|
||||
"nodemon": "3.1.14"
|
||||
|
||||
@@ -1884,6 +1884,8 @@ declare namespace entities {
|
||||
FollowingDeleteResponse,
|
||||
FollowingInvalidateRequest,
|
||||
FollowingInvalidateResponse,
|
||||
FollowingListRequest,
|
||||
FollowingListResponse,
|
||||
FollowingRequestsAcceptRequest,
|
||||
FollowingRequestsCancelRequest,
|
||||
FollowingRequestsCancelResponse,
|
||||
@@ -2162,8 +2164,6 @@ declare namespace entities {
|
||||
UsersListsUpdateMembershipRequest,
|
||||
UsersNotesRequest,
|
||||
UsersNotesResponse,
|
||||
UsersNotifyListRequest,
|
||||
UsersNotifyListResponse,
|
||||
UsersPagesRequest,
|
||||
UsersPagesResponse,
|
||||
UsersReactionsRequest,
|
||||
@@ -2403,6 +2403,12 @@ type FollowingInvalidateRequest = operations['following___invalidate']['requestB
|
||||
// @public (undocumented)
|
||||
type FollowingInvalidateResponse = operations['following___invalidate']['responses']['200']['content']['application/json'];
|
||||
|
||||
// @public (undocumented)
|
||||
type FollowingListRequest = operations['following___list']['requestBody']['content']['application/json'];
|
||||
|
||||
// @public (undocumented)
|
||||
type FollowingListResponse = operations['following___list']['responses']['200']['content']['application/json'];
|
||||
|
||||
// @public (undocumented)
|
||||
type FollowingRequestsAcceptRequest = operations['following___requests___accept']['requestBody']['content']['application/json'];
|
||||
|
||||
@@ -3829,12 +3835,6 @@ type UsersNotesRequest = operations['users___notes']['requestBody']['content']['
|
||||
// @public (undocumented)
|
||||
type UsersNotesResponse = operations['users___notes']['responses']['200']['content']['application/json'];
|
||||
|
||||
// @public (undocumented)
|
||||
type UsersNotifyListRequest = operations['users___notify___list']['requestBody']['content']['application/json'];
|
||||
|
||||
// @public (undocumented)
|
||||
type UsersNotifyListResponse = operations['users___notify___list']['responses']['200']['content']['application/json'];
|
||||
|
||||
// @public (undocumented)
|
||||
type UsersPagesRequest = operations['users___pages']['requestBody']['content']['application/json'];
|
||||
|
||||
|
||||
@@ -7,10 +7,10 @@
|
||||
"generate": "tsx src/generator.ts && eslint ./built/**/*.ts --fix"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@readme/openapi-parser": "6.0.1",
|
||||
"@readme/openapi-parser": "6.1.1",
|
||||
"@types/node": "24.12.2",
|
||||
"@typescript-eslint/eslint-plugin": "8.59.0",
|
||||
"@typescript-eslint/parser": "8.59.0",
|
||||
"@typescript-eslint/eslint-plugin": "8.59.2",
|
||||
"@typescript-eslint/parser": "8.59.2",
|
||||
"openapi-types": "12.1.3",
|
||||
"openapi-typescript": "7.13.0",
|
||||
"ts-case-convert": "2.1.0",
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"type": "module",
|
||||
"name": "misskey-js",
|
||||
"version": "2026.5.2-beta.0",
|
||||
"version": "2026.5.3",
|
||||
"description": "Misskey SDK for JavaScript",
|
||||
"license": "MIT",
|
||||
"main": "./built/index.js",
|
||||
@@ -39,8 +39,8 @@
|
||||
"devDependencies": {
|
||||
"@microsoft/api-extractor": "7.58.7",
|
||||
"@types/node": "24.12.2",
|
||||
"@typescript-eslint/eslint-plugin": "8.59.0",
|
||||
"@typescript-eslint/parser": "8.59.0",
|
||||
"@typescript-eslint/eslint-plugin": "8.59.2",
|
||||
"@typescript-eslint/parser": "8.59.2",
|
||||
"@vitest/coverage-v8": "4.1.5",
|
||||
"esbuild": "0.28.0",
|
||||
"execa": "9.6.1",
|
||||
|
||||
@@ -2570,6 +2570,17 @@ declare module '../api.js' {
|
||||
credential?: string | null,
|
||||
): Promise<SwitchCaseResponseType<E, P>>;
|
||||
|
||||
/**
|
||||
* List of following users
|
||||
*
|
||||
* **Credential required**: *Yes* / **Permission**: *read:following*
|
||||
*/
|
||||
request<E extends 'following/list', P extends Endpoints[E]['req']>(
|
||||
endpoint: E,
|
||||
params: P,
|
||||
credential?: string | null,
|
||||
): Promise<SwitchCaseResponseType<E, P>>;
|
||||
|
||||
/**
|
||||
* No description provided.
|
||||
*
|
||||
@@ -4697,17 +4708,6 @@ declare module '../api.js' {
|
||||
credential?: string | null,
|
||||
): Promise<SwitchCaseResponseType<E, P>>;
|
||||
|
||||
/**
|
||||
* List of following users with notification enabled.
|
||||
*
|
||||
* **Credential required**: *Yes* / **Permission**: *read:following*
|
||||
*/
|
||||
request<E extends 'users/notify/list', P extends Endpoints[E]['req']>(
|
||||
endpoint: E,
|
||||
params: P,
|
||||
credential?: string | null,
|
||||
): Promise<SwitchCaseResponseType<E, P>>;
|
||||
|
||||
/**
|
||||
* Show all pages this user created.
|
||||
*
|
||||
|
||||
@@ -360,6 +360,8 @@ import type {
|
||||
FollowingDeleteResponse,
|
||||
FollowingInvalidateRequest,
|
||||
FollowingInvalidateResponse,
|
||||
FollowingListRequest,
|
||||
FollowingListResponse,
|
||||
FollowingRequestsAcceptRequest,
|
||||
FollowingRequestsCancelRequest,
|
||||
FollowingRequestsCancelResponse,
|
||||
@@ -640,8 +642,6 @@ import type {
|
||||
UsersListsUpdateMembershipRequest,
|
||||
UsersNotesRequest,
|
||||
UsersNotesResponse,
|
||||
UsersNotifyListRequest,
|
||||
UsersNotifyListResponse,
|
||||
UsersPagesRequest,
|
||||
UsersPagesResponse,
|
||||
UsersReactionsRequest,
|
||||
@@ -896,6 +896,7 @@ export type Endpoints = {
|
||||
'following/create': { req: FollowingCreateRequest; res: FollowingCreateResponse };
|
||||
'following/delete': { req: FollowingDeleteRequest; res: FollowingDeleteResponse };
|
||||
'following/invalidate': { req: FollowingInvalidateRequest; res: FollowingInvalidateResponse };
|
||||
'following/list': { req: FollowingListRequest; res: FollowingListResponse };
|
||||
'following/requests/accept': { req: FollowingRequestsAcceptRequest; res: EmptyResponse };
|
||||
'following/requests/cancel': { req: FollowingRequestsCancelRequest; res: FollowingRequestsCancelResponse };
|
||||
'following/requests/list': { req: FollowingRequestsListRequest; res: FollowingRequestsListResponse };
|
||||
@@ -1086,7 +1087,6 @@ export type Endpoints = {
|
||||
'users/lists/update': { req: UsersListsUpdateRequest; res: UsersListsUpdateResponse };
|
||||
'users/lists/update-membership': { req: UsersListsUpdateMembershipRequest; res: EmptyResponse };
|
||||
'users/notes': { req: UsersNotesRequest; res: UsersNotesResponse };
|
||||
'users/notify/list': { req: UsersNotifyListRequest; res: UsersNotifyListResponse };
|
||||
'users/pages': { req: UsersPagesRequest; res: UsersPagesResponse };
|
||||
'users/reactions': { req: UsersReactionsRequest; res: UsersReactionsResponse };
|
||||
'users/recommendation': { req: UsersRecommendationRequest; res: UsersRecommendationResponse };
|
||||
|
||||
@@ -363,6 +363,8 @@ export type FollowingDeleteRequest = operations['following___delete']['requestBo
|
||||
export type FollowingDeleteResponse = operations['following___delete']['responses']['200']['content']['application/json'];
|
||||
export type FollowingInvalidateRequest = operations['following___invalidate']['requestBody']['content']['application/json'];
|
||||
export type FollowingInvalidateResponse = operations['following___invalidate']['responses']['200']['content']['application/json'];
|
||||
export type FollowingListRequest = operations['following___list']['requestBody']['content']['application/json'];
|
||||
export type FollowingListResponse = operations['following___list']['responses']['200']['content']['application/json'];
|
||||
export type FollowingRequestsAcceptRequest = operations['following___requests___accept']['requestBody']['content']['application/json'];
|
||||
export type FollowingRequestsCancelRequest = operations['following___requests___cancel']['requestBody']['content']['application/json'];
|
||||
export type FollowingRequestsCancelResponse = operations['following___requests___cancel']['responses']['200']['content']['application/json'];
|
||||
@@ -643,8 +645,6 @@ export type UsersListsUpdateResponse = operations['users___lists___update']['res
|
||||
export type UsersListsUpdateMembershipRequest = operations['users___lists___update-membership']['requestBody']['content']['application/json'];
|
||||
export type UsersNotesRequest = operations['users___notes']['requestBody']['content']['application/json'];
|
||||
export type UsersNotesResponse = operations['users___notes']['responses']['200']['content']['application/json'];
|
||||
export type UsersNotifyListRequest = operations['users___notify___list']['requestBody']['content']['application/json'];
|
||||
export type UsersNotifyListResponse = operations['users___notify___list']['responses']['200']['content']['application/json'];
|
||||
export type UsersPagesRequest = operations['users___pages']['requestBody']['content']['application/json'];
|
||||
export type UsersPagesResponse = operations['users___pages']['responses']['200']['content']['application/json'];
|
||||
export type UsersReactionsRequest = operations['users___reactions']['requestBody']['content']['application/json'];
|
||||
|
||||
@@ -2105,6 +2105,15 @@ export type paths = {
|
||||
*/
|
||||
post: operations['following___invalidate'];
|
||||
};
|
||||
'/following/list': {
|
||||
/**
|
||||
* following/list
|
||||
* @description List of following users
|
||||
*
|
||||
* **Credential required**: *Yes* / **Permission**: *read:following*
|
||||
*/
|
||||
post: operations['following___list'];
|
||||
};
|
||||
'/following/requests/accept': {
|
||||
/**
|
||||
* following/requests/accept
|
||||
@@ -3852,15 +3861,6 @@ export type paths = {
|
||||
*/
|
||||
post: operations['users___notes'];
|
||||
};
|
||||
'/users/notify/list': {
|
||||
/**
|
||||
* users/notify/list
|
||||
* @description List of following users with notification enabled.
|
||||
*
|
||||
* **Credential required**: *Yes* / **Permission**: *read:following*
|
||||
*/
|
||||
post: operations['users___notify___list'];
|
||||
};
|
||||
'/users/pages': {
|
||||
/**
|
||||
* users/pages
|
||||
@@ -22521,6 +22521,80 @@ export interface operations {
|
||||
};
|
||||
};
|
||||
};
|
||||
following___list: {
|
||||
requestBody: {
|
||||
content: {
|
||||
'application/json': {
|
||||
/** @default false */
|
||||
notification?: boolean;
|
||||
/** Format: misskey:id */
|
||||
sinceId?: string;
|
||||
/** Format: misskey:id */
|
||||
untilId?: string;
|
||||
sinceDate?: number;
|
||||
untilDate?: number;
|
||||
/** @default 10 */
|
||||
limit?: number;
|
||||
};
|
||||
};
|
||||
};
|
||||
responses: {
|
||||
/** @description OK (with results) */
|
||||
200: {
|
||||
headers: {
|
||||
[name: string]: unknown;
|
||||
};
|
||||
content: {
|
||||
'application/json': components['schemas']['Following'][];
|
||||
};
|
||||
};
|
||||
/** @description Client error */
|
||||
400: {
|
||||
headers: {
|
||||
[name: string]: unknown;
|
||||
};
|
||||
content: {
|
||||
'application/json': components['schemas']['Error'];
|
||||
};
|
||||
};
|
||||
/** @description Authentication error */
|
||||
401: {
|
||||
headers: {
|
||||
[name: string]: unknown;
|
||||
};
|
||||
content: {
|
||||
'application/json': components['schemas']['Error'];
|
||||
};
|
||||
};
|
||||
/** @description Forbidden error */
|
||||
403: {
|
||||
headers: {
|
||||
[name: string]: unknown;
|
||||
};
|
||||
content: {
|
||||
'application/json': components['schemas']['Error'];
|
||||
};
|
||||
};
|
||||
/** @description I'm Ai */
|
||||
418: {
|
||||
headers: {
|
||||
[name: string]: unknown;
|
||||
};
|
||||
content: {
|
||||
'application/json': components['schemas']['Error'];
|
||||
};
|
||||
};
|
||||
/** @description Internal server error */
|
||||
500: {
|
||||
headers: {
|
||||
[name: string]: unknown;
|
||||
};
|
||||
content: {
|
||||
'application/json': components['schemas']['Error'];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
following___requests___accept: {
|
||||
requestBody: {
|
||||
content: {
|
||||
@@ -36056,78 +36130,6 @@ export interface operations {
|
||||
};
|
||||
};
|
||||
};
|
||||
users___notify___list: {
|
||||
requestBody: {
|
||||
content: {
|
||||
'application/json': {
|
||||
/** Format: misskey:id */
|
||||
sinceId?: string;
|
||||
/** Format: misskey:id */
|
||||
untilId?: string;
|
||||
sinceDate?: number;
|
||||
untilDate?: number;
|
||||
/** @default 10 */
|
||||
limit?: number;
|
||||
};
|
||||
};
|
||||
};
|
||||
responses: {
|
||||
/** @description OK (with results) */
|
||||
200: {
|
||||
headers: {
|
||||
[name: string]: unknown;
|
||||
};
|
||||
content: {
|
||||
'application/json': components['schemas']['UserDetailed'][];
|
||||
};
|
||||
};
|
||||
/** @description Client error */
|
||||
400: {
|
||||
headers: {
|
||||
[name: string]: unknown;
|
||||
};
|
||||
content: {
|
||||
'application/json': components['schemas']['Error'];
|
||||
};
|
||||
};
|
||||
/** @description Authentication error */
|
||||
401: {
|
||||
headers: {
|
||||
[name: string]: unknown;
|
||||
};
|
||||
content: {
|
||||
'application/json': components['schemas']['Error'];
|
||||
};
|
||||
};
|
||||
/** @description Forbidden error */
|
||||
403: {
|
||||
headers: {
|
||||
[name: string]: unknown;
|
||||
};
|
||||
content: {
|
||||
'application/json': components['schemas']['Error'];
|
||||
};
|
||||
};
|
||||
/** @description I'm Ai */
|
||||
418: {
|
||||
headers: {
|
||||
[name: string]: unknown;
|
||||
};
|
||||
content: {
|
||||
'application/json': components['schemas']['Error'];
|
||||
};
|
||||
};
|
||||
/** @description Internal server error */
|
||||
500: {
|
||||
headers: {
|
||||
[name: string]: unknown;
|
||||
};
|
||||
content: {
|
||||
'application/json': components['schemas']['Error'];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
users___pages: {
|
||||
requestBody: {
|
||||
content: {
|
||||
|
||||
@@ -25,8 +25,8 @@
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "24.12.2",
|
||||
"@typescript-eslint/eslint-plugin": "8.59.0",
|
||||
"@typescript-eslint/parser": "8.59.0",
|
||||
"@typescript-eslint/eslint-plugin": "8.59.2",
|
||||
"@typescript-eslint/parser": "8.59.2",
|
||||
"esbuild": "0.28.0",
|
||||
"execa": "9.6.1",
|
||||
"nodemon": "3.1.14"
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
"misskey-js": "workspace:*"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@typescript-eslint/parser": "8.59.0",
|
||||
"@typescript-eslint/parser": "8.59.2",
|
||||
"@typescript/lib-webworker": "npm:@types/serviceworker@0.0.74",
|
||||
"eslint-plugin-import": "2.32.0",
|
||||
"nodemon": "3.1.14"
|
||||
|
||||
5974
pnpm-lock.yaml
generated
5974
pnpm-lock.yaml
generated
File diff suppressed because it is too large
Load Diff
@@ -11,26 +11,26 @@ packages:
|
||||
- packages/misskey-js/generator
|
||||
- packages/misskey-reversi
|
||||
- packages/misskey-bubble-game
|
||||
onlyBuiltDependencies:
|
||||
- '@nestjs/core'
|
||||
- '@parcel/watcher'
|
||||
- '@sentry/profiling-node'
|
||||
- '@sentry-internal/node-cpu-profiler'
|
||||
- '@tensorflow/tfjs-node'
|
||||
- bufferutil
|
||||
- canvas
|
||||
- core-js
|
||||
- cypress
|
||||
- esbuild
|
||||
- msgpackr-extract
|
||||
- msw
|
||||
- nice-napi
|
||||
- re2
|
||||
- sharp
|
||||
- utf-8-validate
|
||||
- v-code-diff
|
||||
- vue-demi
|
||||
ignorePatchFailures: false
|
||||
allowBuilds:
|
||||
'@nestjs/core': true
|
||||
'@parcel/watcher': true
|
||||
'@sentry/profiling-node': true
|
||||
'@sentry-internal/node-cpu-profiler': true
|
||||
'@tensorflow/tfjs-node': true
|
||||
bufferutil: true
|
||||
canvas: true
|
||||
core-js: true
|
||||
cypress: true
|
||||
esbuild: true
|
||||
msgpackr-extract: true
|
||||
msw: true
|
||||
nice-napi: true
|
||||
re2: true
|
||||
sharp: true
|
||||
utf-8-validate: true
|
||||
v-code-diff: true
|
||||
vue-demi: true
|
||||
exifreader: false
|
||||
minimumReleaseAge: 10080 # delay 7days to mitigate supply-chain attack
|
||||
minimumReleaseAgeExclude:
|
||||
- '@misskey-dev/*'
|
||||
@@ -52,3 +52,16 @@ minimumReleaseAgeExclude:
|
||||
- slacc-win32-arm64-msvc
|
||||
- slacc-win32-x64-msvc
|
||||
- '@typescript/native-preview*'
|
||||
- pnpm
|
||||
- re2 # そのうち消す
|
||||
- nan # そのうち消す
|
||||
- systeminformation # 脆弱性対応。そのうち消す
|
||||
- sanitize-html # 脆弱性対応。そのうち消す
|
||||
- launder # 脆弱性対応。そのうち消す
|
||||
overrides:
|
||||
'@aiscript-dev/aiscript-languageserver': '-'
|
||||
chokidar: 5.0.0
|
||||
lodash: 4.18.1
|
||||
engineStrict: true
|
||||
saveExact: true
|
||||
shellEmulator: true
|
||||
|
||||
168
scripts/changelog-checker/package-lock.json
generated
168
scripts/changelog-checker/package-lock.json
generated
@@ -16,7 +16,7 @@
|
||||
"remark-parse": "11.0.0",
|
||||
"typescript": "5.9.3",
|
||||
"unified": "11.0.5",
|
||||
"vite": "8.0.10",
|
||||
"vite": "8.0.11",
|
||||
"vite-node": "6.0.0",
|
||||
"vitest": "4.1.5"
|
||||
}
|
||||
@@ -163,9 +163,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@oxc-project/types": {
|
||||
"version": "0.127.0",
|
||||
"resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.127.0.tgz",
|
||||
"integrity": "sha512-aIYXQBo4lCbO4z0R3FHeucQHpF46l2LbMdxRvqvuRuW2OxdnSkcng5B8+K12spgLDj93rtN3+J2Vac/TIO+ciQ==",
|
||||
"version": "0.128.0",
|
||||
"resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.128.0.tgz",
|
||||
"integrity": "sha512-huv1Y/LzBJkBVHt3OlC7u0zHBW9qXf1FdD7sGmc1rXc2P1mTwHssYv7jyGx5KAACSCH+9B3Bhn6Z9luHRvf7pQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"funding": {
|
||||
@@ -173,9 +173,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-android-arm64": {
|
||||
"version": "1.0.0-rc.17",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0-rc.17.tgz",
|
||||
"integrity": "sha512-s70pVGhw4zqGeFnXWvAzJDlvxhlRollagdCCKRgOsgUOH3N1l0LIxf83AtGzmb5SiVM4Hjl5HyarMRfdfj3DaQ==",
|
||||
"version": "1.0.0-rc.18",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0-rc.18.tgz",
|
||||
"integrity": "sha512-lIDyUAfD7U3+BWKzdxMbJcsYHuqXqmGz40aeRqvuAm3y5TkJSYTBW2RDrn65DJFPQqVjUAUqq5uz8urzQ8aBdQ==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@@ -190,9 +190,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-darwin-arm64": {
|
||||
"version": "1.0.0-rc.17",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.0-rc.17.tgz",
|
||||
"integrity": "sha512-4ksWc9n0mhlZpZ9PMZgTGjeOPRu8MB1Z3Tz0Mo02eWfWCHMW1zN82Qz/pL/rC+yQa+8ZnutMF0JjJe7PjwasYw==",
|
||||
"version": "1.0.0-rc.18",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.0-rc.18.tgz",
|
||||
"integrity": "sha512-apJq2ktnGp27nSInMR5Vcj8kY6xJzDAvfdIFlpDcAK/w4cDO58qVoi1YQsES/SKiFNge/6e4CUzgjfHduYqWpQ==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@@ -207,9 +207,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-darwin-x64": {
|
||||
"version": "1.0.0-rc.17",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.0-rc.17.tgz",
|
||||
"integrity": "sha512-SUSDOI6WwUVNcWxd02QEBjLdY1VPHvlEkw6T/8nYG322iYWCTxRb1vzk4E+mWWYehTp7ERibq54LSJGjmouOsw==",
|
||||
"version": "1.0.0-rc.18",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.0-rc.18.tgz",
|
||||
"integrity": "sha512-5Ofot8xbs+pxRHJqm9/9N/4sTQOvdrwEsmPE9pdLEEoAbdZtG6F2LMDfO1sp6ZAtXJuJV/21ew2srq3W8NXB5g==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@@ -224,9 +224,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-freebsd-x64": {
|
||||
"version": "1.0.0-rc.17",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.0-rc.17.tgz",
|
||||
"integrity": "sha512-hwnz3nw9dbJ05EDO/PvcjaaewqqDy7Y1rn1UO81l8iIK1GjenME75dl16ajbvSSMfv66WXSRCYKIqfgq2KCfxw==",
|
||||
"version": "1.0.0-rc.18",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.0-rc.18.tgz",
|
||||
"integrity": "sha512-7h8eeOTT1eyqJyx64BFCnWZpNm486hGWt2sqeLLgDxA0xI1oGZ9H7gK1S85uNGmBhkdPwa/6reTxfFFKvIsebw==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@@ -241,9 +241,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-linux-arm-gnueabihf": {
|
||||
"version": "1.0.0-rc.17",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.0-rc.17.tgz",
|
||||
"integrity": "sha512-IS+W7epTcwANmFSQFrS1SivEXHtl1JtuQA9wlxrZTcNi6mx+FDOYrakGevvvTwgj2JvWiK8B29/qD9BELZPyXQ==",
|
||||
"version": "1.0.0-rc.18",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.0-rc.18.tgz",
|
||||
"integrity": "sha512-eRcm/HVt9U/JFu5RKAEKwGQYtDCKWLiaH6wOnsSEp6NMBb/3Os8LgHZlNyzMpFVNmiiMFlfb2zEnebfzJrHFmg==",
|
||||
"cpu": [
|
||||
"arm"
|
||||
],
|
||||
@@ -258,9 +258,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-linux-arm64-gnu": {
|
||||
"version": "1.0.0-rc.17",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.0-rc.17.tgz",
|
||||
"integrity": "sha512-e6usGaHKW5BMNZOymS1UcEYGowQMWcgZ71Z17Sl/h2+ZziNJ1a9n3Zvcz6LdRyIW5572wBCTH/Z+bKuZouGk9Q==",
|
||||
"version": "1.0.0-rc.18",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.0-rc.18.tgz",
|
||||
"integrity": "sha512-SOrT/cT4ukTmgnrEz/Hg3m7LBnuCLW9psDeMKrimRWY4I8DmnO7Lco8W2vtqPmMkbVu8iJ+g4GFLVLLOVjJ9DQ==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@@ -278,9 +278,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-linux-arm64-musl": {
|
||||
"version": "1.0.0-rc.17",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.0-rc.17.tgz",
|
||||
"integrity": "sha512-b/CgbwAJpmrRLp02RPfhbudf5tZnN9nsPWK82znefso832etkem8H7FSZwxrOI9djcdTP7U6YfNhbRnh7djErg==",
|
||||
"version": "1.0.0-rc.18",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.0-rc.18.tgz",
|
||||
"integrity": "sha512-QWjdxN1HJCpBTAcZ5N5F7wju3gVPzRzSpmGzx7na0c/1qpN9CFil+xt+l9lV/1M6/gqHSNXCiqPfwhVJPeLnug==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@@ -298,9 +298,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-linux-ppc64-gnu": {
|
||||
"version": "1.0.0-rc.17",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.0.0-rc.17.tgz",
|
||||
"integrity": "sha512-4EII1iNGRUN5WwGbF/kOh/EIkoDN9HsupgLQoXfY+D1oyJm7/F4t5PYU5n8SWZgG0FEwakyM8pGgwcBYruGTlA==",
|
||||
"version": "1.0.0-rc.18",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.0.0-rc.18.tgz",
|
||||
"integrity": "sha512-ugCOyj7a4d9h3q9B+wXmf6g3a68UsjGh6dob5DHevHGMwDUbhsYNbSPxJsENcIttJZ9jv7qGM2UesLw5jqIhdg==",
|
||||
"cpu": [
|
||||
"ppc64"
|
||||
],
|
||||
@@ -318,9 +318,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-linux-s390x-gnu": {
|
||||
"version": "1.0.0-rc.17",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.0.0-rc.17.tgz",
|
||||
"integrity": "sha512-AH8oq3XqQo4IibpVXvPeLDI5pzkpYn0WiZAfT05kFzoJ6tQNzwRdDYQ45M8I/gslbodRZwW8uxLhbSBbkv96rA==",
|
||||
"version": "1.0.0-rc.18",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.0.0-rc.18.tgz",
|
||||
"integrity": "sha512-kKWRhbsotpXkGbcd5dllUWg5gEXcDAa8u5YnP9AV5DYNbvJHGzzuwv7dpmhc8NqKMJldl0a+x76IHbspEpEmdA==",
|
||||
"cpu": [
|
||||
"s390x"
|
||||
],
|
||||
@@ -338,9 +338,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-linux-x64-gnu": {
|
||||
"version": "1.0.0-rc.17",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.0-rc.17.tgz",
|
||||
"integrity": "sha512-cLnjV3xfo7KslbU41Z7z8BH/E1y5mzUYzAqih1d1MDaIGZRCMqTijqLv76/P7fyHuvUcfGsIpqCdddbxLLK9rA==",
|
||||
"version": "1.0.0-rc.18",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.0-rc.18.tgz",
|
||||
"integrity": "sha512-uCo8ElcCIAMyYAZyuIZ81oFkhTSIllNvUCHCAlbhlN4ji3uC28h7IIdlXyIvGO7HsuqnV9p3rD/bpH7XhIyhRw==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@@ -358,9 +358,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-linux-x64-musl": {
|
||||
"version": "1.0.0-rc.17",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.0-rc.17.tgz",
|
||||
"integrity": "sha512-0phclDw1spsL7dUB37sIARuis2tAgomCJXAHZlpt8PXZ4Ba0dRP1e+66lsRqrfhISeN9bEGNjQs+T/Fbd7oYGw==",
|
||||
"version": "1.0.0-rc.18",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.0-rc.18.tgz",
|
||||
"integrity": "sha512-XNOQZtuE6yUIvx4rwGemwh8kpL1xvU41FXy/s9K7T/3JVcqGzo3NfKM2HrbrGgfPYGFW42f07Wk++aOC6B9NWA==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@@ -378,9 +378,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-openharmony-arm64": {
|
||||
"version": "1.0.0-rc.17",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.0-rc.17.tgz",
|
||||
"integrity": "sha512-0ag/hEgXOwgw4t8QyQvUCxvEg+V0KBcA6YuOx9g0r02MprutRF5dyljgm3EmR02O292UX7UeS6HzWHAl6KgyhA==",
|
||||
"version": "1.0.0-rc.18",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.0-rc.18.tgz",
|
||||
"integrity": "sha512-tSn/kzrfa7tNOXr7sEacDBN4YsIqTyLqh45IO0nHDwtpKIDNDJr+VFojt+4klSpChxB29JLyduSsE0MKEwa65A==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@@ -395,9 +395,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-wasm32-wasi": {
|
||||
"version": "1.0.0-rc.17",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.0-rc.17.tgz",
|
||||
"integrity": "sha512-LEXei6vo0E5wTGwpkJ4KoT3OZJRnglwldt5ziLzOlc6qqb55z4tWNq2A+PFqCJuvWWdP53CVhG1Z9NtToDPJrA==",
|
||||
"version": "1.0.0-rc.18",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.0-rc.18.tgz",
|
||||
"integrity": "sha512-+J9YGmc+czgqlhYmwun3S3O0FIZhsH8ep2456xwjAdIOmuJxM7xz4P4PtrxU+Bz17a/5bqPA8o3HAAoX0teUdg==",
|
||||
"cpu": [
|
||||
"wasm32"
|
||||
],
|
||||
@@ -414,9 +414,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-win32-arm64-msvc": {
|
||||
"version": "1.0.0-rc.17",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.0-rc.17.tgz",
|
||||
"integrity": "sha512-gUmyzBl3SPMa6hrqFUth9sVfcLBlYsbMzBx5PlexMroZStgzGqlZ26pYG89rBb45Mnia+oil6YAIFeEWGWhoZA==",
|
||||
"version": "1.0.0-rc.18",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.0-rc.18.tgz",
|
||||
"integrity": "sha512-zsu47DgU0FQzSwi6sU9dZoEdUv7pc1AptSEz/Z8HBg54sV0Pbs3N0+CrIbTsgiu6EyoaNN9CHboqbLaz9lhOyQ==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@@ -431,9 +431,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-win32-x64-msvc": {
|
||||
"version": "1.0.0-rc.17",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.0-rc.17.tgz",
|
||||
"integrity": "sha512-3hkiolcUAvPB9FLb3UZdfjVVNWherN1f/skkGWJP/fgSQhYUZpSIRr0/I8ZK9TkF3F7kxvJAk0+IcKvPHk9qQg==",
|
||||
"version": "1.0.0-rc.18",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.0-rc.18.tgz",
|
||||
"integrity": "sha512-7H+3yqGgmnlDTRRhw/xpYY9J1kf4GC681nVc4GqKhExZTDrVVrV2tsOR9kso0fvgBdcTCcQShx4SLLoHgaLwhg==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@@ -448,9 +448,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/pluginutils": {
|
||||
"version": "1.0.0-rc.17",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.17.tgz",
|
||||
"integrity": "sha512-n8iosDOt6Ig1UhJ2AYqoIhHWh/isz0xpicHTzpKBeotdVsTEcxsSA/i3EVM7gQAj0rU27OLAxCjzlj15IWY7bg==",
|
||||
"version": "1.0.0-rc.18",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.18.tgz",
|
||||
"integrity": "sha512-CUY5Mnhe64xQBGZEEXQ5WyZwsc1JU3vAZLIxtrsBt3LO6UOb+C8GunVKqe9sT8NeWb4lqSaoJtp2xo6GxT1MNw==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
@@ -462,9 +462,9 @@
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@tybys/wasm-util": {
|
||||
"version": "0.10.1",
|
||||
"resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.1.tgz",
|
||||
"integrity": "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==",
|
||||
"version": "0.10.2",
|
||||
"resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.2.tgz",
|
||||
"integrity": "sha512-RoBvJ2X0wuKlWFIjrwffGw1IqZHKQqzIchKaadZZfnNpsAYp2mM0h36JtPCjNDAHGgYez/15uMBpfGwchhiMgg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
@@ -1861,9 +1861,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/postcss": {
|
||||
"version": "8.5.13",
|
||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.13.tgz",
|
||||
"integrity": "sha512-qif0+jGGZoLWdHey3UFHHWP0H7Gbmsk8T5VEqyYFbWqPr1XqvLGBbk/sl8V5exGmcYJklJOhOQq1pV9IcsiFag==",
|
||||
"version": "8.5.14",
|
||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.14.tgz",
|
||||
"integrity": "sha512-SoSL4+OSEtR99LHFZQiJLkT59C5B1amGO1NzTwj7TT1qCUgUO6hxOvzkOYxD+vMrXBM3XJIKzokoERdqQq/Zmg==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
@@ -1937,14 +1937,14 @@
|
||||
}
|
||||
},
|
||||
"node_modules/rolldown": {
|
||||
"version": "1.0.0-rc.17",
|
||||
"resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.0.0-rc.17.tgz",
|
||||
"integrity": "sha512-ZrT53oAKrtA4+YtBWPQbtPOxIbVDbxT0orcYERKd63VJTF13zPcgXTvD4843L8pcsI7M6MErt8QtON6lrB9tyA==",
|
||||
"version": "1.0.0-rc.18",
|
||||
"resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.0.0-rc.18.tgz",
|
||||
"integrity": "sha512-phmyKBpuBdRYDf4hgyynGAYn/rDDe+iZXKVJ7WX5b1zQzpLkP5oJRPGsfJuHdzPMlyyEO/4sPW6yfSx2gf7lVg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@oxc-project/types": "=0.127.0",
|
||||
"@rolldown/pluginutils": "1.0.0-rc.17"
|
||||
"@oxc-project/types": "=0.128.0",
|
||||
"@rolldown/pluginutils": "1.0.0-rc.18"
|
||||
},
|
||||
"bin": {
|
||||
"rolldown": "bin/cli.mjs"
|
||||
@@ -1953,21 +1953,21 @@
|
||||
"node": "^20.19.0 || >=22.12.0"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"@rolldown/binding-android-arm64": "1.0.0-rc.17",
|
||||
"@rolldown/binding-darwin-arm64": "1.0.0-rc.17",
|
||||
"@rolldown/binding-darwin-x64": "1.0.0-rc.17",
|
||||
"@rolldown/binding-freebsd-x64": "1.0.0-rc.17",
|
||||
"@rolldown/binding-linux-arm-gnueabihf": "1.0.0-rc.17",
|
||||
"@rolldown/binding-linux-arm64-gnu": "1.0.0-rc.17",
|
||||
"@rolldown/binding-linux-arm64-musl": "1.0.0-rc.17",
|
||||
"@rolldown/binding-linux-ppc64-gnu": "1.0.0-rc.17",
|
||||
"@rolldown/binding-linux-s390x-gnu": "1.0.0-rc.17",
|
||||
"@rolldown/binding-linux-x64-gnu": "1.0.0-rc.17",
|
||||
"@rolldown/binding-linux-x64-musl": "1.0.0-rc.17",
|
||||
"@rolldown/binding-openharmony-arm64": "1.0.0-rc.17",
|
||||
"@rolldown/binding-wasm32-wasi": "1.0.0-rc.17",
|
||||
"@rolldown/binding-win32-arm64-msvc": "1.0.0-rc.17",
|
||||
"@rolldown/binding-win32-x64-msvc": "1.0.0-rc.17"
|
||||
"@rolldown/binding-android-arm64": "1.0.0-rc.18",
|
||||
"@rolldown/binding-darwin-arm64": "1.0.0-rc.18",
|
||||
"@rolldown/binding-darwin-x64": "1.0.0-rc.18",
|
||||
"@rolldown/binding-freebsd-x64": "1.0.0-rc.18",
|
||||
"@rolldown/binding-linux-arm-gnueabihf": "1.0.0-rc.18",
|
||||
"@rolldown/binding-linux-arm64-gnu": "1.0.0-rc.18",
|
||||
"@rolldown/binding-linux-arm64-musl": "1.0.0-rc.18",
|
||||
"@rolldown/binding-linux-ppc64-gnu": "1.0.0-rc.18",
|
||||
"@rolldown/binding-linux-s390x-gnu": "1.0.0-rc.18",
|
||||
"@rolldown/binding-linux-x64-gnu": "1.0.0-rc.18",
|
||||
"@rolldown/binding-linux-x64-musl": "1.0.0-rc.18",
|
||||
"@rolldown/binding-openharmony-arm64": "1.0.0-rc.18",
|
||||
"@rolldown/binding-wasm32-wasi": "1.0.0-rc.18",
|
||||
"@rolldown/binding-win32-arm64-msvc": "1.0.0-rc.18",
|
||||
"@rolldown/binding-win32-x64-msvc": "1.0.0-rc.18"
|
||||
}
|
||||
},
|
||||
"node_modules/semver": {
|
||||
@@ -2215,16 +2215,16 @@
|
||||
}
|
||||
},
|
||||
"node_modules/vite": {
|
||||
"version": "8.0.10",
|
||||
"resolved": "https://registry.npmjs.org/vite/-/vite-8.0.10.tgz",
|
||||
"integrity": "sha512-rZuUu9j6J5uotLDs+cAA4O5H4K1SfPliUlQwqa6YEwSrWDZzP4rhm00oJR5snMewjxF5V/K3D4kctsUTsIU9Mw==",
|
||||
"version": "8.0.11",
|
||||
"resolved": "https://registry.npmjs.org/vite/-/vite-8.0.11.tgz",
|
||||
"integrity": "sha512-Jz1mxtUBR5xTT65VOdJZUUeoyLtqljmFkiUXhPTLZka3RDc9vpi/xXkyrnsdRcm2lIi3l3GPMnAidTsEGIj3Ow==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"lightningcss": "^1.32.0",
|
||||
"picomatch": "^4.0.4",
|
||||
"postcss": "^8.5.10",
|
||||
"rolldown": "1.0.0-rc.17",
|
||||
"postcss": "^8.5.14",
|
||||
"rolldown": "1.0.0-rc.18",
|
||||
"tinyglobby": "^0.2.16"
|
||||
},
|
||||
"bin": {
|
||||
@@ -2241,7 +2241,7 @@
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@types/node": "^20.19.0 || >=22.12.0",
|
||||
"@vitejs/devtools": "^0.1.0",
|
||||
"@vitejs/devtools": "^0.1.18",
|
||||
"esbuild": "^0.27.0 || ^0.28.0",
|
||||
"jiti": ">=1.21.0",
|
||||
"less": "^4.0.0",
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
"remark-parse": "11.0.0",
|
||||
"typescript": "5.9.3",
|
||||
"unified": "11.0.5",
|
||||
"vite": "8.0.10",
|
||||
"vite": "8.0.11",
|
||||
"vite-node": "6.0.0",
|
||||
"vitest": "4.1.5"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user