summaryrefslogtreecommitdiff
path: root/packages/backend
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/backend
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/backend')
-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
3 files changed, 12 insertions, 18 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,
});
}