refactor: webpack config (#11421)

This commit is contained in:
forehalo
2025-04-03 11:55:56 +00:00
parent 565d7b2b1e
commit c8d22d97d5
51 changed files with 766 additions and 547 deletions

View File

@@ -1,35 +1,26 @@
import { getConfig, start } from '@affine-tools/cli/bundle';
import { Workspace } from '@affine-tools/utils/workspace';
import webpack from 'webpack';
import { BundleCommand } from '@affine-tools/cli/bundle';
import { Package } from '@affine-tools/utils/workspace';
export default async () => {
const ws = new Workspace();
const webpackConfig = await getConfig(ws.getPackage('@affine/web'), true);
const definedPort = webpackConfig.devServer?.port ?? 8080;
await new Promise<void>((resolve, reject) => {
start(webpack(webpackConfig), {
...webpackConfig.devServer,
BundleCommand.dev(new Package('@affine/web'), {
onListening: server => {
// dev server has already started
if (server.options.port !== definedPort) {
if (server.options.port !== 8080) {
server.compiler.close(reject);
server.stop().catch(reject);
resolve();
} else {
server.middleware?.waitUntilValid?.(stats => {
if (stats?.hasErrors()) {
reject(new Error('Webpack build failed'));
} else {
resolve();
}
});
}
},
proxy: [],
})
.then(server => {
server.middleware?.waitUntilValid?.(stats => {
if (stats?.hasErrors()) {
reject(new Error('Webpack build failed'));
} else {
resolve();
}
});
})
.catch(reject);
}).catch(reject);
});
console.log('Dev server started');
};

View File

@@ -121,7 +121,7 @@ export const test = base.extend<{
electronRoot.join('package.json').value
);
// overwrite the app name
packageJson.name = 'affine-test-' + id;
packageJson.name = '@affine/electron-test-' + id;
// overwrite the path to the main script
packageJson.main = './main.js';
// write to the cloned dist