# Bygg appar utan main.js

I och med Sitevision 2025.07.1 (2025.08.1 för on-prem) kommer prestandaförbättringar för appar utan klientsiderendering då `main.js`-filen inte längre behövs.\
Det händer ganska ofta att WebAppar inte har någon klientsiderendering, dvs de har en tom `main.js`-fil. Det kan handla om appar som endast renderas på servern eller använder hooks för att lägga till innehåll i sidans `<head>`.\
En tom `main.js` har inkluderats automatiskt av `@soleil-se/app-build` så man som utvecklare inte behövt tänka på detta.

Problemet har varit att en tom `main.js`-fil har varit en obligatorisk del av WebAppen, dvs det har inte varit möjligt att ladda upp en WebApp utan den. Då laddar webbläsaren ner dessa tomma filer helt i onödan när en användare besöker sidan.

Läs mer i Sitevisions nyhet [Performance Improvements for Server-Side Rendered WebApps](https://developer.sitevision.se/archives/developer-news/developer-news/2025-08-27-performance-improvements-for-server-side-rendered-webapps).

## Vad behöver du göra?

Sedan version 2.5.0 av `@soleil-se/app-build` är det möjligt att bygga appar utan en `main.js`-fil.

1. Uppdatera `@soleil-se/app-build` till version 2.5.0 eller senare i din app.
2. Uppdatera versionen av `@sitevision/api` i package.json till version 2025.7.1 eller senare i din app.

```sh
npm install @soleil-se/app-build@^2.5.0 --save-dev
npm install @sitevision/api@^2025.7.1
```

**package.json**

```json
{
  "name": "webapp-se-soleil-example",
  "author": "Soleil AB",
  "license": "UNLICENSED",
  "type": "module",
  "private": true,
  "dependencies": {
    "@sitevision/api": "^2025.4.1",
    "@sitevision/api": "^2025.7.1",
    "@soleil-se/config-validate": "^1.2.1",
    "@soleil-se/config-svelte": "^1.29.2",
    "svelte": "^5.39.9",
    "@soleil-se/app-util": "^5.11.0"
  },
  "devDependencies": {
    "@soleil-se/build-app": "^2.4.1",
    "@soleil-se/build-app": "^2.5.0",
    "sass": "^1.93.2",
    "svelte-preprocess": "^6.0.3",
    "@soleil-se/eslint-config": "^6.2.6",
    "@soleil-se/stylelint-config": "^4.4.0",
    "eslint": "^9.37.0",
    "stylelint": "^16.25.0"
  },
  "scripts": {
    "build": "build-app build",
    "watch": "build-app watch",
    "start": "build-app start",
    "deploy": "build-app deploy"
  }
}
```

## Jag behöver fortfarande en tom main.js

Då behöver du inte göra något, bara fortsätt som vanligt så länge versionen av `@sitevision/api` är 2025.7.1 eller äldre.\
Om du har skapat en ny app men råkat sätta `@sitevision/api` till en version nyare än 2025.7.1 så kan du nedgradera den till 2025.4.1 eller äldre och installera beroenden på nytt.