From d3476fe5b2e5ef55cc170f6f38d017afea32c7e8 Mon Sep 17 00:00:00 2001 From: Christoph Reiter <reiter.christoph@gmail.com> Date: Thu, 3 Oct 2019 16:09:45 +0200 Subject: [PATCH] Add code splitting; Split main and demo bundle --- .../assets/index.html | 2 +- .../package.json | 2 +- .../rollup.config.js | 11 ++- .../src/demo.js | 97 +------------------ .../src/index.js | 1 - ...owledge-base-web-page-element-view-demo.js | 96 ++++++++++++++++++ ...u-knowledge-base-web-page-element-view.js} | 0 .../test/unit.js | 4 +- 8 files changed, 108 insertions(+), 105 deletions(-) delete mode 100644 packages/knowledge-base-web-page-element-view/src/index.js create mode 100644 packages/knowledge-base-web-page-element-view/src/vpu-knowledge-base-web-page-element-view-demo.js rename packages/knowledge-base-web-page-element-view/src/{vpu-kb-wpe-view.js => vpu-knowledge-base-web-page-element-view.js} (100%) diff --git a/packages/knowledge-base-web-page-element-view/assets/index.html b/packages/knowledge-base-web-page-element-view/assets/index.html index 82dd3bf5..866c51b3 100644 --- a/packages/knowledge-base-web-page-element-view/assets/index.html +++ b/packages/knowledge-base-web-page-element-view/assets/index.html @@ -2,7 +2,7 @@ <html> <head> <meta charset="UTF-8"> - <script type="module" id="vpu-knowledge-base-web-page-element-view-src" src="bundle.js"></script> + <script type="module" id="vpu-knowledge-base-web-page-element-view-src" src="vpu-knowledge-base-web-page-element-view-demo.js"></script> </head> <style> vpu-knowledge-base-web-page-element-view-demo { diff --git a/packages/knowledge-base-web-page-element-view/package.json b/packages/knowledge-base-web-page-element-view/package.json index 59e0dfb1..e0cc14f5 100644 --- a/packages/knowledge-base-web-page-element-view/package.json +++ b/packages/knowledge-base-web-page-element-view/package.json @@ -1,7 +1,7 @@ { "name": "vpu-knowledge-base-web-page-element-view", "version": "1.0.0", - "main": "src/index.js", + "main": "src/vpu-knowledge-base-web-page-element-view.js", "devDependencies": { "chai": "^4.2.0", "i18next-scanner": "^2.10.2", diff --git a/packages/knowledge-base-web-page-element-view/rollup.config.js b/packages/knowledge-base-web-page-element-view/rollup.config.js index 26735234..3a9fe240 100644 --- a/packages/knowledge-base-web-page-element-view/rollup.config.js +++ b/packages/knowledge-base-web-page-element-view/rollup.config.js @@ -14,16 +14,19 @@ const build = (typeof process.env.BUILD !== 'undefined') ? process.env.BUILD : ' console.log("build: " + build); export default { - input: (build != 'test') ? 'src/demo.js' : 'test/**/*.js', + input: (build != 'test') ? ['src/vpu-knowledge-base-web-page-element-view.js', 'src/vpu-knowledge-base-web-page-element-view-demo.js'] : 'test/**/*.js', output: { - file: 'dist/bundle.js', - format: 'esm' + dir: 'dist', + entryFileNames: '[name].js', + chunkFileNames: 'shared/[name].[hash].[format].js', + format: 'esm', + sourcemap: true }, plugins: [ del({ targets: 'dist/*' }), - multiEntry(), + (build == 'test') ? multiEntry() : false, consts({ environment: build, }), diff --git a/packages/knowledge-base-web-page-element-view/src/demo.js b/packages/knowledge-base-web-page-element-view/src/demo.js index 2a74e22d..e176fe1e 100644 --- a/packages/knowledge-base-web-page-element-view/src/demo.js +++ b/packages/knowledge-base-web-page-element-view/src/demo.js @@ -1,96 +1 @@ -import {i18n} from './i18n'; -import {css, html, LitElement} from 'lit-element'; -import 'vpu-auth'; -import './vpu-kb-wpe-view'; -import * as commonUtils from 'vpu-common/utils'; -import bulmaCSSPath from "bulma/css/bulma.min.css"; - -class KnowledgeBaseWebPageElementViewDemo extends LitElement { - constructor() { - super(); - this.lang = 'de'; - this.noAuth = false; - } - - static get properties() { - return { - lang: { type: String }, - noAuth: { type: Boolean, attribute: 'no-auth' }, - }; - } - - update(changedProperties) { - changedProperties.forEach((oldValue, propName) => { - if (propName === "lang") { - i18n.changeLanguage(this.lang); - } - }); - - super.update(changedProperties); - } - - static get styles() { - // language=css - return css` - h1.title {margin-bottom: 1em;} - div.container {margin-bottom: 1.5em;} - `; - } - - getAuthComponentHtml() { - return this.noAuth ? html`` : html` - <div class="content"> - <vpu-auth lang="${this.lang}" client-id="${commonUtils.setting('keyCloakClientId')}" load-person remember-login></vpu-auth> - </div> - `; - } - - render() { - commonUtils.initAssetBaseURL('vpu-knowledge-base-web-page-element-view-src'); - const bulmaCSS = commonUtils.getAssetURL(bulmaCSSPath); - return html` - <link rel="stylesheet" href="${bulmaCSS}"> - <style> - vpu-knowledge-base-web-page-element-view.clean { - --KBBorder: initial; - --KBBorderRadius: initial; - --KBMargin: initial; - --KBPadding: initial; - } - vpu-knowledge-base-web-page-element-view.opt { - --KBBorder: 2px solid blue; - } - </style> - - <section class="section"> - <div class="container"> - <h1 class="title">KnowledgeBaseWebPageElementView-Demo</h1> - </div> - ${this.getAuthComponentHtml()} - <div class="container"> - <h2 class="subtitle">Deutsch</h2> - <p>Ein erster Schritt</p> - <vpu-knowledge-base-web-page-element-view lang="de" entry-point-url="${commonUtils.getAPiUrl()}" value="bedienstete/bibliothek/buch-ausleihen" text="Ein Buch ausleihen"></vpu-knowledge-base-web-page-element-view> - </div> - <div class="container"> - <h2 class="subtitle">Englisch</h2> - <p>A first step</p> - <vpu-knowledge-base-web-page-element-view lang="en" entry-point-url="${commonUtils.getAPiUrl()}" value="bedienstete/bibliothek/buch-ausleihen" text="Borrow a book"></vpu-knowledge-base-web-page-element-view> - </div> - <hr> - <div class="container"> - <p>mit Text in der WebComponent:</p> - <vpu-knowledge-base-web-page-element-view lang="${this.lang}" value="abc/def/xyz" text="FAQ"></vpu-knowledge-base-web-page-element-view> - </div> - <hr> - <div class="container"> - <p>ohne Text in der WebComponent:</p> - Kontaktieren Sie uns unter... - <vpu-knowledge-base-web-page-element-view class="opt" lang="${this.lang}" value="abc/def/klm"></vpu-knowledge-base-web-page-element-view> - </div> - </section> - `; - } -} - -commonUtils.defineCustomElement('vpu-knowledge-base-web-page-element-view-demo', KnowledgeBaseWebPageElementViewDemo); +import './vpu-knowledge-base-web-page-element-view-demo.js'; \ No newline at end of file diff --git a/packages/knowledge-base-web-page-element-view/src/index.js b/packages/knowledge-base-web-page-element-view/src/index.js deleted file mode 100644 index ec83d215..00000000 --- a/packages/knowledge-base-web-page-element-view/src/index.js +++ /dev/null @@ -1 +0,0 @@ -import './vpu-kb-wpe-view'; diff --git a/packages/knowledge-base-web-page-element-view/src/vpu-knowledge-base-web-page-element-view-demo.js b/packages/knowledge-base-web-page-element-view/src/vpu-knowledge-base-web-page-element-view-demo.js new file mode 100644 index 00000000..be09b9b6 --- /dev/null +++ b/packages/knowledge-base-web-page-element-view/src/vpu-knowledge-base-web-page-element-view-demo.js @@ -0,0 +1,96 @@ +import {i18n} from './i18n'; +import {css, html, LitElement} from 'lit-element'; +import 'vpu-auth'; +import './vpu-knowledge-base-web-page-element-view.js'; +import * as commonUtils from 'vpu-common/utils'; +import bulmaCSSPath from "bulma/css/bulma.min.css"; + +class KnowledgeBaseWebPageElementViewDemo extends LitElement { + constructor() { + super(); + this.lang = 'de'; + this.noAuth = false; + } + + static get properties() { + return { + lang: { type: String }, + noAuth: { type: Boolean, attribute: 'no-auth' }, + }; + } + + update(changedProperties) { + changedProperties.forEach((oldValue, propName) => { + if (propName === "lang") { + i18n.changeLanguage(this.lang); + } + }); + + super.update(changedProperties); + } + + static get styles() { + // language=css + return css` + h1.title {margin-bottom: 1em;} + div.container {margin-bottom: 1.5em;} + `; + } + + getAuthComponentHtml() { + return this.noAuth ? html`` : html` + <div class="content"> + <vpu-auth lang="${this.lang}" client-id="${commonUtils.setting('keyCloakClientId')}" load-person remember-login></vpu-auth> + </div> + `; + } + + render() { + commonUtils.initAssetBaseURL('vpu-knowledge-base-web-page-element-view-src'); + const bulmaCSS = commonUtils.getAssetURL(bulmaCSSPath); + return html` + <link rel="stylesheet" href="${bulmaCSS}"> + <style> + vpu-knowledge-base-web-page-element-view.clean { + --KBBorder: initial; + --KBBorderRadius: initial; + --KBMargin: initial; + --KBPadding: initial; + } + vpu-knowledge-base-web-page-element-view.opt { + --KBBorder: 2px solid blue; + } + </style> + + <section class="section"> + <div class="container"> + <h1 class="title">KnowledgeBaseWebPageElementView-Demo</h1> + </div> + ${this.getAuthComponentHtml()} + <div class="container"> + <h2 class="subtitle">Deutsch</h2> + <p>Ein erster Schritt</p> + <vpu-knowledge-base-web-page-element-view lang="de" entry-point-url="${commonUtils.getAPiUrl()}" value="bedienstete/bibliothek/buch-ausleihen" text="Ein Buch ausleihen"></vpu-knowledge-base-web-page-element-view> + </div> + <div class="container"> + <h2 class="subtitle">Englisch</h2> + <p>A first step</p> + <vpu-knowledge-base-web-page-element-view lang="en" entry-point-url="${commonUtils.getAPiUrl()}" value="bedienstete/bibliothek/buch-ausleihen" text="Borrow a book"></vpu-knowledge-base-web-page-element-view> + </div> + <hr> + <div class="container"> + <p>mit Text in der WebComponent:</p> + <vpu-knowledge-base-web-page-element-view lang="${this.lang}" value="abc/def/xyz" text="FAQ"></vpu-knowledge-base-web-page-element-view> + </div> + <hr> + <div class="container"> + <p>ohne Text in der WebComponent:</p> + Kontaktieren Sie uns unter... + <vpu-knowledge-base-web-page-element-view class="opt" lang="${this.lang}" value="abc/def/klm"></vpu-knowledge-base-web-page-element-view> + </div> + </section> + `; + } +} + +commonUtils.defineCustomElement('vpu-knowledge-base-web-page-element-view-demo', KnowledgeBaseWebPageElementViewDemo); diff --git a/packages/knowledge-base-web-page-element-view/src/vpu-kb-wpe-view.js b/packages/knowledge-base-web-page-element-view/src/vpu-knowledge-base-web-page-element-view.js similarity index 100% rename from packages/knowledge-base-web-page-element-view/src/vpu-kb-wpe-view.js rename to packages/knowledge-base-web-page-element-view/src/vpu-knowledge-base-web-page-element-view.js diff --git a/packages/knowledge-base-web-page-element-view/test/unit.js b/packages/knowledge-base-web-page-element-view/test/unit.js index 24c23287..1dd031e8 100644 --- a/packages/knowledge-base-web-page-element-view/test/unit.js +++ b/packages/knowledge-base-web-page-element-view/test/unit.js @@ -1,5 +1,5 @@ -import '../src/vpu-kb-wpe-view'; -import '../src/demo'; +import '../src/vpu-knowledge-base-web-page-element-view.js'; +import '../src/demo.js'; describe('vpu-knowledge-base-web-page-element-view basics', () => { let node; -- GitLab