-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Node.js 22.12.0以降においてbackend test(e2e)が実行できない (node側の仕様変更の影響かも) #15308
Comments
(なんで LTS でそんな壊れることしてくるん?) |
タイトルを変更 |
|
FYI: MisskeyIO@eecc6a0 |
調べた感じ、 jest は esmodule を commonjs に変換するので、 require(esm) の影響を受けたようです。 そして、 require(esm) の解決時にはなぜか package.json の exports では "import" ではなく、 "require" ("default") が解決で使用されているようです。 試しに jest の esmodule support を有効に(というかtransformの無効化)してみましたが、jest が esmodle としてではなく普通に require する模様で、 pkce-challenge が top level await 使って(cryptoを条件付きで import して)いるため、うまく動きませんでした。 |
💡 Summary
Error [ERR_PACKAGE_PATH_NOT_EXPORTED]: Jest: Got error running globalSetup - /<略>/misskey/packages/backend/built-test/entry.js, reason: No "exports" main defined in /<略>/misskey/packages/backend/node_modules/file-type/package.json
のようになります。
関連?: sindresorhus/file-type#723
sindresorhus/file-type#696 (comment) に基づいて書き換えてみると、file-typeでのエラーはなくなり、代わりにmisskey-jsにおいて同様のエラーが表示されることが確認できました。(未確認ですが、恐らくその他でも発生するのではないかと予想します。)
GitHub Actionsでは現在は22.11.0が使用されていたので、そちらに変更すると正常に実行できました。22.12または22.13での何らかの変更点が影響していると考えられます。
🥰 Expected Behavior
e2eテストが実行出来る
🤬 Actual Behavior
e2eテストが実行出来ない
📝 Steps to Reproduce
pnpm --filter backend test:e2e
の実行で前述のエラー💻 Frontend Environment
🛰 Backend Environment (for server admin)
Do you want to address this bug yourself?
The text was updated successfully, but these errors were encountered: