fix(backend): 虚無ノートを投稿できる問題の修正と api.json
の OpenAPI Specification 3.1.0 への対応 (#12969)
* fix(backend): `text: null`だけのノートは投稿できないように * add test * Update CHANGELOG.md * chore: bump OpenAPI Specification from 3.0.0 to 3.1.0 * chore: テストがすでにコメントで記述されていたのでそっちを使うことにする * fix test * fix(backend): prohibit posting whitespace-only notes * Update CHANGELOG.md * fix(backend): `renoteId`または`fileIds`(`mediaIds`)または`poll`が`null`でない場合に、`text が空白文字のみで構成されたリクエストになることを許可して、結果は`text: null`を返すように * test(backend): 引用renoteで空白文字のみで構成されたtextにするとレスポンスが`text: null`になることをチェックするテストを追加 * fix(frontend): `text`が`null`であって`renoteId`と`replyId`が`null`でないようなノートは引用リノートとして表示するように * fix(misskey-js): OpenAPI 3.1に対応 * fix(misskey-js): 型生成をOpenAPI Specification 3.1.0に対応 * fix(ci): `validate-api.json`をOpenAPI Specification 3.1.0に対応 * fix(ci): スキーマ書き換えの際のミスを修正 * Revert "fix(frontend): `text`が`null`であって`renoteId`と`replyId`が`null`でないようなノートは引用リノートとして表示するように" This reverts commita9ca55343d
. * fix(misskey-js): `build-misskey-js-with-types`時は`api.json`のGETをスキップするように * Revert "fix(misskey-js): `build-misskey-js-with-types`時は`api.json`のGETをスキップするように" This reverts commit865458989f
. * fix(misskey-js): `openapi-parser`で`validate`のかわりに`parse`を用いるように * Update CHANGELOG.md
This commit is contained in:
parent
79370aaee2
commit
d792f4f348
6
.github/workflows/validate-api-json.yml
vendored
6
.github/workflows/validate-api-json.yml
vendored
|
@ -33,8 +33,8 @@ jobs:
|
||||||
with:
|
with:
|
||||||
node-version: ${{ matrix.node-version }}
|
node-version: ${{ matrix.node-version }}
|
||||||
cache: 'pnpm'
|
cache: 'pnpm'
|
||||||
- name: Install swagger-cli
|
- name: Install Redocly CLI
|
||||||
run: npm i -g swagger-cli
|
run: npm i -g @redocly/cli
|
||||||
- run: corepack enable
|
- run: corepack enable
|
||||||
- run: pnpm i --frozen-lockfile
|
- run: pnpm i --frozen-lockfile
|
||||||
- name: Check pnpm-lock.yaml
|
- name: Check pnpm-lock.yaml
|
||||||
|
@ -44,4 +44,4 @@ jobs:
|
||||||
- name: Build and generate
|
- name: Build and generate
|
||||||
run: pnpm build && pnpm --filter backend generate-api-json
|
run: pnpm build && pnpm --filter backend generate-api-json
|
||||||
- name: Validation
|
- name: Validation
|
||||||
run: swagger-cli validate ./packages/backend/built/api.json
|
run: npx @redocly/cli lint --extends=minimal ./packages/backend/built/api.json
|
||||||
|
|
|
@ -36,7 +36,10 @@
|
||||||
- Enhance: 連合先のレートリミットに引っかかった際にリトライするようになりました
|
- Enhance: 連合先のレートリミットに引っかかった際にリトライするようになりました
|
||||||
- Enhance: ActivityPub Deliver queueでBodyを事前処理するように (#12916)
|
- Enhance: ActivityPub Deliver queueでBodyを事前処理するように (#12916)
|
||||||
- Enhance: クリップをエクスポートできるように
|
- Enhance: クリップをエクスポートできるように
|
||||||
|
- Enhance: `api.json`のOpenAPI Specificationを3.1.0に更新
|
||||||
- Fix: `drive/files/update`でファイル名のバリデーションが機能していない問題を修正
|
- Fix: `drive/files/update`でファイル名のバリデーションが機能していない問題を修正
|
||||||
|
- Fix: `notes/create`で、`text`が空白文字のみで構成されているか`null`であって、かつ`text`だけであるリクエストに対するレスポンスが400になるように変更
|
||||||
|
- Fix: `notes/create`で、`text`が空白文字のみで構成されていてかつリノート、ファイルまたは投票を含んでいるリクエストに対するレスポンスの`text`が`""`から`null`になるように変更
|
||||||
|
|
||||||
## 2023.12.2
|
## 2023.12.2
|
||||||
|
|
||||||
|
|
|
@ -325,6 +325,9 @@ export class NoteCreateService implements OnApplicationShutdown {
|
||||||
data.text = data.text.slice(0, DB_MAX_NOTE_TEXT_LENGTH);
|
data.text = data.text.slice(0, DB_MAX_NOTE_TEXT_LENGTH);
|
||||||
}
|
}
|
||||||
data.text = data.text.trim();
|
data.text = data.text.trim();
|
||||||
|
if (data.text === '') {
|
||||||
|
data.text = null;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
data.text = null;
|
data.text = null;
|
||||||
}
|
}
|
||||||
|
|
|
@ -36,7 +36,7 @@ export const paramDef = {
|
||||||
untilId: { type: 'string', format: 'misskey:id' },
|
untilId: { type: 'string', format: 'misskey:id' },
|
||||||
folderId: { type: 'string', format: 'misskey:id', nullable: true, default: null },
|
folderId: { type: 'string', format: 'misskey:id', nullable: true, default: null },
|
||||||
type: { type: 'string', nullable: true, pattern: /^[a-zA-Z\/\-*]+$/.toString().slice(1, -1) },
|
type: { type: 'string', nullable: true, pattern: /^[a-zA-Z\/\-*]+$/.toString().slice(1, -1) },
|
||||||
sort: { type: 'string', nullable: true, enum: ['+createdAt', '-createdAt', '+name', '-name', '+size', '-size'] },
|
sort: { type: 'string', nullable: true, enum: ['+createdAt', '-createdAt', '+name', '-name', '+size', '-size', null] },
|
||||||
},
|
},
|
||||||
required: [],
|
required: [],
|
||||||
} as const;
|
} as const;
|
||||||
|
|
|
@ -60,6 +60,7 @@ export const paramDef = {
|
||||||
'-firstRetrievedAt',
|
'-firstRetrievedAt',
|
||||||
'+latestRequestReceivedAt',
|
'+latestRequestReceivedAt',
|
||||||
'-latestRequestReceivedAt',
|
'-latestRequestReceivedAt',
|
||||||
|
null,
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
|
@ -103,13 +103,13 @@ export const meta = {
|
||||||
items: {
|
items: {
|
||||||
type: 'string',
|
type: 'string',
|
||||||
enum: [
|
enum: [
|
||||||
"ble",
|
'ble',
|
||||||
"cable",
|
'cable',
|
||||||
"hybrid",
|
'hybrid',
|
||||||
"internal",
|
'internal',
|
||||||
"nfc",
|
'nfc',
|
||||||
"smart-card",
|
'smart-card',
|
||||||
"usb",
|
'usb',
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -123,8 +123,8 @@ export const meta = {
|
||||||
authenticatorAttachment: {
|
authenticatorAttachment: {
|
||||||
type: 'string',
|
type: 'string',
|
||||||
enum: [
|
enum: [
|
||||||
"cross-platform",
|
'cross-platform',
|
||||||
"platform",
|
'platform',
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
requireResidentKey: {
|
requireResidentKey: {
|
||||||
|
@ -133,9 +133,9 @@ export const meta = {
|
||||||
userVerification: {
|
userVerification: {
|
||||||
type: 'string',
|
type: 'string',
|
||||||
enum: [
|
enum: [
|
||||||
"discouraged",
|
'discouraged',
|
||||||
"preferred",
|
'preferred',
|
||||||
"required",
|
'required',
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -144,10 +144,11 @@ export const meta = {
|
||||||
type: 'string',
|
type: 'string',
|
||||||
nullable: true,
|
nullable: true,
|
||||||
enum: [
|
enum: [
|
||||||
"direct",
|
'direct',
|
||||||
"enterprise",
|
'enterprise',
|
||||||
"indirect",
|
'indirect',
|
||||||
"none",
|
'none',
|
||||||
|
null,
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
extensions: {
|
extensions: {
|
||||||
|
|
|
@ -34,11 +34,10 @@ describe('api:notes/create', () => {
|
||||||
.toBe(VALID);
|
.toBe(VALID);
|
||||||
});
|
});
|
||||||
|
|
||||||
// TODO
|
test('null post', () => {
|
||||||
//test('null post', () => {
|
expect(v({ text: null }))
|
||||||
// expect(v({ text: null }))
|
.toBe(INVALID);
|
||||||
// .toBe(INVALID);
|
});
|
||||||
//});
|
|
||||||
|
|
||||||
test('0 characters post', () => {
|
test('0 characters post', () => {
|
||||||
expect(v({ text: '' }))
|
expect(v({ text: '' }))
|
||||||
|
@ -49,6 +48,11 @@ describe('api:notes/create', () => {
|
||||||
expect(v({ text: await tooLong }))
|
expect(v({ text: await tooLong }))
|
||||||
.toBe(INVALID);
|
.toBe(INVALID);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test('whitespace-only post', () => {
|
||||||
|
expect(v({ text: ' ' }))
|
||||||
|
.toBe(INVALID);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('cw', () => {
|
describe('cw', () => {
|
||||||
|
|
|
@ -172,13 +172,33 @@ export const paramDef = {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
// (re)note with text, files and poll are optional
|
// (re)note with text, files and poll are optional
|
||||||
anyOf: [
|
if: {
|
||||||
{ required: ['text'] },
|
properties: {
|
||||||
{ required: ['renoteId'] },
|
renoteId: {
|
||||||
{ required: ['fileIds'] },
|
type: 'null',
|
||||||
{ required: ['mediaIds'] },
|
},
|
||||||
{ required: ['poll'] },
|
fileIds: {
|
||||||
],
|
type: 'null',
|
||||||
|
},
|
||||||
|
mediaIds: {
|
||||||
|
type: 'null',
|
||||||
|
},
|
||||||
|
poll: {
|
||||||
|
type: 'null',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
then: {
|
||||||
|
properties: {
|
||||||
|
text: {
|
||||||
|
type: 'string',
|
||||||
|
minLength: 1,
|
||||||
|
maxLength: MAX_NOTE_TEXT_LENGTH,
|
||||||
|
pattern: '[^\\s]+',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
required: ['text'],
|
||||||
|
},
|
||||||
} as const;
|
} as const;
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
|
|
|
@ -10,7 +10,7 @@ import { schemas, convertSchemaToOpenApiSchema } from './schemas.js';
|
||||||
|
|
||||||
export function genOpenapiSpec(config: Config) {
|
export function genOpenapiSpec(config: Config) {
|
||||||
const spec = {
|
const spec = {
|
||||||
openapi: '3.0.0',
|
openapi: '3.1.0',
|
||||||
|
|
||||||
info: {
|
info: {
|
||||||
version: config.version,
|
version: config.version,
|
||||||
|
@ -56,7 +56,7 @@ export function genOpenapiSpec(config: Config) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const resSchema = endpoint.meta.res ? convertSchemaToOpenApiSchema(endpoint.meta.res) : {};
|
const resSchema = endpoint.meta.res ? convertSchemaToOpenApiSchema(endpoint.meta.res, 'res') : {};
|
||||||
|
|
||||||
let desc = (endpoint.meta.description ? endpoint.meta.description : 'No description provided.') + '\n\n';
|
let desc = (endpoint.meta.description ? endpoint.meta.description : 'No description provided.') + '\n\n';
|
||||||
|
|
||||||
|
@ -71,7 +71,7 @@ export function genOpenapiSpec(config: Config) {
|
||||||
}
|
}
|
||||||
|
|
||||||
const requestType = endpoint.meta.requireFile ? 'multipart/form-data' : 'application/json';
|
const requestType = endpoint.meta.requireFile ? 'multipart/form-data' : 'application/json';
|
||||||
const schema = { ...endpoint.params };
|
const schema = { ...convertSchemaToOpenApiSchema(endpoint.params, 'param') };
|
||||||
|
|
||||||
if (endpoint.meta.requireFile) {
|
if (endpoint.meta.requireFile) {
|
||||||
schema.properties = {
|
schema.properties = {
|
||||||
|
@ -210,7 +210,9 @@ export function genOpenapiSpec(config: Config) {
|
||||||
};
|
};
|
||||||
|
|
||||||
spec.paths['/' + endpoint.name] = {
|
spec.paths['/' + endpoint.name] = {
|
||||||
...(endpoint.meta.allowGet ? { get: info } : {}),
|
...(endpoint.meta.allowGet ? {
|
||||||
|
get: info,
|
||||||
|
} : {}),
|
||||||
post: info,
|
post: info,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,32 +6,35 @@
|
||||||
import type { Schema } from '@/misc/json-schema.js';
|
import type { Schema } from '@/misc/json-schema.js';
|
||||||
import { refs } from '@/misc/json-schema.js';
|
import { refs } from '@/misc/json-schema.js';
|
||||||
|
|
||||||
export function convertSchemaToOpenApiSchema(schema: Schema) {
|
export function convertSchemaToOpenApiSchema(schema: Schema, type: 'param' | 'res') {
|
||||||
// optional, refはスキーマ定義に含まれないので分離しておく
|
// optional, nullable, refはスキーマ定義に含まれないので分離しておく
|
||||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||||
const { optional, ref, ...res }: any = schema;
|
const { optional, nullable, ref, ...res }: any = schema;
|
||||||
|
|
||||||
if (schema.type === 'object' && schema.properties) {
|
if (schema.type === 'object' && schema.properties) {
|
||||||
const required = Object.entries(schema.properties).filter(([k, v]) => !v.optional).map(([k]) => k);
|
if (type === 'res') {
|
||||||
if (required.length > 0) {
|
const required = Object.entries(schema.properties).filter(([k, v]) => !v.optional).map(([k]) => k);
|
||||||
|
if (required.length > 0) {
|
||||||
// 空配列は許可されない
|
// 空配列は許可されない
|
||||||
res.required = required;
|
res.required = required;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for (const k of Object.keys(schema.properties)) {
|
for (const k of Object.keys(schema.properties)) {
|
||||||
res.properties[k] = convertSchemaToOpenApiSchema(schema.properties[k]);
|
res.properties[k] = convertSchemaToOpenApiSchema(schema.properties[k], type);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (schema.type === 'array' && schema.items) {
|
if (schema.type === 'array' && schema.items) {
|
||||||
res.items = convertSchemaToOpenApiSchema(schema.items);
|
res.items = convertSchemaToOpenApiSchema(schema.items, type);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (schema.anyOf) res.anyOf = schema.anyOf.map(convertSchemaToOpenApiSchema);
|
for (const o of ['anyOf', 'oneOf', 'allOf'] as const) {
|
||||||
if (schema.oneOf) res.oneOf = schema.oneOf.map(convertSchemaToOpenApiSchema);
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
||||||
if (schema.allOf) res.allOf = schema.allOf.map(convertSchemaToOpenApiSchema);
|
if (o in schema) res[o] = schema[o]!.map(schema => convertSchemaToOpenApiSchema(schema, type));
|
||||||
|
}
|
||||||
|
|
||||||
if (schema.ref) {
|
if (type === 'res' && schema.ref) {
|
||||||
const $ref = `#/components/schemas/${schema.ref}`;
|
const $ref = `#/components/schemas/${schema.ref}`;
|
||||||
if (schema.nullable || schema.optional) {
|
if (schema.nullable || schema.optional) {
|
||||||
res.allOf = [{ $ref }];
|
res.allOf = [{ $ref }];
|
||||||
|
@ -40,6 +43,14 @@ export function convertSchemaToOpenApiSchema(schema: Schema) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (schema.nullable) {
|
||||||
|
if (Array.isArray(schema.type) && !schema.type.includes('null')) {
|
||||||
|
res.type.push('null');
|
||||||
|
} else if (typeof schema.type === 'string') {
|
||||||
|
res.type = [res.type, 'null'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -72,6 +83,6 @@ export const schemas = {
|
||||||
},
|
},
|
||||||
|
|
||||||
...Object.fromEntries(
|
...Object.fromEntries(
|
||||||
Object.entries(refs).map(([key, schema]) => [key, convertSchemaToOpenApiSchema(schema)]),
|
Object.entries(refs).map(([key, schema]) => [key, convertSchemaToOpenApiSchema(schema, 'res')]),
|
||||||
),
|
),
|
||||||
};
|
};
|
||||||
|
|
|
@ -136,6 +136,19 @@ describe('Note', () => {
|
||||||
assert.strictEqual(res.body.createdNote.renote.text, bobPost.text);
|
assert.strictEqual(res.body.createdNote.renote.text, bobPost.text);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test('引用renoteで空白文字のみで構成されたtextにするとレスポンスがtext: nullになる', async () => {
|
||||||
|
const bobPost = await post(bob, {
|
||||||
|
text: 'test',
|
||||||
|
});
|
||||||
|
const res = await api('/notes/create', {
|
||||||
|
text: ' ',
|
||||||
|
renoteId: bobPost.id,
|
||||||
|
}, alice);
|
||||||
|
|
||||||
|
assert.strictEqual(res.status, 200);
|
||||||
|
assert.strictEqual(res.body.createdNote.text, null);
|
||||||
|
});
|
||||||
|
|
||||||
test('visibility: followersでrenoteできる', async () => {
|
test('visibility: followersでrenoteできる', async () => {
|
||||||
const createRes = await api('/notes/create', {
|
const createRes = await api('/notes/create', {
|
||||||
text: 'test',
|
text: 'test',
|
||||||
|
|
|
@ -7,14 +7,14 @@
|
||||||
"generate": "tsx src/generator.ts && eslint ./built/**/* --ext .ts --fix"
|
"generate": "tsx src/generator.ts && eslint ./built/**/* --ext .ts --fix"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@apidevtools/swagger-parser": "10.1.0",
|
|
||||||
"@misskey-dev/eslint-plugin": "^1.0.0",
|
"@misskey-dev/eslint-plugin": "^1.0.0",
|
||||||
|
"@readme/openapi-parser": "2.5.0",
|
||||||
"@types/node": "20.9.1",
|
"@types/node": "20.9.1",
|
||||||
"@typescript-eslint/eslint-plugin": "6.11.0",
|
"@typescript-eslint/eslint-plugin": "6.11.0",
|
||||||
"@typescript-eslint/parser": "6.11.0",
|
"@typescript-eslint/parser": "6.11.0",
|
||||||
"eslint": "8.53.0",
|
"eslint": "8.53.0",
|
||||||
"openapi-types": "12.1.3",
|
"openapi-types": "12.1.3",
|
||||||
"openapi-typescript": "6.7.1",
|
"openapi-typescript": "6.7.3",
|
||||||
"ts-case-convert": "2.0.2",
|
"ts-case-convert": "2.0.2",
|
||||||
"tsx": "4.4.0",
|
"tsx": "4.4.0",
|
||||||
"typescript": "5.3.3"
|
"typescript": "5.3.3"
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
import { mkdir, writeFile } from 'fs/promises';
|
import { mkdir, writeFile } from 'fs/promises';
|
||||||
import { OpenAPIV3 } from 'openapi-types';
|
import { OpenAPIV3_1 } from 'openapi-types';
|
||||||
import { toPascal } from 'ts-case-convert';
|
import { toPascal } from 'ts-case-convert';
|
||||||
import SwaggerParser from '@apidevtools/swagger-parser';
|
import OpenAPIParser from '@readme/openapi-parser';
|
||||||
import openapiTS from 'openapi-typescript';
|
import openapiTS from 'openapi-typescript';
|
||||||
|
|
||||||
function generateVersionHeaderComment(openApiDocs: OpenAPIV3.Document): string {
|
function generateVersionHeaderComment(openApiDocs: OpenAPIV3_1.Document): string {
|
||||||
const contents = {
|
const contents = {
|
||||||
version: openApiDocs.info.version,
|
version: openApiDocs.info.version,
|
||||||
generatedAt: new Date().toISOString(),
|
generatedAt: new Date().toISOString(),
|
||||||
|
@ -21,7 +21,7 @@ function generateVersionHeaderComment(openApiDocs: OpenAPIV3.Document): string {
|
||||||
}
|
}
|
||||||
|
|
||||||
async function generateBaseTypes(
|
async function generateBaseTypes(
|
||||||
openApiDocs: OpenAPIV3.Document,
|
openApiDocs: OpenAPIV3_1.Document,
|
||||||
openApiJsonPath: string,
|
openApiJsonPath: string,
|
||||||
typeFileName: string,
|
typeFileName: string,
|
||||||
) {
|
) {
|
||||||
|
@ -47,7 +47,7 @@ async function generateBaseTypes(
|
||||||
}
|
}
|
||||||
|
|
||||||
async function generateSchemaEntities(
|
async function generateSchemaEntities(
|
||||||
openApiDocs: OpenAPIV3.Document,
|
openApiDocs: OpenAPIV3_1.Document,
|
||||||
typeFileName: string,
|
typeFileName: string,
|
||||||
outputPath: string,
|
outputPath: string,
|
||||||
) {
|
) {
|
||||||
|
@ -71,7 +71,7 @@ async function generateSchemaEntities(
|
||||||
}
|
}
|
||||||
|
|
||||||
async function generateEndpoints(
|
async function generateEndpoints(
|
||||||
openApiDocs: OpenAPIV3.Document,
|
openApiDocs: OpenAPIV3_1.Document,
|
||||||
typeFileName: string,
|
typeFileName: string,
|
||||||
entitiesOutputPath: string,
|
entitiesOutputPath: string,
|
||||||
endpointOutputPath: string,
|
endpointOutputPath: string,
|
||||||
|
@ -79,7 +79,7 @@ async function generateEndpoints(
|
||||||
const endpoints: Endpoint[] = [];
|
const endpoints: Endpoint[] = [];
|
||||||
|
|
||||||
// misskey-jsはPOST固定で送っているので、こちらも決め打ちする。別メソッドに対応することがあればこちらも直す必要あり
|
// misskey-jsはPOST固定で送っているので、こちらも決め打ちする。別メソッドに対応することがあればこちらも直す必要あり
|
||||||
const paths = openApiDocs.paths;
|
const paths = openApiDocs.paths ?? {};
|
||||||
const postPathItems = Object.keys(paths)
|
const postPathItems = Object.keys(paths)
|
||||||
.map(it => paths[it]?.post)
|
.map(it => paths[it]?.post)
|
||||||
.filter(filterUndefined);
|
.filter(filterUndefined);
|
||||||
|
@ -160,7 +160,7 @@ async function generateEndpoints(
|
||||||
}
|
}
|
||||||
|
|
||||||
async function generateApiClientJSDoc(
|
async function generateApiClientJSDoc(
|
||||||
openApiDocs: OpenAPIV3.Document,
|
openApiDocs: OpenAPIV3_1.Document,
|
||||||
apiClientFileName: string,
|
apiClientFileName: string,
|
||||||
endpointsFileName: string,
|
endpointsFileName: string,
|
||||||
warningsOutputPath: string,
|
warningsOutputPath: string,
|
||||||
|
@ -168,7 +168,7 @@ async function generateApiClientJSDoc(
|
||||||
const endpoints: { operationId: string; description: string; }[] = [];
|
const endpoints: { operationId: string; description: string; }[] = [];
|
||||||
|
|
||||||
// misskey-jsはPOST固定で送っているので、こちらも決め打ちする。別メソッドに対応することがあればこちらも直す必要あり
|
// misskey-jsはPOST固定で送っているので、こちらも決め打ちする。別メソッドに対応することがあればこちらも直す必要あり
|
||||||
const paths = openApiDocs.paths;
|
const paths = openApiDocs.paths ?? {};
|
||||||
const postPathItems = Object.keys(paths)
|
const postPathItems = Object.keys(paths)
|
||||||
.map(it => paths[it]?.post)
|
.map(it => paths[it]?.post)
|
||||||
.filter(filterUndefined);
|
.filter(filterUndefined);
|
||||||
|
@ -221,21 +221,21 @@ async function generateApiClientJSDoc(
|
||||||
await writeFile(warningsOutputPath, endpointOutputLine.join('\n'));
|
await writeFile(warningsOutputPath, endpointOutputLine.join('\n'));
|
||||||
}
|
}
|
||||||
|
|
||||||
function isRequestBodyObject(value: unknown): value is OpenAPIV3.RequestBodyObject {
|
function isRequestBodyObject(value: unknown): value is OpenAPIV3_1.RequestBodyObject {
|
||||||
if (!value) {
|
if (!value) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
const { content } = value as Record<keyof OpenAPIV3.RequestBodyObject, unknown>;
|
const { content } = value as Record<keyof OpenAPIV3_1.RequestBodyObject, unknown>;
|
||||||
return content !== undefined;
|
return content !== undefined;
|
||||||
}
|
}
|
||||||
|
|
||||||
function isResponseObject(value: unknown): value is OpenAPIV3.ResponseObject {
|
function isResponseObject(value: unknown): value is OpenAPIV3_1.ResponseObject {
|
||||||
if (!value) {
|
if (!value) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
const { description } = value as Record<keyof OpenAPIV3.ResponseObject, unknown>;
|
const { description } = value as Record<keyof OpenAPIV3_1.ResponseObject, unknown>;
|
||||||
return description !== undefined;
|
return description !== undefined;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -330,7 +330,7 @@ async function main() {
|
||||||
await mkdir(generatePath, { recursive: true });
|
await mkdir(generatePath, { recursive: true });
|
||||||
|
|
||||||
const openApiJsonPath = './api.json';
|
const openApiJsonPath = './api.json';
|
||||||
const openApiDocs = await SwaggerParser.validate(openApiJsonPath) as OpenAPIV3.Document;
|
const openApiDocs = await OpenAPIParser.parse(openApiJsonPath) as OpenAPIV3_1.Document;
|
||||||
|
|
||||||
const typeFileName = './built/autogen/types.ts';
|
const typeFileName = './built/autogen/types.ts';
|
||||||
await generateBaseTypes(openApiDocs, openApiJsonPath, typeFileName);
|
await generateBaseTypes(openApiDocs, openApiJsonPath, typeFileName);
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
* version: 2023.12.2
|
* version: 2023.12.2
|
||||||
* generatedAt: 2024-01-11T14:29:04.817Z
|
* generatedAt: 2024-01-13T04:31:38.782Z
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import type { SwitchCaseResponseType } from '../api.js';
|
import type { SwitchCaseResponseType } from '../api.js';
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
* version: 2023.12.2
|
* version: 2023.12.2
|
||||||
* generatedAt: 2024-01-11T14:29:04.814Z
|
* generatedAt: 2024-01-13T04:31:38.778Z
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import type {
|
import type {
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
* version: 2023.12.2
|
* version: 2023.12.2
|
||||||
* generatedAt: 2024-01-11T14:29:04.811Z
|
* generatedAt: 2024-01-13T04:31:38.775Z
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { operations } from './types.js';
|
import { operations } from './types.js';
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
* version: 2023.12.2
|
* version: 2023.12.2
|
||||||
* generatedAt: 2024-01-11T14:29:04.810Z
|
* generatedAt: 2024-01-13T04:31:38.773Z
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { components } from './types.js';
|
import { components } from './types.js';
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* version: 2023.12.2
|
* version: 2023.12.2
|
||||||
* generatedAt: 2024-01-11T14:29:04.681Z
|
* generatedAt: 2024-01-13T04:31:38.633Z
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -3816,7 +3816,7 @@ export type components = {
|
||||||
fileIds?: string[];
|
fileIds?: string[];
|
||||||
files?: components['schemas']['DriveFile'][];
|
files?: components['schemas']['DriveFile'][];
|
||||||
tags?: string[];
|
tags?: string[];
|
||||||
poll?: Record<string, unknown> | null;
|
poll?: Record<string, never> | null;
|
||||||
/**
|
/**
|
||||||
* Format: id
|
* Format: id
|
||||||
* @example xxxxxxxxxx
|
* @example xxxxxxxxxx
|
||||||
|
@ -3839,7 +3839,7 @@ export type components = {
|
||||||
url?: string;
|
url?: string;
|
||||||
reactionAndUserPairCache?: string[];
|
reactionAndUserPairCache?: string[];
|
||||||
clippedCount?: number;
|
clippedCount?: number;
|
||||||
myReaction?: Record<string, unknown> | null;
|
myReaction?: Record<string, never> | null;
|
||||||
};
|
};
|
||||||
NoteReaction: {
|
NoteReaction: {
|
||||||
/**
|
/**
|
||||||
|
|
203
pnpm-lock.yaml
203
pnpm-lock.yaml
|
@ -1080,12 +1080,12 @@ importers:
|
||||||
|
|
||||||
packages/misskey-js/generator:
|
packages/misskey-js/generator:
|
||||||
devDependencies:
|
devDependencies:
|
||||||
'@apidevtools/swagger-parser':
|
|
||||||
specifier: 10.1.0
|
|
||||||
version: 10.1.0(openapi-types@12.1.3)
|
|
||||||
'@misskey-dev/eslint-plugin':
|
'@misskey-dev/eslint-plugin':
|
||||||
specifier: ^1.0.0
|
specifier: ^1.0.0
|
||||||
version: 1.0.0(@typescript-eslint/eslint-plugin@6.11.0)(@typescript-eslint/parser@6.11.0)(eslint-plugin-import@2.29.1)(eslint@8.53.0)
|
version: 1.0.0(@typescript-eslint/eslint-plugin@6.11.0)(@typescript-eslint/parser@6.11.0)(eslint-plugin-import@2.29.1)(eslint@8.53.0)
|
||||||
|
'@readme/openapi-parser':
|
||||||
|
specifier: 2.5.0
|
||||||
|
version: 2.5.0(openapi-types@12.1.3)
|
||||||
'@types/node':
|
'@types/node':
|
||||||
specifier: 20.9.1
|
specifier: 20.9.1
|
||||||
version: 20.9.1
|
version: 20.9.1
|
||||||
|
@ -1102,8 +1102,8 @@ importers:
|
||||||
specifier: 12.1.3
|
specifier: 12.1.3
|
||||||
version: 12.1.3
|
version: 12.1.3
|
||||||
openapi-typescript:
|
openapi-typescript:
|
||||||
specifier: 6.7.1
|
specifier: 6.7.3
|
||||||
version: 6.7.1
|
version: 6.7.3
|
||||||
ts-case-convert:
|
ts-case-convert:
|
||||||
specifier: 2.0.2
|
specifier: 2.0.2
|
||||||
version: 2.0.2
|
version: 2.0.2
|
||||||
|
@ -1167,14 +1167,6 @@ packages:
|
||||||
'@jridgewell/trace-mapping': 0.3.18
|
'@jridgewell/trace-mapping': 0.3.18
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@apidevtools/json-schema-ref-parser@9.0.6:
|
|
||||||
resolution: {integrity: sha512-M3YgsLjI0lZxvrpeGVk9Ap032W6TPQkH6pRAZz81Ac3WUNF79VQooAFnp8umjvVzUmD93NkogxEwbSce7qMsUg==}
|
|
||||||
dependencies:
|
|
||||||
'@jsdevtools/ono': 7.1.3
|
|
||||||
call-me-maybe: 1.0.2
|
|
||||||
js-yaml: 3.14.1
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@apidevtools/openapi-schemas@2.1.0:
|
/@apidevtools/openapi-schemas@2.1.0:
|
||||||
resolution: {integrity: sha512-Zc1AlqrJlX3SlpupFGpiLi2EbteyP7fXmUOGup6/DnkRgjP9bgMM/ag+n91rsv0U1Gpz0H3VILA/o3bW7Ua6BQ==}
|
resolution: {integrity: sha512-Zc1AlqrJlX3SlpupFGpiLi2EbteyP7fXmUOGup6/DnkRgjP9bgMM/ag+n91rsv0U1Gpz0H3VILA/o3bW7Ua6BQ==}
|
||||||
engines: {node: '>=10'}
|
engines: {node: '>=10'}
|
||||||
|
@ -1184,21 +1176,6 @@ packages:
|
||||||
resolution: {integrity: sha512-QAkD5kK2b1WfjDS/UQn/qQkbwF31uqRjPTrsCs5ZG9BQGAkjwvqGFjjPqAuzac/IYzpPtRzjCP1WrTuAIjMrXg==}
|
resolution: {integrity: sha512-QAkD5kK2b1WfjDS/UQn/qQkbwF31uqRjPTrsCs5ZG9BQGAkjwvqGFjjPqAuzac/IYzpPtRzjCP1WrTuAIjMrXg==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@apidevtools/swagger-parser@10.1.0(openapi-types@12.1.3):
|
|
||||||
resolution: {integrity: sha512-9Kt7EuS/7WbMAUv2gSziqjvxwDbFSg3Xeyfuj5laUODX8o/k/CpsAKiQ8W7/R88eXFTMbJYg6+7uAmOWNKmwnw==}
|
|
||||||
peerDependencies:
|
|
||||||
openapi-types: '>=7'
|
|
||||||
dependencies:
|
|
||||||
'@apidevtools/json-schema-ref-parser': 9.0.6
|
|
||||||
'@apidevtools/openapi-schemas': 2.1.0
|
|
||||||
'@apidevtools/swagger-methods': 3.0.2
|
|
||||||
'@jsdevtools/ono': 7.1.3
|
|
||||||
ajv: 8.12.0
|
|
||||||
ajv-draft-04: 1.0.0(ajv@8.12.0)
|
|
||||||
call-me-maybe: 1.0.2
|
|
||||||
openapi-types: 12.1.3
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@aw-web-design/x-default-browser@1.4.126:
|
/@aw-web-design/x-default-browser@1.4.126:
|
||||||
resolution: {integrity: sha512-Xk1sIhyNC/esHGGVjL/niHLowM0csl/kFO5uawBy4IrWwy0o1G8LGt3jP6nmWGz+USxeeqbihAmp/oVZju6wug==}
|
resolution: {integrity: sha512-Xk1sIhyNC/esHGGVjL/niHLowM0csl/kFO5uawBy4IrWwy0o1G8LGt3jP6nmWGz+USxeeqbihAmp/oVZju6wug==}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
@ -1835,7 +1812,7 @@ packages:
|
||||||
'@babel/traverse': 7.22.11
|
'@babel/traverse': 7.22.11
|
||||||
'@babel/types': 7.22.17
|
'@babel/types': 7.22.17
|
||||||
convert-source-map: 1.9.0
|
convert-source-map: 1.9.0
|
||||||
debug: 4.3.4(supports-color@5.5.0)
|
debug: 4.3.4(supports-color@8.1.1)
|
||||||
gensync: 1.0.0-beta.2
|
gensync: 1.0.0-beta.2
|
||||||
json5: 2.2.3
|
json5: 2.2.3
|
||||||
semver: 6.3.1
|
semver: 6.3.1
|
||||||
|
@ -1858,7 +1835,7 @@ packages:
|
||||||
'@babel/traverse': 7.23.5
|
'@babel/traverse': 7.23.5
|
||||||
'@babel/types': 7.23.5
|
'@babel/types': 7.23.5
|
||||||
convert-source-map: 2.0.0
|
convert-source-map: 2.0.0
|
||||||
debug: 4.3.4(supports-color@5.5.0)
|
debug: 4.3.4(supports-color@8.1.1)
|
||||||
gensync: 1.0.0-beta.2
|
gensync: 1.0.0-beta.2
|
||||||
json5: 2.2.3
|
json5: 2.2.3
|
||||||
semver: 6.3.1
|
semver: 6.3.1
|
||||||
|
@ -1960,7 +1937,7 @@ packages:
|
||||||
'@babel/core': 7.23.5
|
'@babel/core': 7.23.5
|
||||||
'@babel/helper-compilation-targets': 7.22.15
|
'@babel/helper-compilation-targets': 7.22.15
|
||||||
'@babel/helper-plugin-utils': 7.22.5
|
'@babel/helper-plugin-utils': 7.22.5
|
||||||
debug: 4.3.4(supports-color@5.5.0)
|
debug: 4.3.4(supports-color@8.1.1)
|
||||||
lodash.debounce: 4.0.8
|
lodash.debounce: 4.0.8
|
||||||
resolve: 1.22.8
|
resolve: 1.22.8
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
|
@ -3328,7 +3305,6 @@ packages:
|
||||||
engines: {node: '>=6.9.0'}
|
engines: {node: '>=6.9.0'}
|
||||||
dependencies:
|
dependencies:
|
||||||
regenerator-runtime: 0.14.0
|
regenerator-runtime: 0.14.0
|
||||||
dev: false
|
|
||||||
|
|
||||||
/@babel/template@7.22.15:
|
/@babel/template@7.22.15:
|
||||||
resolution: {integrity: sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==}
|
resolution: {integrity: sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==}
|
||||||
|
@ -3360,7 +3336,7 @@ packages:
|
||||||
'@babel/helper-split-export-declaration': 7.22.6
|
'@babel/helper-split-export-declaration': 7.22.6
|
||||||
'@babel/parser': 7.23.5
|
'@babel/parser': 7.23.5
|
||||||
'@babel/types': 7.22.17
|
'@babel/types': 7.22.17
|
||||||
debug: 4.3.4(supports-color@5.5.0)
|
debug: 4.3.4(supports-color@8.1.1)
|
||||||
globals: 11.12.0
|
globals: 11.12.0
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
@ -3378,7 +3354,7 @@ packages:
|
||||||
'@babel/helper-split-export-declaration': 7.22.6
|
'@babel/helper-split-export-declaration': 7.22.6
|
||||||
'@babel/parser': 7.23.5
|
'@babel/parser': 7.23.5
|
||||||
'@babel/types': 7.23.5
|
'@babel/types': 7.23.5
|
||||||
debug: 4.3.4(supports-color@5.5.0)
|
debug: 4.3.4(supports-color@8.1.1)
|
||||||
globals: 11.12.0
|
globals: 11.12.0
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
@ -4257,7 +4233,7 @@ packages:
|
||||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||||
dependencies:
|
dependencies:
|
||||||
ajv: 6.12.6
|
ajv: 6.12.6
|
||||||
debug: 4.3.4(supports-color@5.5.0)
|
debug: 4.3.4(supports-color@8.1.1)
|
||||||
espree: 9.6.1
|
espree: 9.6.1
|
||||||
globals: 13.19.0
|
globals: 13.19.0
|
||||||
ignore: 5.2.4
|
ignore: 5.2.4
|
||||||
|
@ -4274,7 +4250,7 @@ packages:
|
||||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||||
dependencies:
|
dependencies:
|
||||||
ajv: 6.12.6
|
ajv: 6.12.6
|
||||||
debug: 4.3.4(supports-color@5.5.0)
|
debug: 4.3.4(supports-color@8.1.1)
|
||||||
espree: 9.6.1
|
espree: 9.6.1
|
||||||
globals: 13.19.0
|
globals: 13.19.0
|
||||||
ignore: 5.2.4
|
ignore: 5.2.4
|
||||||
|
@ -4539,7 +4515,7 @@ packages:
|
||||||
engines: {node: '>=10.10.0'}
|
engines: {node: '>=10.10.0'}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@humanwhocodes/object-schema': 2.0.1
|
'@humanwhocodes/object-schema': 2.0.1
|
||||||
debug: 4.3.4(supports-color@5.5.0)
|
debug: 4.3.4(supports-color@8.1.1)
|
||||||
minimatch: 3.1.2
|
minimatch: 3.1.2
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
@ -4550,6 +4526,11 @@ packages:
|
||||||
engines: {node: '>=12.22'}
|
engines: {node: '>=12.22'}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/@humanwhocodes/momoa@2.0.4:
|
||||||
|
resolution: {integrity: sha512-RE815I4arJFtt+FVeU1Tgp9/Xvecacji8w/V6XtXsWWH/wz/eNkNbhb+ny/+PlVZjV0rxQpRSQKNKE3lcktHEA==}
|
||||||
|
engines: {node: '>=10.10.0'}
|
||||||
|
dev: true
|
||||||
|
|
||||||
/@humanwhocodes/object-schema@2.0.1:
|
/@humanwhocodes/object-schema@2.0.1:
|
||||||
resolution: {integrity: sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==}
|
resolution: {integrity: sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==}
|
||||||
dev: true
|
dev: true
|
||||||
|
@ -5108,7 +5089,7 @@ packages:
|
||||||
'@open-draft/until': 1.0.3
|
'@open-draft/until': 1.0.3
|
||||||
'@types/debug': 4.1.7
|
'@types/debug': 4.1.7
|
||||||
'@xmldom/xmldom': 0.8.6
|
'@xmldom/xmldom': 0.8.6
|
||||||
debug: 4.3.4(supports-color@5.5.0)
|
debug: 4.3.4(supports-color@8.1.1)
|
||||||
headers-polyfill: 3.2.5
|
headers-polyfill: 3.2.5
|
||||||
outvariant: 1.4.0
|
outvariant: 1.4.0
|
||||||
strict-event-emitter: 0.2.8
|
strict-event-emitter: 0.2.8
|
||||||
|
@ -5863,6 +5844,48 @@ packages:
|
||||||
'@babel/runtime': 7.23.2
|
'@babel/runtime': 7.23.2
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/@readme/better-ajv-errors@1.6.0(ajv@8.12.0):
|
||||||
|
resolution: {integrity: sha512-9gO9rld84Jgu13kcbKRU+WHseNhaVt76wYMeRDGsUGYxwJtI3RmEJ9LY9dZCYQGI8eUZLuxb5qDja0nqklpFjQ==}
|
||||||
|
engines: {node: '>=14'}
|
||||||
|
peerDependencies:
|
||||||
|
ajv: 4.11.8 - 8
|
||||||
|
dependencies:
|
||||||
|
'@babel/code-frame': 7.23.5
|
||||||
|
'@babel/runtime': 7.23.4
|
||||||
|
'@humanwhocodes/momoa': 2.0.4
|
||||||
|
ajv: 8.12.0
|
||||||
|
chalk: 4.1.2
|
||||||
|
json-to-ast: 2.1.0
|
||||||
|
jsonpointer: 5.0.1
|
||||||
|
leven: 3.1.0
|
||||||
|
dev: true
|
||||||
|
|
||||||
|
/@readme/json-schema-ref-parser@1.2.0:
|
||||||
|
resolution: {integrity: sha512-Bt3QVovFSua4QmHa65EHUmh2xS0XJ3rgTEUPH998f4OW4VVJke3BuS16f+kM0ZLOGdvIrzrPRqwihuv5BAjtrA==}
|
||||||
|
dependencies:
|
||||||
|
'@jsdevtools/ono': 7.1.3
|
||||||
|
'@types/json-schema': 7.0.12
|
||||||
|
call-me-maybe: 1.0.2
|
||||||
|
js-yaml: 4.1.0
|
||||||
|
dev: true
|
||||||
|
|
||||||
|
/@readme/openapi-parser@2.5.0(openapi-types@12.1.3):
|
||||||
|
resolution: {integrity: sha512-IbymbOqRuUzoIgxfAAR7XJt2FWl6n2yqN09fF5adacGm7W03siA3bj1Emql0X9D2T+RpBYz3x9zDsMhuoMP62A==}
|
||||||
|
engines: {node: '>=14'}
|
||||||
|
peerDependencies:
|
||||||
|
openapi-types: '>=7'
|
||||||
|
dependencies:
|
||||||
|
'@apidevtools/openapi-schemas': 2.1.0
|
||||||
|
'@apidevtools/swagger-methods': 3.0.2
|
||||||
|
'@jsdevtools/ono': 7.1.3
|
||||||
|
'@readme/better-ajv-errors': 1.6.0(ajv@8.12.0)
|
||||||
|
'@readme/json-schema-ref-parser': 1.2.0
|
||||||
|
ajv: 8.12.0
|
||||||
|
ajv-draft-04: 1.0.0(ajv@8.12.0)
|
||||||
|
call-me-maybe: 1.0.2
|
||||||
|
openapi-types: 12.1.3
|
||||||
|
dev: true
|
||||||
|
|
||||||
/@rollup/plugin-json@6.1.0(rollup@4.9.1):
|
/@rollup/plugin-json@6.1.0(rollup@4.9.1):
|
||||||
resolution: {integrity: sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==}
|
resolution: {integrity: sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==}
|
||||||
engines: {node: '>=14.0.0'}
|
engines: {node: '>=14.0.0'}
|
||||||
|
@ -8532,7 +8555,7 @@ packages:
|
||||||
'@typescript-eslint/type-utils': 6.11.0(eslint@8.53.0)(typescript@5.3.3)
|
'@typescript-eslint/type-utils': 6.11.0(eslint@8.53.0)(typescript@5.3.3)
|
||||||
'@typescript-eslint/utils': 6.11.0(eslint@8.53.0)(typescript@5.3.3)
|
'@typescript-eslint/utils': 6.11.0(eslint@8.53.0)(typescript@5.3.3)
|
||||||
'@typescript-eslint/visitor-keys': 6.11.0
|
'@typescript-eslint/visitor-keys': 6.11.0
|
||||||
debug: 4.3.4(supports-color@5.5.0)
|
debug: 4.3.4(supports-color@8.1.1)
|
||||||
eslint: 8.53.0
|
eslint: 8.53.0
|
||||||
graphemer: 1.4.0
|
graphemer: 1.4.0
|
||||||
ignore: 5.2.4
|
ignore: 5.2.4
|
||||||
|
@ -8561,7 +8584,7 @@ packages:
|
||||||
'@typescript-eslint/type-utils': 6.14.0(eslint@8.56.0)(typescript@5.3.3)
|
'@typescript-eslint/type-utils': 6.14.0(eslint@8.56.0)(typescript@5.3.3)
|
||||||
'@typescript-eslint/utils': 6.14.0(eslint@8.56.0)(typescript@5.3.3)
|
'@typescript-eslint/utils': 6.14.0(eslint@8.56.0)(typescript@5.3.3)
|
||||||
'@typescript-eslint/visitor-keys': 6.14.0
|
'@typescript-eslint/visitor-keys': 6.14.0
|
||||||
debug: 4.3.4(supports-color@5.5.0)
|
debug: 4.3.4(supports-color@8.1.1)
|
||||||
eslint: 8.56.0
|
eslint: 8.56.0
|
||||||
graphemer: 1.4.0
|
graphemer: 1.4.0
|
||||||
ignore: 5.2.4
|
ignore: 5.2.4
|
||||||
|
@ -8587,7 +8610,7 @@ packages:
|
||||||
'@typescript-eslint/types': 6.11.0
|
'@typescript-eslint/types': 6.11.0
|
||||||
'@typescript-eslint/typescript-estree': 6.11.0(typescript@5.3.3)
|
'@typescript-eslint/typescript-estree': 6.11.0(typescript@5.3.3)
|
||||||
'@typescript-eslint/visitor-keys': 6.11.0
|
'@typescript-eslint/visitor-keys': 6.11.0
|
||||||
debug: 4.3.4(supports-color@5.5.0)
|
debug: 4.3.4(supports-color@8.1.1)
|
||||||
eslint: 8.53.0
|
eslint: 8.53.0
|
||||||
typescript: 5.3.3
|
typescript: 5.3.3
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
|
@ -8608,7 +8631,7 @@ packages:
|
||||||
'@typescript-eslint/types': 6.14.0
|
'@typescript-eslint/types': 6.14.0
|
||||||
'@typescript-eslint/typescript-estree': 6.14.0(typescript@5.3.3)
|
'@typescript-eslint/typescript-estree': 6.14.0(typescript@5.3.3)
|
||||||
'@typescript-eslint/visitor-keys': 6.14.0
|
'@typescript-eslint/visitor-keys': 6.14.0
|
||||||
debug: 4.3.4(supports-color@5.5.0)
|
debug: 4.3.4(supports-color@8.1.1)
|
||||||
eslint: 8.56.0
|
eslint: 8.56.0
|
||||||
typescript: 5.3.3
|
typescript: 5.3.3
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
|
@ -8643,7 +8666,7 @@ packages:
|
||||||
dependencies:
|
dependencies:
|
||||||
'@typescript-eslint/typescript-estree': 6.11.0(typescript@5.3.3)
|
'@typescript-eslint/typescript-estree': 6.11.0(typescript@5.3.3)
|
||||||
'@typescript-eslint/utils': 6.11.0(eslint@8.53.0)(typescript@5.3.3)
|
'@typescript-eslint/utils': 6.11.0(eslint@8.53.0)(typescript@5.3.3)
|
||||||
debug: 4.3.4(supports-color@5.5.0)
|
debug: 4.3.4(supports-color@8.1.1)
|
||||||
eslint: 8.53.0
|
eslint: 8.53.0
|
||||||
ts-api-utils: 1.0.1(typescript@5.3.3)
|
ts-api-utils: 1.0.1(typescript@5.3.3)
|
||||||
typescript: 5.3.3
|
typescript: 5.3.3
|
||||||
|
@ -8663,7 +8686,7 @@ packages:
|
||||||
dependencies:
|
dependencies:
|
||||||
'@typescript-eslint/typescript-estree': 6.14.0(typescript@5.3.3)
|
'@typescript-eslint/typescript-estree': 6.14.0(typescript@5.3.3)
|
||||||
'@typescript-eslint/utils': 6.14.0(eslint@8.56.0)(typescript@5.3.3)
|
'@typescript-eslint/utils': 6.14.0(eslint@8.56.0)(typescript@5.3.3)
|
||||||
debug: 4.3.4(supports-color@5.5.0)
|
debug: 4.3.4(supports-color@8.1.1)
|
||||||
eslint: 8.56.0
|
eslint: 8.56.0
|
||||||
ts-api-utils: 1.0.1(typescript@5.3.3)
|
ts-api-utils: 1.0.1(typescript@5.3.3)
|
||||||
typescript: 5.3.3
|
typescript: 5.3.3
|
||||||
|
@ -8692,7 +8715,7 @@ packages:
|
||||||
dependencies:
|
dependencies:
|
||||||
'@typescript-eslint/types': 6.11.0
|
'@typescript-eslint/types': 6.11.0
|
||||||
'@typescript-eslint/visitor-keys': 6.11.0
|
'@typescript-eslint/visitor-keys': 6.11.0
|
||||||
debug: 4.3.4(supports-color@5.5.0)
|
debug: 4.3.4(supports-color@8.1.1)
|
||||||
globby: 11.1.0
|
globby: 11.1.0
|
||||||
is-glob: 4.0.3
|
is-glob: 4.0.3
|
||||||
semver: 7.5.4
|
semver: 7.5.4
|
||||||
|
@ -8713,7 +8736,7 @@ packages:
|
||||||
dependencies:
|
dependencies:
|
||||||
'@typescript-eslint/types': 6.14.0
|
'@typescript-eslint/types': 6.14.0
|
||||||
'@typescript-eslint/visitor-keys': 6.14.0
|
'@typescript-eslint/visitor-keys': 6.14.0
|
||||||
debug: 4.3.4(supports-color@5.5.0)
|
debug: 4.3.4(supports-color@8.1.1)
|
||||||
globby: 11.1.0
|
globby: 11.1.0
|
||||||
is-glob: 4.0.3
|
is-glob: 4.0.3
|
||||||
semver: 7.5.4
|
semver: 7.5.4
|
||||||
|
@ -9170,7 +9193,7 @@ packages:
|
||||||
engines: {node: '>= 6.0.0'}
|
engines: {node: '>= 6.0.0'}
|
||||||
requiresBuild: true
|
requiresBuild: true
|
||||||
dependencies:
|
dependencies:
|
||||||
debug: 4.3.4(supports-color@5.5.0)
|
debug: 4.3.4(supports-color@8.1.1)
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
|
@ -9178,7 +9201,7 @@ packages:
|
||||||
resolution: {integrity: sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==}
|
resolution: {integrity: sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==}
|
||||||
engines: {node: '>= 14'}
|
engines: {node: '>= 14'}
|
||||||
dependencies:
|
dependencies:
|
||||||
debug: 4.3.4(supports-color@5.5.0)
|
debug: 4.3.4(supports-color@8.1.1)
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
dev: false
|
dev: false
|
||||||
|
@ -9564,7 +9587,7 @@ packages:
|
||||||
resolution: {integrity: sha512-TAlMYvOuwGyLK3PfBb5WKBXZmXz2fVCgv23d6zZFdle/q3gPjmxBaeuC0pY0Dzs5PWMSgfqqEZkrye19GlDTgw==}
|
resolution: {integrity: sha512-TAlMYvOuwGyLK3PfBb5WKBXZmXz2fVCgv23d6zZFdle/q3gPjmxBaeuC0pY0Dzs5PWMSgfqqEZkrye19GlDTgw==}
|
||||||
dependencies:
|
dependencies:
|
||||||
archy: 1.0.0
|
archy: 1.0.0
|
||||||
debug: 4.3.4(supports-color@5.5.0)
|
debug: 4.3.4(supports-color@8.1.1)
|
||||||
fastq: 1.15.0
|
fastq: 1.15.0
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
@ -10432,6 +10455,11 @@ packages:
|
||||||
engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'}
|
engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/code-error-fragment@0.0.230:
|
||||||
|
resolution: {integrity: sha512-cadkfKp6932H8UkhzE/gcUqhRMNf8jHzkAN7+5Myabswaghu4xABTgPHDCjW+dBAJxj/SpkTYokpzDqY4pCzQw==}
|
||||||
|
engines: {node: '>= 4'}
|
||||||
|
dev: true
|
||||||
|
|
||||||
/collect-v8-coverage@1.0.1:
|
/collect-v8-coverage@1.0.1:
|
||||||
resolution: {integrity: sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==}
|
resolution: {integrity: sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==}
|
||||||
dev: true
|
dev: true
|
||||||
|
@ -11008,6 +11036,7 @@ packages:
|
||||||
dependencies:
|
dependencies:
|
||||||
ms: 2.1.2
|
ms: 2.1.2
|
||||||
supports-color: 5.5.0
|
supports-color: 5.5.0
|
||||||
|
dev: true
|
||||||
|
|
||||||
/debug@4.3.4(supports-color@8.1.1):
|
/debug@4.3.4(supports-color@8.1.1):
|
||||||
resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
|
resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
|
||||||
|
@ -11020,7 +11049,6 @@ packages:
|
||||||
dependencies:
|
dependencies:
|
||||||
ms: 2.1.2
|
ms: 2.1.2
|
||||||
supports-color: 8.1.1
|
supports-color: 8.1.1
|
||||||
dev: true
|
|
||||||
|
|
||||||
/decamelize-keys@1.1.1:
|
/decamelize-keys@1.1.1:
|
||||||
resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==}
|
resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==}
|
||||||
|
@ -11237,7 +11265,7 @@ packages:
|
||||||
hasBin: true
|
hasBin: true
|
||||||
dependencies:
|
dependencies:
|
||||||
address: 1.2.2
|
address: 1.2.2
|
||||||
debug: 4.3.4(supports-color@5.5.0)
|
debug: 4.3.4(supports-color@8.1.1)
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
|
@ -11561,7 +11589,7 @@ packages:
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
esbuild: '>=0.12 <1'
|
esbuild: '>=0.12 <1'
|
||||||
dependencies:
|
dependencies:
|
||||||
debug: 4.3.4(supports-color@5.5.0)
|
debug: 4.3.4(supports-color@8.1.1)
|
||||||
esbuild: 0.18.20
|
esbuild: 0.18.20
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
@ -11899,7 +11927,7 @@ packages:
|
||||||
ajv: 6.12.6
|
ajv: 6.12.6
|
||||||
chalk: 4.1.2
|
chalk: 4.1.2
|
||||||
cross-spawn: 7.0.3
|
cross-spawn: 7.0.3
|
||||||
debug: 4.3.4(supports-color@5.5.0)
|
debug: 4.3.4(supports-color@8.1.1)
|
||||||
doctrine: 3.0.0
|
doctrine: 3.0.0
|
||||||
escape-string-regexp: 4.0.0
|
escape-string-regexp: 4.0.0
|
||||||
eslint-scope: 7.2.2
|
eslint-scope: 7.2.2
|
||||||
|
@ -11946,7 +11974,7 @@ packages:
|
||||||
ajv: 6.12.6
|
ajv: 6.12.6
|
||||||
chalk: 4.1.2
|
chalk: 4.1.2
|
||||||
cross-spawn: 7.0.3
|
cross-spawn: 7.0.3
|
||||||
debug: 4.3.4(supports-color@5.5.0)
|
debug: 4.3.4(supports-color@8.1.1)
|
||||||
doctrine: 3.0.0
|
doctrine: 3.0.0
|
||||||
escape-string-regexp: 4.0.0
|
escape-string-regexp: 4.0.0
|
||||||
eslint-scope: 7.2.2
|
eslint-scope: 7.2.2
|
||||||
|
@ -12576,7 +12604,7 @@ packages:
|
||||||
debug:
|
debug:
|
||||||
optional: true
|
optional: true
|
||||||
dependencies:
|
dependencies:
|
||||||
debug: 4.3.4(supports-color@5.5.0)
|
debug: 4.3.4(supports-color@8.1.1)
|
||||||
|
|
||||||
/for-each@0.3.3:
|
/for-each@0.3.3:
|
||||||
resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==}
|
resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==}
|
||||||
|
@ -13054,6 +13082,10 @@ packages:
|
||||||
/graceful-fs@4.2.11:
|
/graceful-fs@4.2.11:
|
||||||
resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
|
resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
|
||||||
|
|
||||||
|
/grapheme-splitter@1.0.4:
|
||||||
|
resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==}
|
||||||
|
dev: true
|
||||||
|
|
||||||
/graphemer@1.4.0:
|
/graphemer@1.4.0:
|
||||||
resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
|
resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
|
||||||
dev: true
|
dev: true
|
||||||
|
@ -13128,6 +13160,7 @@ packages:
|
||||||
/has-flag@3.0.0:
|
/has-flag@3.0.0:
|
||||||
resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==}
|
resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==}
|
||||||
engines: {node: '>=4'}
|
engines: {node: '>=4'}
|
||||||
|
dev: true
|
||||||
|
|
||||||
/has-flag@4.0.0:
|
/has-flag@4.0.0:
|
||||||
resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
|
resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
|
||||||
|
@ -13265,7 +13298,7 @@ packages:
|
||||||
engines: {node: '>= 14'}
|
engines: {node: '>= 14'}
|
||||||
dependencies:
|
dependencies:
|
||||||
agent-base: 7.1.0
|
agent-base: 7.1.0
|
||||||
debug: 4.3.4(supports-color@5.5.0)
|
debug: 4.3.4(supports-color@8.1.1)
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
dev: false
|
dev: false
|
||||||
|
@ -13327,7 +13360,7 @@ packages:
|
||||||
engines: {node: '>= 6.0.0'}
|
engines: {node: '>= 6.0.0'}
|
||||||
dependencies:
|
dependencies:
|
||||||
agent-base: 5.1.1
|
agent-base: 5.1.1
|
||||||
debug: 4.3.4(supports-color@5.5.0)
|
debug: 4.3.4(supports-color@8.1.1)
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
|
@ -13337,7 +13370,7 @@ packages:
|
||||||
engines: {node: '>= 6'}
|
engines: {node: '>= 6'}
|
||||||
dependencies:
|
dependencies:
|
||||||
agent-base: 6.0.2
|
agent-base: 6.0.2
|
||||||
debug: 4.3.4(supports-color@5.5.0)
|
debug: 4.3.4(supports-color@8.1.1)
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
|
@ -13346,7 +13379,7 @@ packages:
|
||||||
engines: {node: '>= 14'}
|
engines: {node: '>= 14'}
|
||||||
dependencies:
|
dependencies:
|
||||||
agent-base: 7.1.0
|
agent-base: 7.1.0
|
||||||
debug: 4.3.4(supports-color@5.5.0)
|
debug: 4.3.4(supports-color@8.1.1)
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
dev: false
|
dev: false
|
||||||
|
@ -13356,7 +13389,7 @@ packages:
|
||||||
engines: {node: '>= 14'}
|
engines: {node: '>= 14'}
|
||||||
dependencies:
|
dependencies:
|
||||||
agent-base: 7.1.0
|
agent-base: 7.1.0
|
||||||
debug: 4.3.4(supports-color@5.5.0)
|
debug: 4.3.4(supports-color@8.1.1)
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
dev: false
|
dev: false
|
||||||
|
@ -13516,7 +13549,7 @@ packages:
|
||||||
dependencies:
|
dependencies:
|
||||||
'@ioredis/commands': 1.2.0
|
'@ioredis/commands': 1.2.0
|
||||||
cluster-key-slot: 1.1.2
|
cluster-key-slot: 1.1.2
|
||||||
debug: 4.3.4(supports-color@5.5.0)
|
debug: 4.3.4(supports-color@8.1.1)
|
||||||
denque: 2.1.0
|
denque: 2.1.0
|
||||||
lodash.defaults: 4.2.0
|
lodash.defaults: 4.2.0
|
||||||
lodash.isarguments: 3.1.0
|
lodash.isarguments: 3.1.0
|
||||||
|
@ -13957,7 +13990,7 @@ packages:
|
||||||
resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==}
|
resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==}
|
||||||
engines: {node: '>=10'}
|
engines: {node: '>=10'}
|
||||||
dependencies:
|
dependencies:
|
||||||
debug: 4.3.4(supports-color@5.5.0)
|
debug: 4.3.4(supports-color@8.1.1)
|
||||||
istanbul-lib-coverage: 3.2.0
|
istanbul-lib-coverage: 3.2.0
|
||||||
source-map: 0.6.1
|
source-map: 0.6.1
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
|
@ -14634,7 +14667,7 @@ packages:
|
||||||
resolution: {integrity: sha512-pJ4XLQP4Q9HTxl6RVDLJ8Cyh1uitSs0CzDBAz1uoJ4sRD/Bk7cFSXL1FUXDW3zJ7YnfliJx6eu8Jn283bpZ4Yg==}
|
resolution: {integrity: sha512-pJ4XLQP4Q9HTxl6RVDLJ8Cyh1uitSs0CzDBAz1uoJ4sRD/Bk7cFSXL1FUXDW3zJ7YnfliJx6eu8Jn283bpZ4Yg==}
|
||||||
engines: {node: '>=10'}
|
engines: {node: '>=10'}
|
||||||
dependencies:
|
dependencies:
|
||||||
debug: 4.3.4(supports-color@5.5.0)
|
debug: 4.3.4(supports-color@8.1.1)
|
||||||
rfdc: 1.3.0
|
rfdc: 1.3.0
|
||||||
uri-js: 4.4.1
|
uri-js: 4.4.1
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
|
@ -14657,6 +14690,14 @@ packages:
|
||||||
/json-stringify-safe@5.0.1:
|
/json-stringify-safe@5.0.1:
|
||||||
resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==}
|
resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==}
|
||||||
|
|
||||||
|
/json-to-ast@2.1.0:
|
||||||
|
resolution: {integrity: sha512-W9Lq347r8tA1DfMvAGn9QNcgYm4Wm7Yc+k8e6vezpMnRT+NHbtlxgNBXRVjXe9YM6eTn6+p/MKOlV/aABJcSnQ==}
|
||||||
|
engines: {node: '>= 4'}
|
||||||
|
dependencies:
|
||||||
|
code-error-fragment: 0.0.230
|
||||||
|
grapheme-splitter: 1.0.4
|
||||||
|
dev: true
|
||||||
|
|
||||||
/json5@1.0.2:
|
/json5@1.0.2:
|
||||||
resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==}
|
resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
@ -14704,6 +14745,11 @@ packages:
|
||||||
- web-streams-polyfill
|
- web-streams-polyfill
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
|
/jsonpointer@5.0.1:
|
||||||
|
resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==}
|
||||||
|
engines: {node: '>=0.10.0'}
|
||||||
|
dev: true
|
||||||
|
|
||||||
/jsprim@1.4.2:
|
/jsprim@1.4.2:
|
||||||
resolution: {integrity: sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==}
|
resolution: {integrity: sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==}
|
||||||
engines: {node: '>=0.6.0'}
|
engines: {node: '>=0.6.0'}
|
||||||
|
@ -16051,15 +16097,15 @@ packages:
|
||||||
/openapi-types@12.1.3:
|
/openapi-types@12.1.3:
|
||||||
resolution: {integrity: sha512-N4YtSYJqghVu4iek2ZUvcN/0aqH1kRDuNqzcycDxhOUpg7GdvLa2F3DgS6yBNhInhv2r/6I0Flkn7CqL8+nIcw==}
|
resolution: {integrity: sha512-N4YtSYJqghVu4iek2ZUvcN/0aqH1kRDuNqzcycDxhOUpg7GdvLa2F3DgS6yBNhInhv2r/6I0Flkn7CqL8+nIcw==}
|
||||||
|
|
||||||
/openapi-typescript@6.7.1:
|
/openapi-typescript@6.7.3:
|
||||||
resolution: {integrity: sha512-Q3Ltt0KUm2smcPrsaR8qKmSwQ1KM4yGDJVoQdpYa0yvKPeN8huDx5utMT7DvwvJastHHzUxajjivK3WN2+fobg==}
|
resolution: {integrity: sha512-es3mGcDXV6TKPo6n3aohzHm0qxhLyR39MhF6mkD1FwFGjhxnqMqfSIgM0eCpInZvqatve4CxmXcMZw3jnnsaXw==}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
dependencies:
|
dependencies:
|
||||||
ansi-colors: 4.1.3
|
ansi-colors: 4.1.3
|
||||||
fast-glob: 3.3.2
|
fast-glob: 3.3.2
|
||||||
js-yaml: 4.1.0
|
js-yaml: 4.1.0
|
||||||
supports-color: 9.4.0
|
supports-color: 9.4.0
|
||||||
undici: 5.28.1
|
undici: 5.28.2
|
||||||
yargs-parser: 21.1.1
|
yargs-parser: 21.1.1
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
@ -17232,7 +17278,7 @@ packages:
|
||||||
engines: {node: '>=8.16.0'}
|
engines: {node: '>=8.16.0'}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@types/mime-types': 2.1.4
|
'@types/mime-types': 2.1.4
|
||||||
debug: 4.3.4(supports-color@5.5.0)
|
debug: 4.3.4(supports-color@8.1.1)
|
||||||
extract-zip: 1.7.0
|
extract-zip: 1.7.0
|
||||||
https-proxy-agent: 4.0.0
|
https-proxy-agent: 4.0.0
|
||||||
mime: 2.6.0
|
mime: 2.6.0
|
||||||
|
@ -18229,7 +18275,7 @@ packages:
|
||||||
dependencies:
|
dependencies:
|
||||||
'@hapi/hoek': 10.0.1
|
'@hapi/hoek': 10.0.1
|
||||||
'@hapi/wreck': 18.0.1
|
'@hapi/wreck': 18.0.1
|
||||||
debug: 4.3.4(supports-color@5.5.0)
|
debug: 4.3.4(supports-color@8.1.1)
|
||||||
joi: 17.7.0
|
joi: 17.7.0
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
@ -18429,7 +18475,7 @@ packages:
|
||||||
engines: {node: '>= 14'}
|
engines: {node: '>= 14'}
|
||||||
dependencies:
|
dependencies:
|
||||||
agent-base: 7.1.0
|
agent-base: 7.1.0
|
||||||
debug: 4.3.4(supports-color@5.5.0)
|
debug: 4.3.4(supports-color@8.1.1)
|
||||||
socks: 2.7.1
|
socks: 2.7.1
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
@ -18582,7 +18628,7 @@ packages:
|
||||||
arg: 5.0.2
|
arg: 5.0.2
|
||||||
bluebird: 3.7.2
|
bluebird: 3.7.2
|
||||||
check-more-types: 2.24.0
|
check-more-types: 2.24.0
|
||||||
debug: 4.3.4(supports-color@5.5.0)
|
debug: 4.3.4(supports-color@8.1.1)
|
||||||
execa: 5.1.1
|
execa: 5.1.1
|
||||||
lazy-ass: 1.6.0
|
lazy-ass: 1.6.0
|
||||||
ps-tree: 1.2.0
|
ps-tree: 1.2.0
|
||||||
|
@ -18846,6 +18892,7 @@ packages:
|
||||||
engines: {node: '>=4'}
|
engines: {node: '>=4'}
|
||||||
dependencies:
|
dependencies:
|
||||||
has-flag: 3.0.0
|
has-flag: 3.0.0
|
||||||
|
dev: true
|
||||||
|
|
||||||
/supports-color@7.2.0:
|
/supports-color@7.2.0:
|
||||||
resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
|
resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
|
||||||
|
@ -19468,7 +19515,7 @@ packages:
|
||||||
chalk: 4.1.2
|
chalk: 4.1.2
|
||||||
cli-highlight: 2.1.11
|
cli-highlight: 2.1.11
|
||||||
date-fns: 2.30.0
|
date-fns: 2.30.0
|
||||||
debug: 4.3.4(supports-color@5.5.0)
|
debug: 4.3.4(supports-color@8.1.1)
|
||||||
dotenv: 16.0.3
|
dotenv: 16.0.3
|
||||||
glob: 8.1.0
|
glob: 8.1.0
|
||||||
ioredis: 5.3.2
|
ioredis: 5.3.2
|
||||||
|
@ -19548,6 +19595,14 @@ packages:
|
||||||
engines: {node: '>=14.0'}
|
engines: {node: '>=14.0'}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@fastify/busboy': 2.1.0
|
'@fastify/busboy': 2.1.0
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/undici@5.28.2:
|
||||||
|
resolution: {integrity: sha512-wh1pHJHnUeQV5Xa8/kyQhO7WFa8M34l026L5P/+2TYiakvGy5Rdc8jWZVyG7ieht/0WgJLEd3kcU5gKx+6GC8w==}
|
||||||
|
engines: {node: '>=14.0'}
|
||||||
|
dependencies:
|
||||||
|
'@fastify/busboy': 2.1.0
|
||||||
|
dev: true
|
||||||
|
|
||||||
/unicode-canonical-property-names-ecmascript@2.0.0:
|
/unicode-canonical-property-names-ecmascript@2.0.0:
|
||||||
resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==}
|
resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==}
|
||||||
|
@ -19825,7 +19880,7 @@ packages:
|
||||||
hasBin: true
|
hasBin: true
|
||||||
dependencies:
|
dependencies:
|
||||||
cac: 6.7.14
|
cac: 6.7.14
|
||||||
debug: 4.3.4(supports-color@5.5.0)
|
debug: 4.3.4(supports-color@8.1.1)
|
||||||
mlly: 1.4.0
|
mlly: 1.4.0
|
||||||
pathe: 1.1.1
|
pathe: 1.1.1
|
||||||
picocolors: 1.0.0
|
picocolors: 1.0.0
|
||||||
|
@ -19937,7 +19992,7 @@ packages:
|
||||||
acorn-walk: 8.2.0
|
acorn-walk: 8.2.0
|
||||||
cac: 6.7.14
|
cac: 6.7.14
|
||||||
chai: 4.3.10
|
chai: 4.3.10
|
||||||
debug: 4.3.4(supports-color@5.5.0)
|
debug: 4.3.4(supports-color@8.1.1)
|
||||||
happy-dom: 10.0.3
|
happy-dom: 10.0.3
|
||||||
local-pkg: 0.4.3
|
local-pkg: 0.4.3
|
||||||
magic-string: 0.30.3
|
magic-string: 0.30.3
|
||||||
|
@ -20019,7 +20074,7 @@ packages:
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
eslint: '>=6.0.0'
|
eslint: '>=6.0.0'
|
||||||
dependencies:
|
dependencies:
|
||||||
debug: 4.3.4(supports-color@5.5.0)
|
debug: 4.3.4(supports-color@8.1.1)
|
||||||
eslint: 8.56.0
|
eslint: 8.56.0
|
||||||
eslint-scope: 7.2.2
|
eslint-scope: 7.2.2
|
||||||
eslint-visitor-keys: 3.4.3
|
eslint-visitor-keys: 3.4.3
|
||||||
|
|
Loading…
Reference in a new issue