refactor(server): mfm-js to cherrypick-mfm-js

This commit is contained in:
NoriDev 2023-06-07 20:26:12 +09:00
parent f0d72345a7
commit efa2abef85
23 changed files with 36 additions and 33 deletions

View file

@ -36,6 +36,9 @@
- Fix: (Friendly) 타임라인이 변경되었을 때 네비게이션 바의 인디케이터가 사라지지 않는 문제
- Fix: 네트워크 트래픽이 10MB/s를 초과하면 네트워크 통계 위젯의 그래프가 잘못 출력되는 문제
### Server
- mfm-js를 cherrypick-mfm-js로 변경
---
## 13.13.1-cp-4.0.0

View file

@ -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",

View file

@ -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;

View file

@ -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';

View file

@ -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';

View file

@ -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';

View file

@ -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';

View file

@ -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[] {

View file

@ -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[] {

View file

@ -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: 重複を削除

View file

@ -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';

View file

@ -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';

View file

@ -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', () => {

View file

@ -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",

View file

@ -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';

View file

@ -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';

View file

@ -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/';

View file

@ -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';

View file

@ -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';

View file

@ -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';

View file

@ -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: 重複を削除

View file

@ -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

View file

@ -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'}