UNPKG

@soleil-se/app-util

Version:

Utility functions for WebApps, RESTApps and Widgets in Sitevision.

150 lines (105 loc) 2.54 kB
# Migration Migration from version 4 to 5. <!-- TOC --> - [Manifest](#manifest) - [index.js](#indexjs) - [Universal app](#universal-app) - [SSR app](#ssr-app) - [CSR app](#csr-app) - [main.js](#mainjs) <!-- /TOC --> ## Manifest 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 } ``` ## index.js Rendering is now using Webapps 2 render functions. ### Universal app Old ```js import router from '@sitevision/api/common/router'; import { render } from '@soleil-api/webapp-util/server/svelte'; import App from './App.svelte'; router.get('/', (req, res) => { const props = { foo: 'bar' }; res.send(render(App, props)); }); ``` New ```js import router from '@sitevision/api/common/router'; import { render } from '@soleil-api/webapp-util/server/svelte'; import App from './App.svelte'; router.get('/', (req, res) => { const props = { foo: 'bar' }; const html = render(App, props); res.agnosticRender(html, props); }); ``` ### SSR app Old ```js import router from '@sitevision/api/common/router'; import { renderServer } from '@soleil-api/webapp-util/server/svelte'; import App from './App.svelte'; router.get('/', (req, res) => { const props = { foo: 'bar' }; res.send(renderServer(App, props)); }); ``` New ```js import router from '@sitevision/api/common/router'; import { render } from '@soleil-api/webapp-util/server/svelte'; import App from './App.svelte'; router.get('/', (req, res) => { const props = { foo: 'bar' }; const html = render(App, props); res.send(html); }); ``` ### CSR app Old ```js import router from '@sitevision/api/common/router'; import { render } from '@soleil-api/webapp-util/server'; router.get('/', (req, res) => { const props = { foo: 'bar' }; res.send(render(props)); }); ``` New ```js import router from '@sitevision/api/common/router'; router.get('/', (req, res) => { const props = { foo: 'bar' }; res.agnosticRender('', props) }); ``` ## main.js Is now expecting a default export containing a function Old ```js import { render } from '@soleil-api/webapp-util/client/svelte'; import App from './App.svelte'; render(App); ``` New ```js import { render } from '@soleil-api/webapp-util/client/svelte'; import App from './App.svelte'; export default (props, target) => { render(App, { props, target }); }; ```