# Migration

Migration from version 4 to 5.

1. Update manifest.json

   Add `"bundled": true` to the app manifest file.

   **manifest.json**

   ```json
   {
     "id": "se.soleil.myApp",
     "version": "1.0.0",
     "name": "My app",
     "author": "Soleil AB",
     "description": "",
     "helpUrl": "https://soleil.se/support",
     "type": "WebApp",
     "bundled": true
   }
   ```

2. Update index.js

   Rendering is now using WebApps 2 render functions.

   **Universal**

   **index.js**

   ```js
    import router from '@sitevision/api/common/router';
    import { render } from '@soleil-se/app-util/server/svelte';


    import App from './App.svelte';


    router.get('/', (req, res) => {
      const props = { foo: 'bar' };
      const html = render(App, props);
      res.send(html);
      res.agnosticRender(html, props);
    });
   ```

   **SSR**

   **index.js**

   ```js
    import router from '@sitevision/api/common/router';
    import { renderServer } from '@soleil-se/app-util/server/svelte';
    import { render } from '@soleil-se/app-util/server/svelte';


    import App from './App.svelte';


    router.get('/', (req, res) => {
      const props = { foo: 'bar' };
      const html = renderServer(App, props);
      const html = render(App, props);
      res.send(html);
    });
   ```

   **CSR**

   **index.js**

   ```js
    import router from '@sitevision/api/common/router';
    import { render } from '@soleil-se/app-util/server';


    router.get('/', (req, res) => {
      const props = { foo: 'bar' };
      res.send(render(props));
      res.agnosticRender('', props)
    });
   ```

3. Update main.js (if applicable)

   Is now expecting a default export with a callback function

   **./src/main.js**

   ```js
   import { render } from '@soleil-se/app-util/client/svelte';
   import App from './App.svelte';


    export default (props, target) => {
     render(App, { props, target });
    };
   ```