summaryrefslogtreecommitdiff
path: root/packages
diff options
context:
space:
mode:
authortamaina <tamaina@hotmail.co.jp>2023-02-12 08:42:42 +0000
committertamaina <tamaina@hotmail.co.jp>2023-02-12 08:42:42 +0000
commitd7a2d59f418da48cf85d40a47dedff33cfc9fd0f (patch)
tree1cb712c89d0eefb2c580b8c3de78fe7dc295b393 /packages
parent:art: (diff)
parentFix moduleNameMapper to not resolve `.wasm.js` to `.wasm` (#9894) (diff)
downloadsharkey-d7a2d59f418da48cf85d40a47dedff33cfc9fd0f.tar.gz
sharkey-d7a2d59f418da48cf85d40a47dedff33cfc9fd0f.tar.bz2
sharkey-d7a2d59f418da48cf85d40a47dedff33cfc9fd0f.zip
Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop
Diffstat (limited to 'packages')
-rw-r--r--packages/backend/jest-resolver.cjs14
-rw-r--r--packages/backend/jest.config.cjs11
-rw-r--r--packages/backend/src/core/activitypub/LdSignatureService.ts5
-rw-r--r--packages/frontend/src/components/MkReactedUsersDialog.vue22
4 files changed, 26 insertions, 26 deletions
diff --git a/packages/backend/jest-resolver.cjs b/packages/backend/jest-resolver.cjs
deleted file mode 100644
index 4424b800dc..0000000000
--- a/packages/backend/jest-resolver.cjs
+++ /dev/null
@@ -1,14 +0,0 @@
-// https://github.com/facebook/jest/issues/12270#issuecomment-1194746382
-
-const nativeModule = require('node:module');
-
-function resolver(module, options) {
- const { basedir, defaultResolver } = options;
- try {
- return defaultResolver(module, options);
- } catch (error) {
- return nativeModule.createRequire(basedir).resolve(module);
- }
-}
-
-module.exports = resolver;
diff --git a/packages/backend/jest.config.cjs b/packages/backend/jest.config.cjs
index f0a3dc16c2..2f11f6a3e9 100644
--- a/packages/backend/jest.config.cjs
+++ b/packages/backend/jest.config.cjs
@@ -83,7 +83,14 @@ module.exports = {
// A map from regular expressions to module names or to arrays of module names that allow to stub out resources with a single module
moduleNameMapper: {
- "^@/(.*?).js": "<rootDir>/src/$1.ts",
+ // Do not resolve .wasm.js to .wasm by the rule below
+ '^(.+)\\.wasm\\.js$': '$1.wasm.js',
+ // SWC converts @/foo/bar.js to `../../src/foo/bar.js`, and then this rule
+ // converts it again to `../../src/foo/bar` which then can be resolved to
+ // `.ts` files.
+ // See https://github.com/swc-project/jest/issues/64#issuecomment-1029753225
+ // TODO: Use `--allowImportingTsExtensions` on TypeScript 5.0 so that we can
+ // directly import `.ts` files without this hack.
'^(\\.{1,2}/.*)\\.js$': '$1',
},
@@ -112,7 +119,7 @@ module.exports = {
// resetModules: false,
// A path to a custom resolver
- resolver: './jest-resolver.cjs',
+ // resolver: './jest-resolver.cjs',
// Automatically restore mock state between every test
restoreMocks: true,
diff --git a/packages/backend/src/core/activitypub/LdSignatureService.ts b/packages/backend/src/core/activitypub/LdSignatureService.ts
index a29e1be564..618ae48b1b 100644
--- a/packages/backend/src/core/activitypub/LdSignatureService.ts
+++ b/packages/backend/src/core/activitypub/LdSignatureService.ts
@@ -1,6 +1,5 @@
import * as crypto from 'node:crypto';
import { Inject, Injectable } from '@nestjs/common';
-import jsonld from 'jsonld';
import { HttpRequestService } from '@/core/HttpRequestService.js';
import { bindThis } from '@/decorators.js';
import { CONTEXTS } from './misc/contexts.js';
@@ -85,7 +84,9 @@ class LdSignature {
@bindThis
public async normalize(data: any) {
const customLoader = this.getLoader();
- return await jsonld.normalize(data, {
+ // XXX: Importing jsonld dynamically since Jest frequently fails to import it statically
+ // https://github.com/misskey-dev/misskey/pull/9894#discussion_r1103753595
+ return (await import('jsonld')).default.normalize(data, {
documentLoader: customLoader,
});
}
diff --git a/packages/frontend/src/components/MkReactedUsersDialog.vue b/packages/frontend/src/components/MkReactedUsersDialog.vue
index 2a8dffc014..1506e24ce8 100644
--- a/packages/frontend/src/components/MkReactedUsersDialog.vue
+++ b/packages/frontend/src/components/MkReactedUsersDialog.vue
@@ -10,15 +10,21 @@
<MkSpacer :margin-min="20" :margin-max="28">
<div v-if="note" class="_gaps">
- <div :class="$style.tabs">
- <button v-for="reaction in reactions" :key="reaction" :class="[$style.tab, { [$style.tabActive]: tab === reaction }]" class="_button" @click="tab = reaction">
- <MkReactionIcon :reaction="reaction"/>
- <span style="margin-left: 4px;">{{ note.reactions[reaction] }}</span>
- </button>
+ <div v-if="reactions.length === 0" class="_fullinfo">
+ <img src="https://xn--931a.moe/assets/info.jpg" class="_ghost"/>
+ <div>{{ i18n.ts.nothing }}</div>
</div>
- <MkA v-for="user in users" :key="user.id" :to="userPage(user)">
- <MkUserCardMini :user="user" :with-chart="false"/>
- </MkA>
+ <template v-else>
+ <div :class="$style.tabs">
+ <button v-for="reaction in reactions" :key="reaction" :class="[$style.tab, { [$style.tabActive]: tab === reaction }]" class="_button" @click="tab = reaction">
+ <MkReactionIcon :reaction="reaction"/>
+ <span style="margin-left: 4px;">{{ note.reactions[reaction] }}</span>
+ </button>
+ </div>
+ <MkA v-for="user in users" :key="user.id" :to="userPage(user)">
+ <MkUserCardMini :user="user" :with-chart="false"/>
+ </MkA>
+ </template>
</div>
<div v-else>
<MkLoading/>