refactor(server): mfm-js to cherrypick-mfm-js
This commit is contained in:
parent
f0d72345a7
commit
efa2abef85
|
@ -36,6 +36,9 @@
|
|||
- Fix: (Friendly) 타임라인이 변경되었을 때 네비게이션 바의 인디케이터가 사라지지 않는 문제
|
||||
- Fix: 네트워크 트래픽이 10MB/s를 초과하면 네트워크 통계 위젯의 그래프가 잘못 출력되는 문제
|
||||
|
||||
### Server
|
||||
- mfm-js를 cherrypick-mfm-js로 변경
|
||||
|
||||
---
|
||||
|
||||
## 13.13.1-cp-4.0.0
|
||||
|
|
|
@ -109,7 +109,7 @@
|
|||
"jsonld": "8.2.0",
|
||||
"jsrsasign": "10.8.6",
|
||||
"meilisearch": "0.32.5",
|
||||
"mfm-js": "0.23.3",
|
||||
"cherrypick-mfm-js": "0.23.3-cp-1.0.0",
|
||||
"mime-types": "2.1.35",
|
||||
"misskey-js": "workspace:*",
|
||||
"ms": "3.0.0-canary.1",
|
||||
|
|
|
@ -8,7 +8,7 @@ import { intersperse } from '@/misc/prelude/array.js';
|
|||
import type { IMentionedRemoteUsers } from '@/models/entities/Note.js';
|
||||
import { bindThis } from '@/decorators.js';
|
||||
import * as TreeAdapter from '../../node_modules/parse5/dist/tree-adapters/default.js';
|
||||
import type * as mfm from 'mfm-js';
|
||||
import type * as mfm from 'cherrypick-mfm-js';
|
||||
|
||||
const treeAdapter = TreeAdapter.defaultTreeAdapter;
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import { setImmediate } from 'node:timers/promises';
|
||||
import * as mfm from 'mfm-js';
|
||||
import * as mfm from 'cherrypick-mfm-js';
|
||||
import { In, DataSource } from 'typeorm';
|
||||
import * as Redis from 'ioredis';
|
||||
import { Inject, Injectable, OnApplicationShutdown } from '@nestjs/common';
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import { Inject, Injectable } from '@nestjs/common';
|
||||
import * as mfm from 'mfm-js';
|
||||
import * as mfm from 'cherrypick-mfm-js';
|
||||
import { DI } from '@/di-symbols.js';
|
||||
import type { Config } from '@/config.js';
|
||||
import { MfmService } from '@/core/MfmService.js';
|
||||
|
|
|
@ -2,7 +2,7 @@ import { createPublicKey } from 'node:crypto';
|
|||
import { Inject, Injectable } from '@nestjs/common';
|
||||
import { In, IsNull } from 'typeorm';
|
||||
import { v4 as uuid } from 'uuid';
|
||||
import * as mfm from 'mfm-js';
|
||||
import * as mfm from 'cherrypick-mfm-js';
|
||||
import { DI } from '@/di-symbols.js';
|
||||
import type { Config } from '@/config.js';
|
||||
import type { PartialLocalUser, LocalUser, PartialRemoteUser, RemoteUser, User } from '@/models/entities/User.js';
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import { Inject, Injectable } from '@nestjs/common';
|
||||
import { DataSource, In } from 'typeorm';
|
||||
import * as mfm from 'mfm-js';
|
||||
import * as mfm from 'cherrypick-mfm-js';
|
||||
import { ModuleRef } from '@nestjs/core';
|
||||
import { DI } from '@/di-symbols.js';
|
||||
import type { Packed } from '@/misc/json-schema.js';
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import * as mfm from 'mfm-js';
|
||||
import * as mfm from 'cherrypick-mfm-js';
|
||||
import { unique } from '@/misc/prelude/array.js';
|
||||
|
||||
export function extractCustomEmojisFromMfm(nodes: mfm.MfmNode[]): string[] {
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import * as mfm from 'mfm-js';
|
||||
import * as mfm from 'cherrypick-mfm-js';
|
||||
import { unique } from '@/misc/prelude/array.js';
|
||||
|
||||
export function extractHashtags(nodes: mfm.MfmNode[]): string[] {
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
// test is located in test/extract-mentions
|
||||
|
||||
import * as mfm from 'mfm-js';
|
||||
import * as mfm from 'cherrypick-mfm-js';
|
||||
|
||||
export function extractMentions(nodes: mfm.MfmNode[]): mfm.MfmMention['props'][] {
|
||||
// TODO: 重複を削除
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import RE2 from 're2';
|
||||
import * as mfm from 'mfm-js';
|
||||
import * as mfm from 'cherrypick-mfm-js';
|
||||
import { Inject, Injectable } from '@nestjs/common';
|
||||
import { extractCustomEmojisFromMfm } from '@/misc/extract-custom-emojis-from-mfm.js';
|
||||
import { extractHashtags } from '@/misc/extract-hashtags.js';
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import * as assert from 'assert';
|
||||
import * as mfm from 'mfm-js';
|
||||
import * as mfm from 'cherrypick-mfm-js';
|
||||
import { Test } from '@nestjs/testing';
|
||||
|
||||
import { CoreModule } from '@/core/CoreModule.js';
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import * as assert from 'assert';
|
||||
|
||||
import { parse } from 'mfm-js';
|
||||
import { parse } from 'cherrypick-mfm-js';
|
||||
import { extractMentions } from '@/misc/extract-mentions.js';
|
||||
|
||||
describe('Extract mentions', () => {
|
||||
|
|
|
@ -48,7 +48,7 @@
|
|||
"is-file-animated": "1.0.2",
|
||||
"json5": "2.2.3",
|
||||
"matter-js": "0.19.0",
|
||||
"mfm-js": "0.23.3",
|
||||
"cherrypick-mfm-js": "0.23.3-cp-1.0.0",
|
||||
"misskey-js": "workspace:*",
|
||||
"photoswipe": "5.3.7",
|
||||
"prismjs": "1.29.0",
|
||||
|
|
|
@ -139,7 +139,7 @@
|
|||
|
||||
<script lang="ts" setup>
|
||||
import { computed, inject, onMounted, ref, shallowRef, Ref, defineAsyncComponent } from 'vue';
|
||||
import * as mfm from 'mfm-js';
|
||||
import * as mfm from 'cherrypick-mfm-js';
|
||||
import * as misskey from 'misskey-js';
|
||||
import MkNoteSub from '@/components/MkNoteSub.vue';
|
||||
import MkNoteHeader from '@/components/MkNoteHeader.vue';
|
||||
|
|
|
@ -139,7 +139,7 @@
|
|||
|
||||
<script lang="ts" setup>
|
||||
import { computed, inject, onMounted, ref, shallowRef } from 'vue';
|
||||
import * as mfm from 'mfm-js';
|
||||
import * as mfm from 'cherrypick-mfm-js';
|
||||
import * as misskey from 'misskey-js';
|
||||
import MkNoteSub from '@/components/MkNoteSub.vue';
|
||||
import MkNoteSimple from '@/components/MkNoteSimple.vue';
|
||||
|
|
|
@ -95,7 +95,7 @@
|
|||
|
||||
<script lang="ts" setup>
|
||||
import { inject, watch, nextTick, onMounted, defineAsyncComponent } from 'vue';
|
||||
import * as mfm from 'mfm-js';
|
||||
import * as mfm from 'cherrypick-mfm-js';
|
||||
import * as misskey from 'misskey-js';
|
||||
import insertTextAtCursor from 'insert-text-at-cursor';
|
||||
import { toASCII } from 'punycode/';
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import { VNode, h } from 'vue';
|
||||
import * as mfm from 'mfm-js';
|
||||
import * as mfm from 'cherrypick-mfm-js';
|
||||
import * as Misskey from 'misskey-js';
|
||||
import MkUrl from '@/components/global/MkUrl.vue';
|
||||
import MkLink from '@/components/MkLink.vue';
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
<script lang="ts" setup>
|
||||
import { defineAsyncComponent } from 'vue';
|
||||
import * as mfm from 'mfm-js';
|
||||
import * as mfm from 'cherrypick-mfm-js';
|
||||
import * as Misskey from 'misskey-js';
|
||||
import { TextBlock } from './block.type';
|
||||
import { extractUrlFromMfm } from '@/scripts/extract-url-from-mfm';
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
|
||||
<script lang="ts" setup>
|
||||
import { } from 'vue';
|
||||
import * as mfm from 'mfm-js';
|
||||
import * as mfm from 'cherrypick-mfm-js';
|
||||
import * as Misskey from 'misskey-js';
|
||||
import * as os from '@/os';
|
||||
import MkUrlPreview from '@/components/MkUrlPreview.vue';
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
// test is located in test/extract-mentions
|
||||
|
||||
import * as mfm from 'mfm-js';
|
||||
import * as mfm from 'cherrypick-mfm-js';
|
||||
|
||||
export function extractMentions(nodes: mfm.MfmNode[]): mfm.MfmMention['props'][] {
|
||||
// TODO: 重複を削除
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import * as mfm from 'mfm-js';
|
||||
import * as mfm from 'cherrypick-mfm-js';
|
||||
import { unique } from '@/scripts/array';
|
||||
|
||||
// unique without hash
|
||||
|
|
|
@ -173,6 +173,9 @@ importers:
|
|||
chalk-template:
|
||||
specifier: 0.4.0
|
||||
version: 0.4.0
|
||||
cherrypick-mfm-js:
|
||||
specifier: 0.23.3-cp-1.0.0
|
||||
version: 0.23.3-cp-1.0.0
|
||||
chokidar:
|
||||
specifier: 3.5.3
|
||||
version: 3.5.3
|
||||
|
@ -245,9 +248,6 @@ importers:
|
|||
meilisearch:
|
||||
specifier: 0.32.5
|
||||
version: 0.32.5
|
||||
mfm-js:
|
||||
specifier: 0.23.3
|
||||
version: 0.23.3
|
||||
mime-types:
|
||||
specifier: 2.1.35
|
||||
version: 2.1.35
|
||||
|
@ -703,6 +703,9 @@ importers:
|
|||
chartjs-plugin-zoom:
|
||||
specifier: 2.0.1
|
||||
version: 2.0.1(chart.js@4.3.0)
|
||||
cherrypick-mfm-js:
|
||||
specifier: 0.23.3-cp-1.0.0
|
||||
version: 0.23.3-cp-1.0.0
|
||||
chromatic:
|
||||
specifier: 6.18.0
|
||||
version: 6.18.0
|
||||
|
@ -742,9 +745,6 @@ importers:
|
|||
matter-js:
|
||||
specifier: 0.19.0
|
||||
version: 0.19.0
|
||||
mfm-js:
|
||||
specifier: 0.23.3
|
||||
version: 0.23.3
|
||||
misskey-js:
|
||||
specifier: workspace:*
|
||||
version: link:../misskey-js
|
||||
|
@ -10410,6 +10410,12 @@ packages:
|
|||
parse5: 7.1.2
|
||||
parse5-htmlparser2-tree-adapter: 7.0.0
|
||||
|
||||
/cherrypick-mfm-js@0.23.3-cp-1.0.0:
|
||||
resolution: {integrity: sha512-oFeUcfV4WKqhdY1oxe4kSfh5jSwxDhma8DLLdD3CyxP+BNYV6rjDcqi9fZkj/4YSx2U9nsvVdbPW3mYdMlVVXA==}
|
||||
dependencies:
|
||||
twemoji-parser: 14.0.0
|
||||
dev: false
|
||||
|
||||
/chokidar-cli@3.0.0:
|
||||
resolution: {integrity: sha512-xVW+Qeh7z15uZRxHOkP93Ux8A0xbPzwK4GaqD8dQOYc34TlkqUhVSS59fK36DOp5WdJlrRzlYSy02Ht99FjZqQ==}
|
||||
engines: {node: '>= 8.10.0'}
|
||||
|
@ -16329,12 +16335,6 @@ packages:
|
|||
engines: {node: '>= 0.6'}
|
||||
dev: true
|
||||
|
||||
/mfm-js@0.23.3:
|
||||
resolution: {integrity: sha512-o8scYmbey6rMUmWAlT3k3ntt6khaCLdxlmHhAWV5wTTMj2OK1atQvZfRUq0SIVm1Jig08qlZg/ps71xUqrScNA==}
|
||||
dependencies:
|
||||
twemoji-parser: 14.0.0
|
||||
dev: false
|
||||
|
||||
/micromatch@3.1.10:
|
||||
resolution: {integrity: sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
|
Loading…
Reference in a new issue