#### 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 -->
74 lines
1.9 KiB
TypeScript
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',
|
|
},
|
|
],
|
|
};
|