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

pnpm devで依存関係の更新が反映されない #13043

Closed
1 task
syuilo opened this issue Jan 20, 2024 · 46 comments · Fixed by #13091
Closed
1 task

pnpm devで依存関係の更新が反映されない #13043

syuilo opened this issue Jan 20, 2024 · 46 comments · Fixed by #13091
Labels
🐛Bug Unexpected behavior 🛠️Dev Development of Misskey itself

Comments

@syuilo
Copy link
Member

syuilo commented Jan 20, 2024

💡 Summary

pnpm devだと、例えば packages/misskey-bubble-game を編集したとしても古い内容が使われ続ける
以下を試しても変わらなかった

  • pnpm clean
  • pnpm build

なお、pnpm build からの pnpm start した場合は正常に読み込まれる(その後 pnpm dev するとやはり古い内容に戻る)

🥰 Expected Behavior

更新が反映される

🤬 Actual Behavior

更新が反映されない

📝 Steps to Reproduce

No response

💻 Frontend Environment

* Model and OS of the device(s):
* Browser:
* Server URL:
* Misskey:

🛰 Backend Environment (for server admin)

* Installation Method or Hosting Service:
* Misskey:
* Node:
* PostgreSQL:
* Redis:
* OS and Architecture:

Do you want to address this bug yourself?

  • Yes, I will patch the bug myself and send a pull request
@syuilo syuilo added ⚠️bug? This might be a bug 🛠️Dev Development of Misskey itself 🐛Bug Unexpected behavior and removed ⚠️bug? This might be a bug labels Jan 20, 2024
@syuilo
Copy link
Member Author

syuilo commented Jan 20, 2024

ブラウザを変えても変わらなかったから、ブラウザのどこかにキャッシュされてるとかでもなさそう

@kakkokari-gtyih
Copy link
Contributor

kakkokari-gtyih commented Jan 20, 2024

そもそもpnpm devではpackages/misskey-games系がビルドされなかった(要検証)ので手動でビルドしに行った

@syuilo
Copy link
Member Author

syuilo commented Jan 20, 2024

自分の環境だとビルド自体はされるわね

@kakkokari-gtyih
Copy link
Contributor

/scripts/dev.mjsをいじってないとか?

@syuilo
Copy link
Member Author

syuilo commented Jan 20, 2024

あーーーそれかも

@kakkokari-gtyih
Copy link
Contributor

clean.jsにも当該の記述がないので同様かも

@syuilo
Copy link
Member Author

syuilo commented Jan 20, 2024

clean.jsにmisskey-jsが無いのは意図してるのかしら

@kakkokari-gtyih
Copy link
Contributor

わからない

@syuilo
Copy link
Member Author

syuilo commented Jan 20, 2024

意図してなさそうな雰囲気だから直すか

@kakkokari-gtyih
Copy link
Contributor

clean.jsにも当該の記述がないので同様かも

pnpm buildでゲーム系のpackageがビルドされないのもどこかに記述が入っていないからだと思われ(どこかは分からなかった)

@syuilo
Copy link
Member Author

syuilo commented Jan 20, 2024

なんか Could not resolve "misskey-js" が出るようになった

@kakkokari-gtyih
Copy link
Contributor

kakkokari-gtyih commented Jan 20, 2024

package.json の workspace と pnpm-workspace.yaml の記述が食い違ってるのって何か意図があるのかしら

@syuilo
Copy link
Member Author

syuilo commented Jan 20, 2024

あー

@kakkokari-gtyih
Copy link
Contributor

package.json の workspace と pnpm-workspace.yaml の記述が食い違ってるのって何か意図があるのかしら

関連のpnpmのissueとかを見てきたけどあまり関係なさそうかも?

@syuilo
Copy link
Member Author

syuilo commented Jan 20, 2024

44b8ac1
いろいろ直したけど pnpm dev すると Could not resolve "misskey-js" が出るようになってしまった

@syuilo
Copy link
Member Author

syuilo commented Jan 20, 2024

pnpm build からの pnpm start は問題なし

@samunohito
Copy link
Member

44b8ac1#diff-0559901a4c3b5be9b8257debd3cd795b0424df2de22427404d0c1c82beb8311bR25-R29

このあたりに

await execa('pnpm', ['--filter', 'misskey-js', 'build'], {
	cwd: _dirname + '/../',
	stdout: process.stdout,
	stderr: process.stderr,
});

とか入れると直るかも

@kakkokari-gtyih
Copy link
Contributor

他のパッケージより先にmisskey-jsがビルドされておく必要があるのか

@samunohito
Copy link
Member

(devいじったときに漏れてて申し訳ない)

@syuilo
Copy link
Member Author

syuilo commented Jan 20, 2024

直った 🙏🏻 🙏🏻 🙏🏻 🙏🏻 🙏🏻 🙏🏻 🙏🏻

@syuilo syuilo closed this as completed Jan 20, 2024
@syuilo
Copy link
Member Author

syuilo commented Jan 20, 2024

あれ直ってないかも

@syuilo
Copy link
Member Author

syuilo commented Jan 20, 2024

pnpm devで依存関係の更新が反映されない

が直ってないわね

@syuilo syuilo reopened this Jan 20, 2024
@syuilo
Copy link
Member Author

syuilo commented Jan 20, 2024

viteのバグかしら

@syuilo
Copy link
Member Author

syuilo commented Jan 20, 2024

viteのキャッシュってどこにあるんだろ

@samunohito
Copy link
Member

夜でよければ見ます

@tamaina
Copy link
Contributor

tamaina commented Jan 20, 2024

@tamaina
Copy link
Contributor

tamaina commented Jan 20, 2024

これかも

vitejs/vite#14099

@syuilo
Copy link
Member Author

syuilo commented Jan 20, 2024

かも

@syuilo
Copy link
Member Author

syuilo commented Jan 20, 2024

@syuilo
Copy link
Member Author

syuilo commented Jan 20, 2024

https://ja.vitejs.dev/config/dep-optimization-options.html#optimizedeps-exclude ?

これは既に設定されてる

いや嘘

@acid-chicken
Copy link
Member

viteのキャッシュってどこにあるんだろ

node_modules/.cache/vite みたいなのない?

@samunohito
Copy link
Member

(自分のローカル環境だとあっさり反映されてしまった…)

@kakkokari-gtyih
Copy link
Contributor

kakkokari-gtyih commented Jan 20, 2024

(off-topic) Dockerも同様にmisskey-games系のパッケージの記載がないので失敗している

ref: https://mk.taiy.me/notes/9opel9peuc

@taiyme
Copy link
Contributor

taiyme commented Jan 20, 2024

(最新のdevelopでdocker compose buildに失敗しています)

@syuilo
Copy link
Member Author

syuilo commented Jan 20, 2024

(off-topic) Dockerも同様にmisskey-games系のパッケージの記載がないので失敗している

ref: https://mk.taiy.me/notes/9opel9peuc

直ったかも

@kanasaki15
Copy link

kanasaki15 commented Jan 20, 2024

(もしかして今のdevelop最新コミットで非docker環境でビルドがコケるのってこのissues関係してます?)

> misskey@2023.12.2 build-pre /home/misskey/misskey
> node ./scripts/build-pre.js

Scope: 7 of 8 workspace projects
packages/misskey-js build$ npm run ts
x > misskey-js@0.0.16 ts
x > npm run ts-esm && npm run ts-dts
x > misskey-js@0.0.16 ts-esm
x > tsc --outDir built/esm
mq Running...
packages/misskey-reversi build$ npm run ts
x > misskey-reversi@0.0.1 ts
x > npm run ts-esm && npm run ts-dts
x > misskey-reversi@0.0.1 ts-esm
x > tsc --outDir built/esm
x > misskey-reversi@0.0.1 ts-dts
x > tsc --outDir built/dts --declaration true --emitDeclarationOnly true --declarationMap true
mq Running...
packages/misskey-bubble-game build$ npm run ts
x > misskey-bubble-game@0.0.1 ts
x > npm run ts-esm && npm run ts-dts
x > misskey-bubble-game@0.0.1 ts-esm
x > tsc --outDir built/esm
x src/game.ts(7,25): error TS7016: Could not find a declaration file for module 'matter-js'. '/home/misskey/misskey/node_modules/.pnpm/matter-js@0.19.0/node_modules/matter-js/build/matter.js' implicitly has an 'any' type.
x   Try `npm i --save-dev @types/matter-js` if it exists or add a new declaration (.d.ts) file containing `declare module 'matter-js';`
x src/game.ts(8,24): error TS7016: Could not find a declaration file for module 'seedrandom'. '/home/misskey/misskey/node_modules/.pnpm/seedrandom@3.0.5/node_modules/seedrandom/index.js' implicitly has an 'any' type.
x   Try `npm i --save-dev @types/seedrandom` if it exists or add a new declaration (.d.ts) file containing `declare module 'seedrandom';`
x src/game.ts(365,39): error TS7006: Parameter 'x' implicitly has an 'any' type.
x src/game.ts(365,110): error TS7006: Parameter 'x' implicitly has an 'any' type.
x npm ERR! Lifecycle script `ts-esm` failed with error:
x npm ERR! Error: command failed
x npm ERR!   in workspace: misskey-bubble-game@0.0.1
x npm ERR!   at location: /home/misskey/misskey/packages/misskey-bubble-game
x npm ERR! Lifecycle script `ts` failed with error:
x npm ERR! Error: command failed
x npm ERR!   in workspace: misskey-bubble-game@0.0.1
x npm ERR!   at location: /home/misskey/misskey/packages/misskey-bubble-game
mq Failed in 1.4s at /home/misskey/misskey/packages/misskey-bubble-game
/home/misskey/misskey/packages/misskey-bubble-game:
 ERR_PNPM_RECURSIVE_RUN_FIRST_FAIL  misskey-bubble-game@0.0.1 build: `npm run ts`
Exit status 1
 ELIFECYCLE  Command failed with exit code 1.

@fruitriin
Copy link
Contributor

追加されたリバーシとバブルゲームが一度もビルドされてないとpnpm devできないと思う(misskey-jsも同様なので今に始まったことではない)

@syuilo
Copy link
Member Author

syuilo commented Jan 26, 2024

困ったわね

@syuilo
Copy link
Member Author

syuilo commented Jan 26, 2024

viteのキャッシュってどこにあるんだろ

node_modules/.cache/vite みたいなのない?

なさそう

@kakkokari-gtyih
Copy link
Contributor

(off-topic) https://misskey.io/notes/9oxy5xhutbry088q

@syuilo
Copy link
Member Author

syuilo commented Jan 26, 2024

あと pnpm dev するとパッケージを import してるとこが Cannot find module 'misskey-bubble-game' or its corresponding type declarations みたいになってしまう(VSCode再起動すれば直るけど、pnpm dev するたびに再起動必要というのは意味がなくなってしまっている)

@samunohito
Copy link
Member

@syuilo
たぶんなおったとおもいます

@syuilo
Copy link
Member Author

syuilo commented Jan 27, 2024

あれ、ビルドしたときに型定義が生成されない気がする

@syuilo
Copy link
Member Author

syuilo commented Jan 27, 2024

pnpm build したときに built 内に esm しか生成されない

@samunohito
Copy link
Member

esbuild化されたときにそうなってましたね。
怖かったのでbuildのほうは触ってないです

@syuilo
Copy link
Member Author

syuilo commented Jan 27, 2024

ふぅ~む

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🐛Bug Unexpected behavior 🛠️Dev Development of Misskey itself
Projects
None yet
Development

Successfully merging a pull request may close this issue.

8 participants