Skip to content
Snippets Groups Projects
Commit 407858a3 authored by Reiter, Christoph's avatar Reiter, Christoph :snake:
Browse files

Add code splitting; split main and demo bundle

parent 1cd0dc33
No related branches found
No related tags found
No related merge requests found
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<html> <html>
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<script type="module" src="bundle.js"></script> <script type="module" src="vpu-language-select-demo.js"></script>
<style> <style>
body { body {
font-family: sans; font-family: sans;
......
{ {
"name": "vpu-language-select", "name": "vpu-language-select",
"version": "1.0.0", "version": "1.0.0",
"main": "src/index.js", "main": "src/vpu-language-select.js",
"devDependencies": { "devDependencies": {
"karma": "^4.2.0", "karma": "^4.2.0",
"karma-chai": "^0.1.0", "karma-chai": "^0.1.0",
...@@ -20,6 +20,7 @@ ...@@ -20,6 +20,7 @@
"rollup-plugin-terser": "^5.1.1", "rollup-plugin-terser": "^5.1.1",
"rollup-plugin-json": "^4.0.0", "rollup-plugin-json": "^4.0.0",
"rollup-plugin-multi-entry": "^2.1.0", "rollup-plugin-multi-entry": "^2.1.0",
"rollup-plugin-delete": "^1.1.0",
"i18next-scanner": "^2.10.2", "i18next-scanner": "^2.10.2",
"vpu-common": "file:./vendor/common" "vpu-common": "file:./vendor/common"
}, },
......
...@@ -7,18 +7,25 @@ import json from 'rollup-plugin-json'; ...@@ -7,18 +7,25 @@ import json from 'rollup-plugin-json';
import serve from 'rollup-plugin-serve'; import serve from 'rollup-plugin-serve';
import multiEntry from 'rollup-plugin-multi-entry'; import multiEntry from 'rollup-plugin-multi-entry';
import consts from 'rollup-plugin-consts'; import consts from 'rollup-plugin-consts';
import del from 'rollup-plugin-delete';
const build = (typeof process.env.BUILD !== 'undefined') ? process.env.BUILD : 'local'; const build = (typeof process.env.BUILD !== 'undefined') ? process.env.BUILD : 'local';
console.log("build: " + build); console.log("build: " + build);
export default { export default {
input: (build != 'test') ? 'src/demo.js' : 'test/**/*.js', input: (build != 'test') ? ['src/vpu-language-select.js', 'src/vpu-language-select-demo.js'] : 'test/**/*.js',
output: { output: {
file: 'dist/bundle.js', dir: 'dist',
format: 'esm' entryFileNames: '[name].js',
chunkFileNames: 'shared/[name].[hash].[format].js',
format: 'esm',
sourcemap: true
}, },
plugins: [ plugins: [
multiEntry(), del({
targets: 'dist/*'
}),
(build == 'test') ? multiEntry() : false,
consts({ consts({
environment: build, environment: build,
}), }),
......
import {html, LitElement} from 'lit-element'; import './vpu-language-select-demo.js';
import './language-select.js'; \ No newline at end of file
import * as commonUtils from 'vpu-common/utils';
class LanguageSelectDemo extends LitElement {
constructor() {
super();
this.lang = 'de';
this.handleChange = this.handleChange.bind(this);
}
static get properties() {
return {
lang: {type: String},
};
}
handleChange(e) {
this.lang = e.detail.lang;
}
connectedCallback() {
super.connectedCallback();
window.addEventListener('vpu-language-changed', this.handleChange);
}
disconnectedCallback() {
window.removeEventListener('vpu-language-changed', this.handleChange);
super.disconnectedCallback();
}
render() {
return html`${this.lang}`;
}
}
commonUtils.defineCustomElement('vpu-language-select-demo', LanguageSelectDemo);
import './language-select.js';
import {html, LitElement} from 'lit-element';
import './vpu-language-select.js';
import * as commonUtils from 'vpu-common/utils';
class LanguageSelectDemo extends LitElement {
constructor() {
super();
this.lang = 'de';
this.handleChange = this.handleChange.bind(this);
}
static get properties() {
return {
lang: {type: String},
};
}
handleChange(e) {
this.lang = e.detail.lang;
}
connectedCallback() {
super.connectedCallback();
window.addEventListener('vpu-language-changed', this.handleChange);
}
disconnectedCallback() {
window.removeEventListener('vpu-language-changed', this.handleChange);
super.disconnectedCallback();
}
render() {
return html`${this.lang}`;
}
}
commonUtils.defineCustomElement('vpu-language-select-demo', LanguageSelectDemo);
import '../src/language-select.js'; import '../src/vpu-language-select.js';
import '../src/demo.js'; import '../src/demo.js';
describe('vpu-language-select basics', () => { describe('vpu-language-select basics', () => {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment