diff --git a/demo.common.config.js b/demo.common.config.js new file mode 100644 index 0000000000000000000000000000000000000000..39ae08bddc696e2b3eb93df5483e96ce3bda93ff --- /dev/null +++ b/demo.common.config.js @@ -0,0 +1,7 @@ +export default { + basePath: '/dist/', + entryPointURL: 'http://127.0.0.1:8000', + keyCloakBaseURL: 'https://auth-dev.tugraz.at/auth', + keyCloakRealm: 'tugraz-vpu', + keyCloakClientId: 'auth-dev-mw-frontend-local', +} diff --git a/packages/app-shell/assets/index.html b/packages/app-shell/assets/index.html deleted file mode 100644 index f88f99eaa70347483b389beb1c80572283b41a1f..0000000000000000000000000000000000000000 --- a/packages/app-shell/assets/index.html +++ /dev/null @@ -1,27 +0,0 @@ -<!doctype html> -<html> -<head> - <meta charset="UTF-8"> - <meta name="viewport" content="width=device-width, initial-scale=1"> - - <style> - :root { - font-family: sans-serif; - font-weight: 300; - font-size: 11pt; - } - - body { - margin: 0; - } - </style> - - <script type="module" src="/dbp-app-shell.js"></script> -</head> - -<body> - -<dbp-app-shell auth requested-login-status entry-point-url="http://127.0.0.1:8000" keycloak-config='{"url": "https://auth-dev.tugraz.at/auth", "realm": "tugraz-vpu", "clientId": "auth-dev-mw-frontend-local", "silentCheckSsoRedirectUri": "/silent-check-sso.html"}' src="/example.topic.metadata.json"></dbp-app-shell> - -</body> -</html> \ No newline at end of file diff --git a/packages/app-shell/assets/index.html.ejs b/packages/app-shell/assets/index.html.ejs new file mode 100644 index 0000000000000000000000000000000000000000..7eb678f407b813f7739d9b8fb4873040e5cefc1e --- /dev/null +++ b/packages/app-shell/assets/index.html.ejs @@ -0,0 +1,33 @@ +<!doctype html> +<html> +<head> + <meta charset="UTF-8"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + + <style> + :root { + font-family: sans-serif; + font-weight: 300; + font-size: 11pt; + } + + body { + margin: 0; + } + </style> + + <script type="module" src="<%= getUrl(name + '.js') %>"></script> +</head> + +<body> + +<dbp-app-shell + auth + requested-login-status + entry-point-url="<%= entryPointURL %>" + keycloak-config='{"url": "<%= keyCloakBaseURL %>", "realm": "<%= keyCloakRealm %>", "clientId": "<%= keyCloakClientId %>", "silentCheckSsoRedirectUri": "<%= getUrl('silent-check-sso.html') %>"}' + src="<%= getUrl('example.topic.metadata.json') %>"> +</dbp-app-shell> + +</body> +</html> diff --git a/packages/app-shell/rollup.config.js b/packages/app-shell/rollup.config.js index 9eedee2b54da1b515d1860cd8471fd8fc56a430a..92f10ff63dff3d41b7fd5af9f62a3f61a8d594a3 100644 --- a/packages/app-shell/rollup.config.js +++ b/packages/app-shell/rollup.config.js @@ -1,20 +1,28 @@ import glob from 'glob'; +import url from 'url'; import resolve from '@rollup/plugin-node-resolve'; import commonjs from '@rollup/plugin-commonjs'; import copy from 'rollup-plugin-copy'; import serve from 'rollup-plugin-serve'; import del from 'rollup-plugin-delete'; import json from '@rollup/plugin-json'; +import emitEJS from 'rollup-plugin-emit-ejs'; import {getPackagePath, getDistPath} from '../../rollup.utils.js'; +import config from '../../demo.common.config.js'; const build = typeof process.env.BUILD !== 'undefined' ? process.env.BUILD : 'local'; console.log('build: ' + build); +const pkg = require('./package.json'); +const basePath = '/dist/'; +const appName = 'dbp-app-shell'; + export default (async () => { + let privatePath = await getDistPath(pkg.name); return { input: build != 'test' - ? ['src/dbp-app-shell.js', 'src/dbp-activity-example.js'] + ? ['src/' + appName + '.js', 'src/dbp-activity-example.js'] : glob.sync('test/**/*.js'), output: { dir: 'dist', @@ -27,13 +35,29 @@ export default (async () => { del({ targets: 'dist/*', }), + emitEJS({ + src: 'assets', + include: ['**/*.ejs', '**/.*.ejs'], + data: { + getUrl: (p) => { + return url.resolve(basePath, p); + }, + getPrivateUrl: (p) => { + return url.resolve(`${basePath}${privatePath}/`, p); + }, + name: appName, + entryPointURL: config.entryPointURL, + keyCloakBaseURL: config.keyCloakBaseURL, + keyCloakRealm: config.keyCloakRealm, + keyCloakClientId: config.keyCloakClientId, + }, + }), resolve(), commonjs(), json(), copy({ targets: [ {src: 'assets/silent-check-sso.html', dest: 'dist'}, - {src: 'assets/index.html', dest: 'dist'}, {src: 'assets/*.json', dest: 'dist'}, { src: await getPackagePath('@dbp-toolkit/common', 'assets/icons/*.svg'), @@ -43,8 +67,8 @@ export default (async () => { }), process.env.ROLLUP_WATCH === 'true' ? serve({ - contentBase: 'dist', - historyApiFallback: '/index.html', + contentBase: '.', + historyApiFallback: basePath + 'index.html', host: '127.0.0.1', port: 8002, })