From 42e26ea44f85a24f56047b9b6173b114b44db050 Mon Sep 17 00:00:00 2001 From: Eugen Neuber <eugen.neuber@tugraz.at> Date: Wed, 28 Aug 2019 09:29:45 +0200 Subject: [PATCH] Upgrade build enviroment --- packages/data-table-view/package.json | 17 ++--- packages/data-table-view/rollup.config.js | 72 ++++++++++++------- .../data-table-view/src/data-table-view.js | 7 ++ packages/data-table-view/vendor/auth | 2 +- packages/data-table-view/vendor/common | 2 +- 5 files changed, 64 insertions(+), 36 deletions(-) diff --git a/packages/data-table-view/package.json b/packages/data-table-view/package.json index f629063d..7611f19f 100644 --- a/packages/data-table-view/package.json +++ b/packages/data-table-view/package.json @@ -12,15 +12,16 @@ "mocha": "^6.2.0", "chai": "^4.2.0", "rollup": "^1.11.3", - "rollup-plugin-commonjs": "^9.3.4", - "rollup-plugin-copy": "^2.0.1", - "rollup-plugin-node-resolve": "^4.2.3", - "rollup-plugin-postcss": "^2.0.3", - "rollup-plugin-serve": "^1.0.1", - "rollup-plugin-terser": "^4.0.4", + "rollup-plugin-commonjs": "^10.0.2", + "rollup-plugin-copy": "^3.1.0", "rollup-plugin-json": "^4.0.0", - "rollup-plugin-replace": "^2.2.0", "rollup-plugin-multi-entry": "^2.1.0", + "rollup-plugin-node-resolve": "^5.2.0", + "rollup-plugin-postcss": "^2.0.3", + "rollup-plugin-replace": "^2.2.0", + "rollup-plugin-serve": "^1.0.1", + "rollup-plugin-terser": "^5.1.1", + "rollup-plugin-url": "^2.2.2", "i18next-scanner": "^2.10.2", "vpu-auth": "file:./vendor/auth", "vpu-common": "file:./vendor/common" @@ -32,7 +33,7 @@ "datatables.net-responsive-dt": "^2.2.3", "i18next": "^17.0.3", "jquery": "^3.4.1", - "lit-element": "^2.1.0", + "lit-element": "^2.2.1", "lit-html": "^1.1.1" }, "scripts": { diff --git a/packages/data-table-view/rollup.config.js b/packages/data-table-view/rollup.config.js index 88cddf15..26e5d937 100644 --- a/packages/data-table-view/rollup.config.js +++ b/packages/data-table-view/rollup.config.js @@ -1,58 +1,78 @@ +import path from 'path'; import resolve from 'rollup-plugin-node-resolve'; import commonjs from 'rollup-plugin-commonjs'; -import postcss from 'rollup-plugin-postcss'; import copy from 'rollup-plugin-copy'; import {terser} from "rollup-plugin-terser"; import json from 'rollup-plugin-json'; import replace from "rollup-plugin-replace"; import serve from 'rollup-plugin-serve'; import multiEntry from 'rollup-plugin-multi-entry'; +import url from "rollup-plugin-url"; +const pkg = require('./package.json'); const build = (typeof process.env.BUILD !== 'undefined') ? process.env.BUILD : 'local'; console.log("build: " + build); +let manualChunks = Object.keys(pkg.dependencies).reduce(function (acc, item) { acc[item] = [item]; return acc;}, {}); +manualChunks = Object.keys(pkg.devDependencies).reduce(function (acc, item) { if (item.startsWith('vpu-')) acc[item] = [item]; return acc;}, manualChunks); + export default { input: (build !== 'test') ? 'src/demo.js' : 'test/**/*.js', output: { - file: 'dist/bundle.js', + dir: 'dist', + entryFileNames: pkg.name + '.js', + chunkFileNames: 'shared/[name].[hash].[format].js', format: 'esm' }, + manualChunks: manualChunks, + onwarn: function (warning, warn) { + // ignore "suggestions" warning re "use strict" + if (warning.code === 'MODULE_LEVEL_DIRECTIVE') { + return; + } + throw new Error(warning); + }, + watch: { + chokidar: true, + }, plugins: [ - multiEntry(), - resolve(), + (build == 'test') ? multiEntry() : false, + resolve({ + customResolveOptions: { + // ignore node_modules from vendored packages + moduleDirectory: path.join(process.cwd(), 'node_modules') + } + }), commonjs({ include: 'node_modules/**' }), json(), + url({ + limit: 0, + include: [ + "node_modules/bulma/**/*.css", + "node_modules/bulma/**/*.sass", + ], + emitFiles: true, + fileName: 'shared/[name].[hash][extname]' + }), replace({ "process.env.BUILD": '"' + build + '"', }), - postcss({ - inject: false, - minimize: false, - plugins: [] - }), (build !== 'local' && build !== 'test') ? terser() : false, copy({ targets: [ - 'assets/index.html', - 'assets/favicon.ico' - ], - outputFolder: 'dist' - }), - copy({ - targets: [ - 'node_modules/datatables.net-dt/css', - 'node_modules/datatables.net-dt/images', - 'node_modules/datatables.net-responsive-dt/css' - ], - outputFolder: 'dist/datatables' - }), - copy({ - targets: [ - 'assets/datatables/i18n' + {src: 'assets/index.html', dest: 'dist', rename: pkg.name + '.html'}, + {src: 'assets/*.css', dest: 'dist/local/' + pkg.name}, + {src: 'assets/*.ico', dest: 'dist/local/' + pkg.name}, + {src: 'node_modules/vpu-common/vpu-spinner.js', dest: 'dist/local/' + pkg.name, rename: 'spinner.js'}, + {src: 'node_modules/material-design-icons-svg/paths/*.json', dest: 'dist/local/vpu-common/icons'}, + + {src: 'node_modules/datatables.net-dt/css', dest: 'dist/local/vpu-data-table-view'}, + {src: 'node_modules/datatables.net-dt/images', dest: 'dist/local/vpu-data-table-view'}, + {src: 'node_modules/datatables.net-responsive-dt/css', dest: 'dist/local/vpu-data-table-view'}, + {src: 'assets/datatables/i18n', dest: 'dist/local/vpu-data-tables-view'} ], - outputFolder: 'dist/datatables/' }), (process.env.ROLLUP_WATCH === 'true') ? serve({contentBase: 'dist', host: '127.0.0.1', port: 8003}) : false diff --git a/packages/data-table-view/src/data-table-view.js b/packages/data-table-view/src/data-table-view.js index 32ba17fc..9e13aead 100644 --- a/packages/data-table-view/src/data-table-view.js +++ b/packages/data-table-view/src/data-table-view.js @@ -20,6 +20,7 @@ class DataTableView extends LitElement { this.responsive = null; this.paging = false; this.searching = false; + this.columnDef = []; } static get properties() { @@ -28,9 +29,14 @@ class DataTableView extends LitElement { table: { type: Object, attribute: false }, paging: { type: Boolean }, searching: { type: Boolean }, + columnDef: { type: Array, attribute: false }, }; } + set_columnDef(def) { + this.columnDef = def; + } + set_datatable() { const lang_de_url = 'datatables/i18n/German.json'; const lang_en_url = 'datatables/i18n/English.json'; @@ -45,6 +51,7 @@ class DataTableView extends LitElement { }, paging: this.paging, searching: this.searching, + columnDef: this.columnDef, }); try { diff --git a/packages/data-table-view/vendor/auth b/packages/data-table-view/vendor/auth index a653f5e5..b4b30945 160000 --- a/packages/data-table-view/vendor/auth +++ b/packages/data-table-view/vendor/auth @@ -1 +1 @@ -Subproject commit a653f5e57c0adc69ed27dc5ff769b02c53e58fbb +Subproject commit b4b3094501b87763e3b2bdcca79176975ca745a7 diff --git a/packages/data-table-view/vendor/common b/packages/data-table-view/vendor/common index e222390d..f65096b9 160000 --- a/packages/data-table-view/vendor/common +++ b/packages/data-table-view/vendor/common @@ -1 +1 @@ -Subproject commit e222390de095b9c7bee33caab7b080bdf3571ba5 +Subproject commit f65096b99b737a046d07ad6616eec31788850422 -- GitLab