mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-07-12 07:36:42 +08:00
1201f7c350
#### PR Dependency Tree * **PR #14957** 👈 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** * Updated minimum Node version requirement to 22.12.0 or later. * Updated build tool dependencies including rspack and related packages. * Removed CI-specific logging behavior from development server. * Migrated to native HTML plugin integration for improved build efficiency. * Simplified build configuration by removing unused experimental options. <!-- review_stack_entry_start --> [](https://app.coderabbit.ai/change-stack/toeverything/AFFiNE/pull/14957) <!-- review_stack_entry_end --> <!-- end of auto-generated comment: release notes by coderabbit.ai -->
73 lines
1.8 KiB
TypeScript
73 lines
1.8 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',
|
|
] 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',
|
|
},
|
|
],
|
|
};
|