Skip to content
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

update deps #14057

Draft
wants to merge 6 commits into
base: develop
Choose a base branch
from
Draft

update deps #14057

wants to merge 6 commits into from

Conversation

syuilo
Copy link
Member

@syuilo syuilo commented Jun 21, 2024

What

Why

Additional info (optional)

Checklist

  • Read the contribution guide
  • Test working in a local environment
  • (If needed) Add story of storybook
  • (If needed) Update CHANGELOG.md
  • (If possible) Add tests

@github-actions github-actions bot added packages/frontend Client side specific issue/PR packages/backend Server side specific issue/PR packages/misskey-js packages/sw labels Jun 21, 2024
Copy link
Contributor

github-actions bot commented Jun 21, 2024

このPRによるapi.jsonの差分

差分はこちら

Get diff files from Workflow Page

Copy link

codecov bot commented Jun 21, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 41.49%. Comparing base (4096dab) to head (aa55b59).
Report is 1 commits behind head on develop.

Additional details and impacted files
@@             Coverage Diff              @@
##           develop   #14057       +/-   ##
============================================
- Coverage    77.80%   41.49%   -36.31%     
============================================
  Files          184     1520     +1336     
  Lines        25438   191931   +166493     
  Branches       487     3527     +3040     
============================================
+ Hits         19791    79634    +59843     
- Misses        5640   111727   +106087     
- Partials         7      570      +563     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@syuilo
Copy link
Member Author

syuilo commented Jun 21, 2024

めんどくさい :angry_ai: :angry_ai: :angry_ai:
https://eslint.org/docs/latest/use/configure/migration-guide

@syuilo
Copy link
Member Author

syuilo commented Jun 21, 2024

tsconfigRootDir: __dirname の部分をなんとかする必要がある

@samunohito
Copy link
Member

依存パッケージ側の何が変わって、どうすればいいのかはこれから確認しますが…
とりあえず、vitestと@vitest/coverage-v8のバージョンを0.34.6に戻せばテストは通るようになりました

@samunohito
Copy link
Member

0.34.6→1.0.0(と1.0.4)の時点でもうダメな模様

@samunohito
Copy link
Member

locales/index.jsの

const locales = languages.reduce((a, c) => (a[c] = yaml.load(clean(fs.readFileSync(new URL(`${c}.yml`, import.meta.url), 'utf-8'))) || {}, a), {});

const metaUrl = import.meta.url;
const locales = languages.reduce((a, c) => (a[c] = yaml.load(clean(fs.readFileSync(new URL(`${c}.yml`, metaUrl), 'utf-8'))) || {}, a), {});

こうしたらpassした…謎

@samunohito
Copy link
Member

samunohito commented Jun 26, 2024

@samunohito
Copy link
Member

@samunohito
Copy link
Member

夜まで触れないので忘れないうちにメモ

#14057 (comment)


vitestを1.0以上にすることで、import.meta.urlの中にhttp:https://localhost:3000という文字列が入るようになる(というか、vitest側のプルリクを見るに、import.met.urlが置換されている)。一度変数におとすと動くのは、この置換処理を免れるからだと思う。
置換されなければ、従来通りファイルシステムから見たlocales/index.jsのパスが使われるので、ymlの読み込みに成功する。

(置換されてしまうと、http:https://localhost:3000/ja-JP.ymlみたいな感じになってymlの取得に失敗し…ということ)

@samunohito
Copy link
Member

方針(いずれか)

  • ローカル変数に落としてお茶を濁す(手っ取り早いが、パッと見でバグっぽい挙動を利用しているのでどうだろう感ある)
  • locales/index.jsのURL解決方法を拡張し、http/fileの両プロトコルでいけるようにする(httpの場合、ymlが置かれてるパスは何処なのか調べる必要がある)
  • vm?の上で動くのがまずそうなので、nodeで動くようにする?(出来るか分からない)

@samunohito
Copy link
Member

samunohito commented Jun 27, 2024

locales/index.jsのURL解決方法を拡張し、http/fileの両プロトコルでいけるようにする(httpの場合、ymlが置かれてるパスは何処なのか調べる必要がある)

localhost:3000でサーバを作ってくれてないっぽい…?ので×

vm?の上で動くのがまずそうなので、nodeで動くようにする?(出来るか分からない)

Environmentを拡張してhappy-domを使うモードでtransformModeをssrにする方式↓にしたけど、別のエラーが出て×

// こんなかんじのファイルを作って
import type { Environment } from 'vitest'

import { builtinEnvironments } from 'vitest/environments'

export default <Environment>{
	...builtinEnvironments['happy-dom'],
	name: 'happy-dom-ssr',
        // 素の状態だとここがwebになってる
	transformMode: 'ssr',
}
// vite.config.tsの170行目あたりをこうした
		test: {
			environment: './vitest.env.happy-dom-ssr.ts',
			deps: {
				optimizer: {
					web: {
						include: [
							// XXX: misskey-dev/browser-image-resizer has no "type": "module"
							'browser-image-resizer',
						],
					},
				},
			},
			includeSource: ['src/**/*.ts'],
		},

@samunohito
Copy link
Member

改めてvitestのissueを見直したけど、

ローカル変数に落としてお茶を濁す(手っ取り早いが、パッと見でバグっぽい挙動を利用するのでどう感じるだろう)

↑を提唱してたの、メンテナの人だった。
他に有効な手段を持った人がいない場合、もうこれでも良いかしら…

@kakkokari-gtyih kakkokari-gtyih added this to the v2024.7.0 milestone Jun 27, 2024
@samunohito
Copy link
Member

ひとまず、import.meta.urlをローカル変数化する形で Test (frontend) / vitest (20.12.2) (pull_request) を通るようにしました。他にいい案がある場合はrevert願います。

ついでに最新のdevelopを取り込み済みです。

@samunohito
Copy link
Member

(UI Testsも落ちてるけど、メッセージを見る限りインフラ起因ぽいので一旦見なかったことにしてる)

@samunohito
Copy link
Member

こんどはe2eも落ちてるなあ

@zyoshoka
Copy link
Contributor

なんか ip-cidr 側の問題な気がしています

@samunohito
Copy link
Member

🤯

@zyoshoka
Copy link
Contributor

とりあえず PR を書きました (https://redirect.github.com/ortexx/ip-cidr/pull/45) が、一先ずはエラー無視するか revert するかの二択だと思います

@zyoshoka
Copy link
Contributor

あと Chromatic はおそらくですが play 内で sleep っぽいことをしているコンポーネント達が軒並み死んでいる感があります(何故かは分かってません)

@zyoshoka
Copy link
Contributor

とりあえず PR を書きました (https://redirect.github.com/ortexx/ip-cidr/pull/45) が、一先ずはエラー無視するか revert するかの二択だと思います

思ってたより早くマージされましたので bump しました

@zyoshoka
Copy link
Contributor

Chromatic の Infrastructure error は #14101 で直ると思います

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
packages/backend Server side specific issue/PR packages/frontend Client side specific issue/PR packages/misskey-js packages/sw
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants