misskey/pnpm-workspace.yaml
anatawa12 21a4f95bd6
fix: the script contains locale json is prefetched (#17585)
This commit upgrades rolldown used by vite to 1.1.0 and set
includeDependenciesRecursively instead of maxSize for
i18n code splitting group.

We unexpectedly prefetched the script file includes locale JSON
before this fix because locale inliner did not remove prefetch
for transitive dependency of i18n global variable.

Current locale inliner assumes the file contains i18n global
variable and the file contains i18n global variable are same file
and only removes prefetch for the file for i18n global variable
and leaves dependency files of the file.
However, in the previous fix for rolldown migration regression,
we set `maxSize: 1` for manual chunk of i18n.
This makes the chunk for i18n global variable (@/i18n.js) and
the chunk includes locale JSON (@@/js/locale.js) distinct chunks.
As a result, only prefetch for i18n global is removed and local
JSON remain in the prefetch file name dictionary (__vite__mapDeps).

There is two ways to fix this problem: 1) make rolldown to bundle
i18n related files into one but leave unrelated files separated
module or 2) update locale inliner to remove transitive dependency
of i18n of __vite__mapDeps.
2nd way is prune to rolldown changes, and it's possible by parsing
each .js file to (re)create module graph in inliner, it's complex.
Therefore, this commit fixes this with 1st way with
includeDependenciesRecursively option on `codeSplitting.groups`
newly added in rolldown 1.1.0.
Since latest vite as of writing (8.0.16) strictly depends on
rolldown 1.0.3, we cannot use it normally. We use overrides
to work around this problem. As far as I checked the vite
repository, upgrading rolldown to 1.1.x includes no code changes
except for package.json, so I hope this upgrade is safe.
2026-06-20 08:59:01 +09:00

70 lines
1.7 KiB
YAML

packages:
- packages/backend
- packages/frontend-shared
- packages/frontend
- packages/frontend-builder
- packages/frontend-embed
- packages/i18n
- packages/icons-subsetter
- packages/sw
- packages/misskey-js
- packages/misskey-js/generator
- packages/misskey-reversi
- packages/misskey-bubble-game
allowBuilds:
'@nestjs/core': true
'@parcel/watcher': true
'@sentry/profiling-node': true
'@sentry-internal/node-cpu-profiler': true
'@tensorflow/tfjs-node': true
bufferutil: true
canvas: true
core-js: true
cypress: true
esbuild: true
msgpackr-extract: true
msw: true
nice-napi: true
re2: true
sharp: true
utf-8-validate: true
v-code-diff: true
vue-demi: true
exifreader: false
minimumReleaseAge: 10080 # delay 7days to mitigate supply-chain attack
minimumReleaseAgeExclude:
- '@misskey-dev/*'
- '@syuilo/aiscript'
- buraha
- mfm-js
- slacc
- slacc-android-arm-eabi
- slacc-android-arm64
- slacc-darwin-arm64
- slacc-darwin-universal
- slacc-darwin-x64
- slacc-freebsd-x64
- slacc-linux-arm-gnueabihf
- slacc-linux-arm64-gnu
- slacc-linux-arm64-musl
- slacc-linux-x64-gnu
- slacc-linux-x64-musl
- slacc-win32-arm64-msvc
- slacc-win32-x64-msvc
- '@typescript/native-preview*'
- pnpm
- esbuild # 脆弱性対応。そのうち消す
- '@esbuild/*' # 脆弱性対応。そのうち消す
- js-yaml # 脆弱性対応。そのうち消す
- vite # 脆弱性対応。そのうち消す
- form-data # 脆弱性対応。そのうち消す
- tar
overrides:
'@aiscript-dev/aiscript-languageserver': '-'
chokidar: 5.0.0
lodash: 4.18.1
# remove when vite is updated to versions with rolldown > 1.1.0
vite>rolldown: "~1.1.0"
engineStrict: true
saveExact: true
shellEmulator: true