From 674baa5306cbcef0cb7a041f3fc861435478e324 Mon Sep 17 00:00:00 2001 From: Alexander Rose <alex.rose@rcsb.org> Date: Mon, 11 Feb 2019 11:38:37 -0800 Subject: [PATCH] localize plugin timestamp in browser, use webpack.DefinePlugin, enable in watch mode --- package-lock.json | Bin 530677 -> 531034 bytes package.json | 1 - src/mol-plugin/context.ts | 2 +- src/mol-plugin/version.ts | 8 ++++++-- webpack.config.js | 14 +++++--------- 5 files changed, 12 insertions(+), 13 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1da5d5be1c5d3772395d954677aef4f451a7ba62..6558c4bc4fcf8c6f35afdf000c314437ffb22ffc 100644 GIT binary patch delta 874 zcmYLHUr1AN6z2YR?>$rZ=Qf9%vf)C}C8kD;z;c^pSr5)(SP_;MkwrFz5-BuCK^iU5 zMmt4OQiK#GGp!$LvOV+=OWM$fFrrpkq*(T#6eQT)y<%_Qx!?Jn@0{;`O9PhoLzdu2 z8}>%nG{4gfgUhzigjCT9U_Q6|Evx|>zOfl}x`TOHj!iMfOh=>4My1@e@{U>DA;V-7 zAxE(2DzVY5HZr~egOA7-e4`>7oS)&6aN!a!pm&OBX-OZkaTxOwZQvHk3#2IX1H(jz zjwUdp_XcA@cNaNGk3J<A6w*BW9VCYm$clBtoRPK+kWYYugEwGZvT}x2jgY7noljUJ zhV*<JcJ~oA7Jnh?j_5R@(P_oQNMc0;_4TuQ(^_LHjYQZErBu@slWcdIG?NN*tU6V? zY4D!EiNU;TMuX3fG3i)00^4w`lgXf#6}DAaTVb4f1#WM??8Dr4?sfb>g-tm`g;RQ^ z7JC;V2|YiE9=%!2R-9i16FwUPE8UaHFKOi`;VwlwZ7k%?2XM^DD`~+MzCpLPa)6fK z;XiP)Q1N~K!A*?2z)6>j!9^s9q2q)@PYJYRutsE5cIaeerob!O5_UkXT-u#*PDcF~ zc`g0wgcfz8E~Tw5C}ia4kxKB$5Nmo!4!*5`Y>fE{i+6j(JHl#(4#PcU9cs&<F+rrD zuT1=n!Wpq;Ulq8eG1yfP+Uv7`nY$F?ox6df3so?>I=KJ7XwctDR)diWu%eq|IVw~` zW|FiWbsdJ>)y`{YMFT?>u$jhc;g!sz`?M&f^@++-%<O+S(ceVOex8Ke3R&OxnB-zn zJpitl_(Ev|)Z{Sh(Y=#o(@GCqmJ~`+GeX4pi661i&+=4^<O^0dNz9-Df9)p%S~iJ- nj%KhYh$4)iVzOzl8C2&nJ_|;S%>z%T7Qmb))l|(Zzw7=1H<CmL delta 1161 zcmZ9Le{54#6vy*!-+QMW{j~?{YGF`x%H~r0Ha3uLr6p_~PPTR85}0Od*;aKw+X^Mj zuvPylF){})a!eR;n3$o?QJi`ss5C(|3?q$bL<Omc{(-0^YK*ctU;D=9{O_J~Kj)n9 zIp^N5-?IL3+#36~R1#M%pS)Fi>N7M}FlN+Fftr2=%*8?UIye(f|HxYC)hP2`O~$5g zpJ!I9G4eZOrZZnMziq^LKQU9yGQ#+z<jGvReh>Mi5J&T6r*n*Sau_*5Heuv@&`E|D zIBI=^<gjTF?>$Dc&>IFFMvfD=WIcBm<=-S%0KNP8Jbe8g<_b-oAm<Ad8L6`@hYdOW zZZy6|^r-tAw9%GpgtlB$y)uQyldPFqj<HLYEu;-}+c`F>R+RsFf!%Myn3FA}vFq%# zkm+~wC8>|W@sB`HT{G-;<6QNRGn&z<X9{t+j8xEpZ0>3iCU$UUY`zRj=>Z2fp8OA< z7$90|TfvVQ(N)40)4%L|-c|^81iF1~9ca8kR-&hgUxTh*!mYB+`fc5PzV?og-DZDs zN9c*($NuNX?=0NiQcTY_iS^-K#ha_zy4|H^8{G9fw|UyCN@~MhVX<e|c6)o{mfqUt zy71${n$W{V{rx?mK+WogT6fhNQ4IPU{q;@lWxk+4u-3n^r=+K`&hK8^zj^y^srcCn zY}n72sKon9@#chTDK+fnpAr@h@c_O55Pyk7ufUmU(GmXT7v=qB;b=LSsJ<NP$ZazR zTcg0?XeA6%mjlL_`HSZq@}A#!Ga4NHLVi?<r%5&r_kn$$m^nl&__GsQ=Uh_!a|7OZ zhUhTW3`;PzhgpQ4t)ND+61r&l2Dqr5WAV%oS)Aqssi0Yhmkxsl6E5gP@m)D>@(zAB zNnFDlFxJ6w>Dx+qv8omLi-pg})SZxz-plfnd~o=7#RYID#wQ4i&Ie=xr#uiuxkD?C zR6;g>I>j2Xwwe?u$Onz!pBI*i`c)!;eGkb|>5A041%6;M$Af-YL_JOLh$a(}@PP@R z-%AYiRtw}R2u|#jo6!yt1J+lQd^+TX4`=DFG@SxH){V)UhpUM|<DGC+rBpfE3pS#( z_~;px0aN2dQ2I>#!}8P{gm=<EF|)~>x$mgVKlLgUqGh?9I(C|9r1fV7415FYaQZZ{ zP_aPOPUugQAdhi?vRTyILO2EkBdQ7<Z6$&<xN5PKJeW%dB5)+2JSN>Z1JrR7@=S`o MPGU_o3hE2OzYavLUjP6A diff --git a/package.json b/package.json index 7f7083981..b13905466 100644 --- a/package.json +++ b/package.json @@ -104,7 +104,6 @@ "raw-loader": "^1.0.0", "resolve-url-loader": "^3.0.0", "sass-loader": "^7.1.0", - "string-replace-loader": "^2.1.1", "style-loader": "^0.23.1", "ts-jest": "^23.10.5", "tslint": "^5.12.1", diff --git a/src/mol-plugin/context.ts b/src/mol-plugin/context.ts index 46e16196c..2749c5eee 100644 --- a/src/mol-plugin/context.ts +++ b/src/mol-plugin/context.ts @@ -182,7 +182,7 @@ export class PluginContext { this.lociLabels = new LociLabelManager(this); // TODO: find a better solution for this. - setTimeout(() => this.log.message(`Mol* Plugin ${PLUGIN_VERSION} [${PLUGIN_VERSION_DATE}]`), 500); + setTimeout(() => this.log.message(`Mol* Plugin ${PLUGIN_VERSION} [${PLUGIN_VERSION_DATE.toLocaleString()}]`), 500); } // settings = ; diff --git a/src/mol-plugin/version.ts b/src/mol-plugin/version.ts index 26b3a278f..fe3cfb827 100644 --- a/src/mol-plugin/version.ts +++ b/src/mol-plugin/version.ts @@ -1,8 +1,12 @@ /** - * Copyright (c) 2018 mol* contributors, licensed under MIT, See LICENSE file for more info. + * Copyright (c) 2018-2019 mol* contributors, licensed under MIT, See LICENSE file for more info. * * @author David Sehnal <david.sehnal@gmail.com> + * @author Alexander Rose <alexander.rose@weirdbyte.de> */ export const PLUGIN_VERSION = '0.5.0'; -export const PLUGIN_VERSION_DATE = '$PLUGIN_VERSION_DATE$'; \ No newline at end of file +/** unix time stamp, to be filled in at bundle build time */ +declare const __PLUGIN_VERSION_TIMESTAMP__: number +export const PLUGIN_VERSION_TIMESTAMP = __PLUGIN_VERSION_TIMESTAMP__; +export const PLUGIN_VERSION_DATE = new Date(PLUGIN_VERSION_TIMESTAMP); \ No newline at end of file diff --git a/webpack.config.js b/webpack.config.js index b82967adc..3a2db2529 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -1,4 +1,5 @@ const path = require('path'); +const webpack = require('webpack'); const ExtraWatchWebpackPlugin = require('extra-watch-webpack-plugin'); const MiniCssExtractPlugin = require('mini-css-extract-plugin'); // const CircularDependencyPlugin = require('circular-dependency-plugin'); @@ -28,15 +29,7 @@ const sharedConfig = { { test: /\.(s*)css$/, use: [MiniCssExtractPlugin.loader, 'css-loader', 'resolve-url-loader', 'sass-loader'] - }, - { - test: /version\.js$/, - loader: 'string-replace-loader', - options: { - search: '$PLUGIN_VERSION_DATE$', - replace: function (date) { return date.getFullYear() + '/' + (date.getMonth() + 1) + '/' + date.getDate() } (new Date()), - } - } + } ] }, plugins: [ @@ -54,6 +47,9 @@ const sharedConfig = { './build/src/**/*.html' ], }), + new webpack.DefinePlugin({ + __PLUGIN_VERSION_TIMESTAMP__: webpack.DefinePlugin.runtimeValue(() => `${new Date().valueOf()}`, true), + }), new MiniCssExtractPlugin({ filename: 'app.css' }) ], resolve: { -- GitLab