Files
AFFiNE/tools/cli/src/bundle-shared.ts
DarkSky aca47445aa feat(client): migration old package to rspack (#15068)
#### PR Dependency Tree


* **PR #15068** 👈

This tree was auto-generated by
[Charcoal](https://github.com/danerwilliams/charcoal)

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Chores**
* Upgraded Vitest across packages to 4.1.8 and bumped Tailwind PostCSS
to 4.3.0
* CLI/tooling updated to support the media-capture-playground package
and adjust build/dev server behavior

* **Bug Fixes**
  * Improved workspace deletion reliability in the Electron app

* **Refactor**
* Simplified media capture playground build setup (build/config
adjustments)

* **Tests**
* Made tests more robust by preserving/restoring environment state
during runs
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-06-02 12:00:50 +08:00

74 lines
1.9 KiB
TypeScript

import type { Configuration as RspackDevServerConfiguration } from '@rspack/dev-server';
export const RSPACK_SUPPORTED_PACKAGES = [
'@affine/admin',
'@affine/web',
'@affine/mobile',
'@affine/ios',
'@affine/android',
'@affine/electron-renderer',
'@affine/server',
'@affine/reader',
'@affine/media-capture-playground',
] as const;
const rspackSupportedPackageSet = new Set<string>(RSPACK_SUPPORTED_PACKAGES);
export function isRspackSupportedPackageName(name: string) {
return rspackSupportedPackageSet.has(name);
}
export function assertRspackSupportedPackageName(name: string) {
if (isRspackSupportedPackageName(name)) {
return;
}
throw new Error(
`Rspack bundling currently supports: ${Array.from(RSPACK_SUPPORTED_PACKAGES).join(', ')}. Unsupported package: ${name}.`
);
}
export const DEFAULT_DEV_SERVER_CONFIG: RspackDevServerConfiguration = {
host: '0.0.0.0',
allowedHosts: 'all',
hot: false,
liveReload: true,
compress: !process.env.CI,
setupExitSignals: true,
client: {
overlay: process.env.DISABLE_DEV_OVERLAY === 'true' ? false : undefined,
logging: process.env.CI ? 'none' : 'error',
// see: https://webpack.js.org/configuration/dev-server/#websocketurl
// must be an explicit ws/wss URL because custom protocols (e.g. assets://)
// cannot be used to construct WebSocket endpoints in Electron
webSocketURL: 'ws://0.0.0.0:8080/ws',
},
historyApiFallback: {
rewrites: [
{
from: /.*/,
to: () => {
return process.env.SELF_HOSTED === 'true'
? '/selfhost.html'
: '/index.html';
},
},
],
},
proxy: [
{
context: '/api',
target: 'http://localhost:3010',
},
{
context: '/socket.io',
target: 'http://localhost:3010',
ws: true,
},
{
context: '/graphql',
target: 'http://localhost:3010',
},
],
};