From af995b8ab94e4c303536bcc886cdd4ca05d935c9 Mon Sep 17 00:00:00 2001
From: Roeland Jago Douma <roeland@famdouma.nl>
Date: Fri, 4 Oct 2019 11:40:35 +0200
Subject: [PATCH] Deprecate js globals

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
---
 core/js/dist/main.js     | Bin 1330666 -> 1331429 bytes
 core/js/dist/main.js.map | Bin 4639194 -> 4640161 bytes
 core/src/globals.js      |  37 +++++++++++++++++++------------------
 3 files changed, 19 insertions(+), 18 deletions(-)

diff --git a/core/js/dist/main.js b/core/js/dist/main.js
index 34e984d965af14b68812825b6e705fbf2d3b8599..109975f3e2f324ed023066bc0322e4cbbd03c4c3 100644
GIT binary patch
delta 972
zcmb`_Jxjw-6b4{ww5@Gzs}~oiOF(EKgjR4+aIp>|evs-So$_%psYz~0QmX|;@XW4v
zaPkj`1*MC)`2)m3++19wwS$9TJJ_Z_!EEnx9$sF~=au|%EuTXK#(;xyn1Cq6AP$p|
zfFz_~3eu2)EKI}99eQiCOgWk0i0HEBN(8Z=HrmYcf}~MLQ~aDG@)9qw{5&_uF8ySj
zRXQjgbwyJc9GrE~d#Xfoyi)V2XEq3Xeof5Egh<M%Ao5j<C?3I{VOH@8t+|-i9TEG6
z>EXI*Sy(05B{n@GIyN1=O^$udqBR{a<at3Hva5=As8VOdmYlHIqGeW9s<?Vkch3#o
z-PjG}wJ>CM|AlCJxW>BT=oV2G*9-K0Ev()Z&o^z-7!0iwpJ;x-Zy6!-jnN)qkj&_!
zLP{(wjb6mo7Xy3eAgsDJwTUy@plJO6ky{U4bi;9j!mY|TD#wP2J^iA`AYAm26oh6E
Qy#xXJNF0XNZ67VmfBRZhga7~l

