client-web umbau

This commit is contained in:
stefan
2025-09-10 15:49:55 +02:00
parent 8b5bf73de2
commit f43ece082c
5 changed files with 24 additions and 13 deletions
+6 -1
View File
@@ -11,11 +11,16 @@ kotlin {
js(IR) { js(IR) {
browser { browser {
commonWebpackConfig { commonWebpackConfig {
// devServer = devServer?.copy(
// port = 8080,
// static = mutableListOf("src/jsMain/resources")
// )
devServer = devServer?.copy( devServer = devServer?.copy(
port = 8080, port = 8080,
static = mutableListOf("src/jsMain/resources") static = mutableListOf(project.projectDir.resolve("src/jsMain/resources").path)
) )
// Webpack optimization settings // Webpack optimization settings
configDirectory = project.projectDir.resolve("webpack.config.d") configDirectory = project.projectDir.resolve("webpack.config.d")
} }
@@ -19,5 +19,6 @@
</head> </head>
<body> <body>
<div id="root"></div> <div id="root"></div>
<script src="web-app.js"></script>
</body> </body>
</html> </html>
+1 -10
View File
@@ -1,14 +1,5 @@
// Content Security Policy configuration for development // Content Security Policy configuration for development
// More relaxed CSP suitable for development environment
config.devServer = config.devServer || {}; config.devServer = config.devServer || {};
config.devServer.headers = config.devServer.headers || {}; config.devServer.headers = config.devServer.headers || {};
config.devServer.headers['Content-Security-Policy'] = config.devServer.headers['Content-Security-Policy'] =
"default-src 'self' 'unsafe-inline' 'unsafe-eval' data: blob:; " + "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; connect-src *; img-src 'self' data:; font-src 'self' data:; frame-src 'self';";
"script-src 'self' 'unsafe-inline' 'unsafe-eval' data: blob:; " +
"style-src 'self' 'unsafe-inline' data: blob:; " +
"img-src 'self' data: blob: http: https:; " +
"font-src 'self' data: blob: http: https:; " +
"connect-src 'self' ws: wss: http: https:; " +
"frame-src 'self' data: blob:; " +
"object-src 'none'; " +
"base-uri 'self';";
@@ -0,0 +1,14 @@
// Content Security Policy configuration for development
// More relaxed CSP suitable for development environment
config.devServer = config.devServer || {};
config.devServer.headers = config.devServer.headers || {};
config.devServer.headers['Content-Security-Policy'] =
"default-src 'self' 'unsafe-inline' 'unsafe-eval' data: blob:; " +
"script-src 'self' 'unsafe-inline' 'unsafe-eval' data: blob:; " +
"style-src 'self' 'unsafe-inline' data: blob:; " +
"img-src 'self' data: blob: http: https:; " +
"font-src 'self' data: blob: http: https:; " +
"connect-src 'self' ws: wss: http: https:; " +
"frame-src 'self' data: blob:; " +
"object-src 'none'; " +
"base-uri 'self';";
@@ -83,8 +83,8 @@ config.optimization = {
// Performance budget adjusted for Kotlin/JS applications // Performance budget adjusted for Kotlin/JS applications
// Note: Kotlin/JS apps require all dependencies loaded initially, so larger budgets are realistic // Note: Kotlin/JS apps require all dependencies loaded initially, so larger budgets are realistic
config.performance = { config.performance = {
maxAssetSize: 400000, // 400KB per asset (realistic for Kotlin libs) maxAssetSize: 1000000, // 1MB per asset (realistic for large Kotlin/Compose libs)
maxEntrypointSize: 2000000, // 2MB total entry point (realistic for Kotlin/JS + Compose) maxEntrypointSize: 7000000, // 7MB total entry point (realistic for Kotlin/JS + Compose)
hints: 'warning', hints: 'warning',
assetFilter: function(assetFilename) { assetFilter: function(assetFilename) {
// Only check JS files for performance // Only check JS files for performance