delta 347
zcmaF5F!0svz=jsa7N!>F7M2#)7Pc1l7LFFq7OocV7M>Q~7QPn#7J(MQ7NIS|H{VR3
ze}$2q#WqzZbNWVGM&ao{-w69~7+UHnX=>`^O`jOWC_X*^t*{tprcR!wPG+r6(DaKA
zOv2L_z7;+dUY?nkl3%WuSXz=_oLQA>o0_VZr~?&rN=(j9%Fj!+%|jA&&dDrD%1<mx
zu`R+T>J<zYpU(C{INt?ojz?l%N=|B0Vo|YeGLoLG;*!kV)GD9_DXAr?$tAWKsFGD+
zf$3{L3L7eG!rYXbVrrX?q%Jo<H#HBaRWEV-(oe$cn74<06OLw|zU8m*zUig^g!QH`
U`zL&Pdd+`fo$agt3tI&O055ffwg3PC

diff --git a/core/js/dist/main.js.map b/core/js/dist/main.js.map
index 83e842d1fdb08aae15484750a7e0eaac4b2a97cc..9b56cda71cf2378ed64e0706c7d5937ba7aa41d9 100644
GIT binary patch
delta 1854
zcmcJM&2Af27=~pND0LyJ8=u(FQcg>$V;HEN#H|f&>6t&1q;9FwG^9e2CiYNIGC!_o
z+z?lhyEupo=wgr}7A%lh5n3hnvO6vUi3<P;iA&&}nb-+*X;?hcIp6o5_xm}&KHiRh
zzr7uQ#A7_pU*aSDW&R33!e8Y_d4eC~ukqLUC?Dg;d6J*t<2<!Xx;rt=f3!nR5{0qF
z8Cw)8Ofn^5ma*#n^?Cot9a2tP$W19h5{GF;s50p`lD*$|NFmlOwXWk4TNj08#+HS3
z5l`)+D%^yjP?DKcmMmOfkmTq7A;C40XpCu*ixdd7(8HAF{j|=QemH$3%r|A<dqT?H
z&DQL`uEtm`(ybu|qvd@gV<2(Rsv|}sC6Hi-uwl91?k&b{y_h%Uj&~!_SHlK38^OLL
zTkJIa#8YzWvxQ)CL@r3}nZ6U$HzTL!M!1{#sBg)^H5z;|coweDY|LTFD2;BEg4A1j
zN^<c87E=psr)B@^T{0Of_&@EE&&M_@X!}s^_#Pp#vVVS$bd&jtA%~Wh7`!Yf{?B{l
z^x1nD+z2C0rLz`}UKQF1UKFP+3{xrkf9#QJ(yf$4VH5FuD88in;xkf8pwT7REt<05
zeMY{GUHB%`BVYogK?b}5-UKJXDex9J4c-P6oB?OSJK!967n}!KFbQ(tJ@7sdzz5(%
z5Y)<p0+<5RU<MSyMQ{m}KpA`lJ_eV;6>t@N0<HlDL?8jVm+2|iQlY7}G>bl*wY@F+
zKySH*V^go8A37T@y{CIFZRwWtK(G7VQT5tUp)c^CkE-7#&OO|JyVYA6Q;)^{`zdw&
zj@I@Z*XZb3fllV=m8-NL5NNh(>YA%lw_!BtrqgawXTugy8Pzrn)1<3<zaTYidPD!p
ztC>!_PN(vIGNq>Ph+1uZ)v*t}`+?!T?@Ff8Ty?ZoebD$IGPf|i|H>h^|GYvr=l_{h
zw|s&RxcjMQ*G+v@Yq^6u2ch8y`Et$m3`_6e8|u2J*StZMe<y~o^#v?D|BpXb_S*?n
z84+lq?As}I;<{BY4ocxXeD}94$I|VC{Y2NHe6zXU!nisy618ol)yvW8hqO8$o&HMq
Whbm^&l_>T&qfUpX-Y*$7_2h3J!&(Rc

delta 1057
zcmajaOHUI~6bJCMQbm!6$bj0aRZ&1krM%ifQ16}26sTxStrbO+(oX0AGX*;3(Zs;w
zCazq$xF*Dfi8~iO0?djpqB}o>3zz;oZ7CWP7r*x0bI&<*?&pmS_qPul?sev3Zgz~-
zFb_M<POw^blAU68>@=%q4Xlwhu`{fhon<Y%!rG>5g0F81-ueiUSEx8j$he++#J4sD
zsdic+@-v+Fw}gP}Wg#PrPjD^92+^|LBVv@ui*z1AHQOI9XAwBrI3d$?*?L?|TXY41
zlb#@Cwvt|<+};)>Marn9%LE}h&FN~fXNg(}oF1JLlBcVsSwUK;%!(3{C}(FVPwWVN
zfjBmkGlBAEcvIYvoP9IYMBt3WPjVrr;Khnb?e9B6m)nyfa!}?CdqStHz=M0j3x7T`
zOGPI=k6Nd38hhkuk0FbrN|5jF32Vw~L=TGw#kyguT$Lgu>l8)s^-zf7F+>yb2H6Z3
zX39l*j2bA7iu7`}FO1hML{QsZEK~T8eIevYkoc0!+il^aOL});3(yK}a1PGH1@M9o
zF2W_a41Tx*SK%78!*#d;9nc9~a1(BU2)E%5+=XrkKo9gnAN0cj1R(^)od)3^48btm
zhX?Qw2vCqAY#-Q)k>JTjb&!8)R6n@`k{xYQ>)dP0x|z-{zv@Wlt!z#&XdSQp!~V))
z(yUz5WNLOQYnHAnhw8OFr_WDilZ$Dm{qQsv`$x%G>`0LZJ!3K6+@iicTxBF_rsuS&
z<YLY#tRAbwW^$HpXay{k)+{Y$IfZ{G|0pl~ujDEJC8$!MtJ-Cx`<*8IA4z5n%`AP-
na6;SNrnc5_pI05?lU_B-zj{@L|MaSF_;a7yYrprYE!)2Vg=B{l

diff --git a/core/src/globals.js b/core/src/globals.js
index 771748de0d0..cd8dcc5e241 100644
--- a/core/src/globals.js
+++ b/core/src/globals.js
@@ -73,12 +73,13 @@ const warnIfNotTesting = function() {
  *
  * @param {Function} func the library to deprecate
  * @param {String} funcName the name of the library
+ * @param {Int} version the version this gets removed
  * @returns {function}
  */
-const deprecate = (func, funcName) => {
+const deprecate = (func, funcName, version) => {
 	const oldFunc = func
 	const newFunc = function() {
-		warnIfNotTesting(`The ${funcName} library is deprecated! It will be removed in nextcloud 19.`)
+		warnIfNotTesting(`The ${funcName} library is deprecated! It will be removed in nextcloud ${version}.`)
 		return oldFunc.apply(this, arguments)
 	}
 	Object.assign(newFunc, oldFunc)
@@ -104,19 +105,19 @@ const setDeprecatedProp = (global, cb, msg) => {
 
 window['_'] = _
 window['$'] = $
-window['autosize'] = autosize
-window['Backbone'] = Backbone
-window['Clipboard'] = ClipboardJS
-window['ClipboardJS'] = ClipboardJS
+setDeprecatedProp('autosize', () => autosize, 'please ship your own, this will be removed in Nextcloud 20')
+setDeprecatedProp('Backbone', () => Backbone, 'please ship your own, this will be removed in Nextcloud 20')
+setDeprecatedProp('Clipboard', () => ClipboardJS, 'please ship your own, this will be removed in Nextcloud 20')
+setDeprecatedProp('ClipboardJS', () => ClipboardJS, 'please ship your own, this will be removed in Nextcloud 20')
 window['dav'] = dav
 setDeprecatedProp('DOMPurify', () => DOMPurify, 'The global DOMPurify is deprecated, ship your own')
-window['Handlebars'] = Handlebars
-window['jstimezonedetect'] = jstimezonedetect
-window['jstz'] = jstimezonedetect
+setDeprecatedProp('Handlebars', () => Handlebars, 'please ship your own, this will be removed in Nextcloud 20')
+setDeprecatedProp('jstimezonedetect', () => jstimezonedetect, 'please ship your own, this will be removed in Nextcloud 20')
+setDeprecatedProp('jstz', () => jstimezonedetect, 'please ship your own, this will be removed in Nextcloud 20')
 window['jQuery'] = $
-window['marked'] = deprecate(marked, 'marked')
-window['md5'] = md5
-window['moment'] = moment
+window['marked'] = deprecate(marked, 'marked', 19)
+setDeprecatedProp('md5', () => md5, 'please ship your own, this will be removed in Nextcloud 20')
+setDeprecatedProp('moment', () => moment, 'please ship your own, this will be removed in Nextcloud 20')
 
 window['OC'] = OC
 setDeprecatedProp('initCore', () => initCore, 'this is an internal function')
@@ -132,12 +133,12 @@ setDeprecatedProp('oc_webroot', () => OC.webroot, 'use OC.getRootPath() instead'
 setDeprecatedProp('OCDialogs', () => OC.dialogs, 'use OC.dialogs instead')
 window['OCP'] = OCP
 window['OCA'] = OCA
-window['escapeHTML'] = deprecate(escapeHTML, 'escapeHTML')
-window['formatDate'] = deprecate(formatDate, 'formatDate')
-window['getURLParameter'] = deprecate(getURLParameter, 'getURLParameter')
-window['humanFileSize'] = deprecate(humanFileSize, 'humanFileSize')
-window['relative_modified_date'] = deprecate(relativeModifiedDate, 'relative_modified_date')
-$.fn.select2 = deprecate($.fn.select2, 'select2')
+window['escapeHTML'] = deprecate(escapeHTML, 'escapeHTML', 19)
+window['formatDate'] = deprecate(formatDate, 'formatDate', 19)
+window['getURLParameter'] = deprecate(getURLParameter, 'getURLParameter', 19)
+window['humanFileSize'] = deprecate(humanFileSize, 'humanFileSize', 19)
+window['relative_modified_date'] = deprecate(relativeModifiedDate, 'relative_modified_date', 19)
+$.fn.select2 = deprecate($.fn.select2, 'select2', 19)
 
 /**
  * translate a string
-- 
GitLab