From 0b973672d233335b751fd3d299be1af786c6508d Mon Sep 17 00:00:00 2001 From: hide_d Date: Tue, 17 Aug 2021 02:56:11 +0900 Subject: [PATCH] build-misc: BundleAnalyzerPlugin --- js/user_info.js | 2 +- js/user_info.js.map | 2 +- package.json | 1 + webpack.config.js | 6 ++++-- 4 files changed, 7 insertions(+), 4 deletions(-) diff --git a/js/user_info.js b/js/user_info.js index 6a6144f1..a7dde837 100644 --- a/js/user_info.js +++ b/js/user_info.js @@ -1,2 +1,2 @@ -(()=>{"use strict";var t,e={433:(t,e,r)=>{r(5666),r(1539),r(9714),r(9826),r(2222),r(8674),r(7042),r(1038),r(8783),r(2526),r(1817),r(2165),r(6992),r(3948);var n=r(9669),o=r.n(n),a=r(9755),u=r.n(a),i=(r(3734),r(9490)),c="yyyy-MM-dd HH:mm:ss",l="yyyy-MM-dd HH:mm:ss.SSS";function s(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return t?i.ou.now().toFormat(l):i.ou.now().toFormat(c)}var f=r(3434),p=r(1584),h=r.n(p),d=r(1763),y=r.n(d),v=r(7037),m=r.n(v),b=r(1469),_=r.n(b);function g(t,e){var r="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=w(t))||e&&t&&"number"==typeof t.length){r&&(t=r);var n=0,o=function(){};return{s:o,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,u=!0,i=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return u=t.done,t},e:function(t){i=!0,a=t},f:function(){try{u||null==r.return||r.return()}finally{if(i)throw a}}}}function w(t,e){if(t){if("string"==typeof t)return x(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?x(t,e):void 0}}function x(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r0&&void 0!==arguments[0]?arguments[0]:"";return S(this,o),C(E(t=n.call(this,e)),"name","RuntimeError"),t.message=e,t}return e=o,(r=[{key:"toString",value:function(){return this.message?this.name+": "+this.message:this.name}}])&&O(e.prototype,r),o}(P(Error)));function N(t){if(null==t)throw new H;return t}function U(t,e){if(t){if("string"==typeof t)return q(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?q(t,e):void 0}}function q(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,u=!0,i=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return u=t.done,t},e:function(t){i=!0,a=t},f:function(){try{u||null==r.return||r.return()}finally{if(i)throw a}}}}(t);try{for(i.s();!(r=i.n()).done;){var c=(n=r.value,a=2,function(t){if(Array.isArray(t))return t}(n)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,a=[],u=!0,i=!1;try{for(r=r.call(t);!(u=(n=r.next()).done)&&(a.push(n.value),!e||a.length!==e);u=!0);}catch(t){i=!0,o=t}finally{try{u||null==r.return||r.return()}finally{if(i)throw o}}return a}}(n,a)||U(n,a)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),l=c[0],s=c[1],f=u()('
"));e.append(f)}}catch(t){i.e(t)}finally{i.f()}var p=u()("#chooseServer");p.modal({backdrop:"static"}),p.on("hidden.bs.modal",(function(){location.reload()})),u()("#modal-apply").off("click").on("click",L(regeneratorRuntime.mark((function t(){var r,n,a,i;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:r=[],e.find("input:checked").each((function(){var t=u()(this).attr("name");console.log(t),r.push(o()({url:"../".concat(t,"/j_adjust_icon.php"),method:"post",responseType:"json"}))})),n=0,a=r;case 3:if(!(n{if(!r){var u=1/0;for(s=0;s=a)&&Object.keys(n.O).every((t=>n.O[t](r[c])))?r.splice(c--,1):(i=!1,a0&&t[s-1][2]>a;s--)t[s]=t[s-1];t[s]=[r,o,a]},n.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{for(var r in e)n.o(e,r)&&!n.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},(()=>{var t={87:0};n.O.j=e=>0===t[e];var e=(e,r)=>{var o,a,[u,i,c]=r,l=0;for(o in i)n.o(i,o)&&(n.m[o]=i[o]);if(c)var s=c(n);for(e&&e(r);ln(433)));o=n.O(o)})(); +(()=>{"use strict";var t,e={1433:(t,e,r)=>{r(5666),r(1539),r(9714),r(9826),r(2222),r(8674),r(7042),r(1038),r(8783),r(2526),r(1817),r(2165),r(6992),r(3948);var n=r(9669),o=r.n(n),a=r(9755),u=r.n(a),i=(r(3734),r(9490)),c="yyyy-MM-dd HH:mm:ss",l="yyyy-MM-dd HH:mm:ss.SSS";function s(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return t?i.ou.now().toFormat(l):i.ou.now().toFormat(c)}var f=r(3434),p=r(1584),h=r.n(p),d=r(1763),y=r.n(d),v=r(7037),m=r.n(v),b=r(1469),_=r.n(b);function g(t,e){var r="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=w(t))||e&&t&&"number"==typeof t.length){r&&(t=r);var n=0,o=function(){};return{s:o,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,u=!0,i=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return u=t.done,t},e:function(t){i=!0,a=t},f:function(){try{u||null==r.return||r.return()}finally{if(i)throw a}}}}function w(t,e){if(t){if("string"==typeof t)return x(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?x(t,e):void 0}}function x(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r0&&void 0!==arguments[0]?arguments[0]:"";return S(this,o),C(E(t=n.call(this,e)),"name","RuntimeError"),t.message=e,t}return e=o,(r=[{key:"toString",value:function(){return this.message?this.name+": "+this.message:this.name}}])&&O(e.prototype,r),o}(P(Error)));function N(t){if(null==t)throw new H;return t}function U(t,e){if(t){if("string"==typeof t)return q(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?q(t,e):void 0}}function q(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,u=!0,i=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return u=t.done,t},e:function(t){i=!0,a=t},f:function(){try{u||null==r.return||r.return()}finally{if(i)throw a}}}}(t);try{for(i.s();!(r=i.n()).done;){var c=(n=r.value,a=2,function(t){if(Array.isArray(t))return t}(n)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,a=[],u=!0,i=!1;try{for(r=r.call(t);!(u=(n=r.next()).done)&&(a.push(n.value),!e||a.length!==e);u=!0);}catch(t){i=!0,o=t}finally{try{u||null==r.return||r.return()}finally{if(i)throw o}}return a}}(n,a)||U(n,a)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),l=c[0],s=c[1],f=u()('
"));e.append(f)}}catch(t){i.e(t)}finally{i.f()}var p=u()("#chooseServer");p.modal({backdrop:"static"}),p.on("hidden.bs.modal",(function(){location.reload()})),u()("#modal-apply").off("click").on("click",L(regeneratorRuntime.mark((function t(){var r,n,a,i;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:r=[],e.find("input:checked").each((function(){var t=u()(this).attr("name");console.log(t),r.push(o()({url:"../".concat(t,"/j_adjust_icon.php"),method:"post",responseType:"json"}))})),n=0,a=r;case 3:if(!(n{if(!r){var u=1/0;for(s=0;s=a)&&Object.keys(n.O).every((t=>n.O[t](r[c])))?r.splice(c--,1):(i=!1,a0&&t[s-1][2]>a;s--)t[s]=t[s-1];t[s]=[r,o,a]},n.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{for(var r in e)n.o(e,r)&&!n.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},(()=>{var t={87:0};n.O.j=e=>0===t[e];var e=(e,r)=>{var o,a,[u,i,c]=r,l=0;for(o in i)n.o(i,o)&&(n.m[o]=i[o]);if(c)var s=c(n);for(e&&e(r);ln(1433)));o=n.O(o)})(); //# sourceMappingURL=user_info.js.map \ No newline at end of file diff --git a/js/user_info.js.map b/js/user_info.js.map index e4c52112..dfe3622b 100644 --- a/js/user_info.js.map +++ b/js/user_info.js.map @@ -1 +1 @@ -{"version":3,"file":"user_info.js","mappings":"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","sources":["webpack://hidche_lib/webpack/runtime/chunk loaded","webpack://hidche_lib/./hwe/ts/util/getDateTimeNow.ts","webpack://hidche_lib/./hwe/ts/util/convertFormData.ts","webpack://hidche_lib/./ts/util.ts","webpack://hidche_lib/./ts/user_info.ts","webpack://hidche_lib/./hwe/ts/util/setAxiosXMLHttpRequest.ts","webpack://hidche_lib/webpack/bootstrap","webpack://hidche_lib/webpack/runtime/amd options","webpack://hidche_lib/webpack/runtime/compat get default export","webpack://hidche_lib/webpack/runtime/define property getters","webpack://hidche_lib/webpack/runtime/global","webpack://hidche_lib/webpack/runtime/hasOwnProperty shorthand","webpack://hidche_lib/webpack/runtime/make namespace object","webpack://hidche_lib/webpack/runtime/jsonp chunk loading","webpack://hidche_lib/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","import {DateTime} from 'luxon';\n\nexport const DATE_TIME_FORMAT = 'yyyy-MM-dd HH:mm:ss';\nexport const DATE_TIME_FORMAT_WITH_FRACTION = 'yyyy-MM-dd HH:mm:ss.SSS';\n\nexport function getDateTimeNow(withFraction = false): string{\n if(withFraction){\n return DateTime.now().toFormat(DATE_TIME_FORMAT_WITH_FRACTION);\n }\n else{\n return DateTime.now().toFormat(DATE_TIME_FORMAT);\n }\n \n}","import { isArray, isString, isNumber, isBoolean } from \"lodash\";\n\nexport function convertFormData(values: Record): FormData{\n const formData = new FormData();\n\n const simpleConv = (v: unknown):string=>{\n if(isString(v)){\n return v;\n }\n if(isNumber(v)){\n return v.toString();\n }\n if(isBoolean(v)){\n return v?'true':'false';\n }\n throw new TypeError('지원하지 않는 formData Type');\n }\n\n for(const [key, value] of Object.entries(values)){\n if(isArray(value)){\n const arrKey = `${key}[]`;\n for(const subValue of value){\n formData.append(arrKey, simpleConv(subValue));\n }\n continue;\n }\n\n formData.append(key, simpleConv(value));\n }\n\n return formData;\n}","type ErrType = { new(msg?: string): T }\ntype Nullable = T | null | undefined\n\nexport class RuntimeError extends Error {\n public name = 'RuntimeError';\n constructor(public message: string = '') {\n super(message);\n }\n toString(): string {\n if (this.message) {\n return this.name + ': ' + this.message;\n }\n else {\n return this.name;\n }\n }\n}\n\nexport class NotNullExpected extends RuntimeError {\n public name = 'NotNullExpected';\n}\n\nexport function unwrap(result: Nullable): T {\n if (result === null || result === undefined) {\n throw new NotNullExpected();\n }\n return result;\n}\n\nexport function unwrap_err(result: Nullable, errType: ErrType, errMsg?: string): T {\n if (result === null || result === undefined) {\n throw new errType(errMsg);\n }\n return result;\n}","import { setAxiosXMLHttpRequest } from \"../hwe/ts/util/setAxiosXMLHttpRequest\";\nimport $ from 'jquery';\nimport 'bootstrap';\nimport axios from 'axios';\nimport { DateTime } from \"luxon\";\nimport { DATE_TIME_FORMAT, getDateTimeNow } from \"../hwe/ts/util/getDateTimeNow\";\nimport { sha512 } from \"js-sha512\";\nimport { convertFormData } from \"../hwe/ts/util/convertFormData\";\nimport { InvalidResponse } from \"../hwe/ts/defs\";\nimport { unwrap } from \"./util\";\n\ntype ResultUserInfo = {\n result: true,\n id: number,\n name: string,\n grade: string,\n picture: string,\n global_salt: string,\n join_date: string,\n third_use: boolean,\n acl: string,\n oauth_type: 'NONE' | 'KAKAO',\n token_valid_until?: string\n}\n\nfunction fillUserInfo(result: ResultUserInfo | InvalidResponse) {\n if (!result.result) {\n alert(result.reason);\n location.href = 'entrance.php';\n return;\n }\n\n $('#slot_id').html(result.id.toString());\n $('#slot_nickname').html(result.name);\n $('#slot_grade').html(result.grade);\n $('#slot_acl').html(result.acl);\n $('#slot_icon').attr('src', result.picture);\n $('#global_salt').val(result.global_salt);\n $('#slot_join_date').html(result.join_date);\n $('#slot_third_use').html(result.third_use ? '○' : '×');\n if (result.third_use) {\n $('#third_use_disallow').show();\n }\n $('#slot_oauth_type').text(result.oauth_type);\n if (result.oauth_type != 'NONE') {\n $('#slot_token_valid_until').text(unwrap(result.token_valid_until));\n }\n else {\n $('#slot_token_valid_until').parent().html('');\n }\n\n\n\n}\n\nfunction changeIconPreview(this: HTMLFormElement) {\n const $preview = $(this) as JQuery;\n console.log($preview);\n\n const filename = $preview[0].files[0].name;\n const reader = new FileReader();\n reader.onload = function (e) {\n $('#slot_new_icon').attr('src', unwrap(unwrap(e.target).result).toString()).css('visibility', 'visible');\n }\n\n reader.readAsDataURL($preview[0].files[0]);\n\n $('#image_upload_filename').val(filename);\n}\n\ntype IconResponse = {\n result: true,\n servers: [string, string][]\n};\n\nasync function deleteIcon() {\n let result: InvalidResponse | IconResponse;\n try {\n const response = await axios({\n url: 'j_icon_delete.php',\n responseType: 'json',\n method: 'post'\n });\n result = response.data;\n }\n catch (e) {\n console.error(e);\n alert(`아이콘 삭제를 실패했습니다: ${e}`);\n return;\n }\n\n if (!result.result) {\n alert(result.reason);\n location.reload();\n return;\n }\n\n showAdjustServerModal(result.servers);\n}\n\nasync function disallowThirdUse() {\n try {\n await axios({\n url: 'j_disallow_third_use.php',\n method: 'post',\n responseType: 'json'\n });\n alert('철회했습니다.');\n }\n catch (e) {\n alert('알 수 없는 이유로 철회를 실패했습니다.');\n }\n location.reload();\n}\n\nfunction showAdjustServerModal(serverList: [string, string][]) {\n\n const $form = $('#chooseServerForm');\n $form.empty();\n\n for (const [serverKey, serverKorName] of serverList) {\n const $item = $(`
\\\n \\\n \\\n
`);\n $form.append($item);\n }\n\n const $modal = $('#chooseServer');\n $modal.modal({\n backdrop: 'static'\n });\n $modal.on('hidden.bs.modal', function () {\n location.reload();\n return;\n });\n\n $(\"#modal-apply\").off(\"click\").on(\"click\", async function () {\n const events: Promise[] = [];\n $form.find('input:checked').each(function () {\n const $input = $(this);\n const server = $input.attr('name');\n\n console.log(server);\n\n events.push(axios({\n url: `../${server}/j_adjust_icon.php`,\n method: 'post',\n responseType: 'json',\n }));\n })\n\n for (const p of events) {\n try {\n await p;\n }\n catch (e) {\n //서버 폐쇄등으로 접근하지 못할 수도 있음.\n console.error(e, p);\n }\n }\n\n alert('적용되었습니다.');\n location.reload();\n });\n\n}\n\nasync function changeIcon(this: HTMLFormElement) {\n const $icon = $('#image_upload') as JQuery;\n\n if ($icon[0].files.length == 0) {\n alert('파일을 선택해주세요');\n return false;\n }\n\n let result: InvalidResponse | IconResponse;\n try {\n const response = await axios({\n url: 'j_icon_change.php',\n method: 'post',\n responseType: 'json',\n data: new FormData(this)\n });\n result = response.data;\n }\n catch (e) {\n alert('알 수 없는 이유로 아이콘 업로드를 실패했습니다.');\n location.reload();\n return;\n }\n\n if (!result.result) {\n alert(result.reason);\n location.reload();\n return;\n }\n\n showAdjustServerModal(result.servers);\n}\n\nasync function changePassword() {\n const old_pw = $('#current_pw').val() as string;\n const new_pw = $('#new_pw').val() as string;\n const new_pw_confirm = $('#new_pw_confirm').val() as string;\n\n if (!old_pw) {\n alert('이전 비밀번호를 입력해야 합니다.');\n return;\n }\n if (new_pw.length < 6) {\n alert('비밀번호 길이는 6글자 이상이어야 합니다.');\n return;\n }\n\n if (new_pw != new_pw_confirm) {\n alert('입력 값이 일치하지 않습니다.');\n return;\n }\n\n const global_salt = $('#global_salt').val();\n\n const old_password = sha512(global_salt + old_pw + global_salt);\n const new_password = sha512(global_salt + new_pw + global_salt);\n\n let result: InvalidResponse;\n\n try {\n const response = await axios({\n url: 'j_change_password.php',\n method: 'post',\n responseType: 'json',\n data: convertFormData({\n old_pw: old_password,\n new_pw: new_password\n })\n });\n result = response.data;\n }\n catch (e) {\n console.error(e);\n alert(`알 수 없는 이유로 비밀번호를 바꾸지 못했습니다.: ${e}`);\n return;\n }\n\n if (!result.result) {\n alert(result.reason);\n return;\n }\n\n alert('비밀번호를 바꾸었습니다');\n location.reload();\n}\n\nasync function deleteMe() {\n const pw = $('#delete_pw').val() as string;\n\n if (!pw) {\n alert('비밀번호를 입력해야 합니다.');\n return;\n }\n\n const global_salt = $('#global_salt').val();\n\n const password = sha512(global_salt + pw + global_salt);\n\n let data: InvalidResponse;\n try {\n const response = await axios({\n url: 'j_delete_me.php',\n responseType: 'json',\n method: 'post',\n data: convertFormData({\n pw: password\n })\n });\n data = response.data;\n }\n catch (e) {\n console.error(e);\n alert(`회원 탈퇴에 실패했습니다.: ${e}`);\n return;\n }\n\n if (!data.result) {\n alert(data.reason);\n return;\n }\n\n alert('탈퇴 처리되었습니다.');\n location.href = '../';\n}\n\nasync function extendAuth() {\n const validUntil = $('#slot_token_valid_until').html();\n const availableAt = DateTime.fromFormat(validUntil, DATE_TIME_FORMAT).minus({ days: 5 }).toFormat(DATE_TIME_FORMAT);\n const now = getDateTimeNow();\n\n if (now < availableAt) {\n alert(`${availableAt}부터 초기화할 수 있습니다.`);\n return false;\n }\n\n if (!confirm('로그아웃됩니다. 진행할까요?')) {\n return;\n }\n\n let result: InvalidResponse;\n\n try {\n const response = await axios({\n url: '../oauth_kakao/j_reset_token.php',\n method: 'post',\n responseType: 'json'\n })\n result = response.data;\n } catch (e) {\n alert(`알 수 없는 이유로 로그인 토큰 연장에 실패했습니다. : ${e}`);\n return;\n }\n\n if(!result.result){\n alert(result.reason);\n return;\n }\n\n alert('초기화했습니다. 다시 로그인해 주십시오.');\n location.href = '../';\n}\n\n$(function () {\n setAxiosXMLHttpRequest();\n $('#slot_icon, #slot_new_icon').attr('src', window.pathConfig.sharedIcon + '/default.jpg');\n\n axios({\n url: 'j_get_user_info.php',\n method: 'post',\n responseType: 'json'\n }).then(result => {\n fillUserInfo(result.data);\n }, () => {\n alert('알 수 없는 이유로, 회원 정보를 불러오지 못했습니다.');\n location.href = 'entrance.php';\n })\n\n $('#image_upload').on('change', changeIconPreview);\n\n $('#btn_remove_icon').on('click', function () {\n if (confirm('아이콘을 제거할까요?')) {\n void deleteIcon();\n }\n return false;\n });\n\n $('#third_use_disallow').on('click', function () {\n if (confirm('개인정보 3자 제공 동의를 철회할까요?')) {\n void disallowThirdUse();\n }\n });\n\n $('#change_pw_form').on('submit', function (e) {\n e.preventDefault();\n void changePassword();\n });\n\n $('#change_icon_form').on('submit', function (e) {\n e.preventDefault();\n void changeIcon.apply(this as HTMLFormElement);\n });\n\n $('#delete_me_form').on('submit', function (e) {\n e.preventDefault();\n if (confirm('한 달 동안 재 가입할 수 없습니다. 정말로 탈퇴할까요?')) {\n void deleteMe();\n }\n });\n\n $('#expand_login_token').on('click', extendAuth);\n})\n","import axios from \"axios\";\n\nexport function setAxiosXMLHttpRequest(): void{\n axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';\n //TODO: X-Requested-With 믿지 말자.\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","__webpack_require__.amdO = {};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t87: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tfor(moduleId in moreModules) {\n\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t}\n\t}\n\tif(runtime) var result = runtime(__webpack_require__);\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkIds[i]] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkhidche_lib\"] = self[\"webpackChunkhidche_lib\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [216], () => (__webpack_require__(433)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","DATE_TIME_FORMAT","DATE_TIME_FORMAT_WITH_FRACTION","getDateTimeNow","withFraction","DateTime","toFormat","convertFormData","values","formData","FormData","simpleConv","v","toString","TypeError","Object","entries","key","value","arrKey","subValue","append","NotNullExpected","message","this","name","Error","unwrap","result","changeIconPreview","$preview","$","console","log","filename","files","reader","FileReader","onload","e","attr","target","css","readAsDataURL","val","axios","url","responseType","method","response","data","error","alert","reason","location","reload","showAdjustServerModal","servers","serverList","$form","empty","serverKey","serverKorName","$item","$modal","modal","backdrop","on","off","events","find","each","server","push","p","changeIcon","length","old_pw","new_pw","new_pw_confirm","global_salt","old_password","sha512","new_password","pw","password","href","extendAuth","validUntil","html","availableAt","minus","days","confirm","window","pathConfig","sharedIcon","then","id","grade","acl","picture","join_date","third_use","show","text","oauth_type","token_valid_until","parent","fillUserInfo","deleteIcon","disallowThirdUse","preventDefault","changePassword","apply","deleteMe","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","call","m","amdO","O","chunkIds","fn","priority","notFulfilled","Infinity","i","fulfilled","j","keys","every","splice","r","n","getter","__esModule","d","a","definition","o","defineProperty","enumerable","get","g","globalThis","Function","obj","prop","prototype","hasOwnProperty","Symbol","toStringTag","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","self","forEach","bind","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"user_info.js","mappings":"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","sources":["webpack://hidche_lib/webpack/runtime/chunk loaded","webpack://hidche_lib/./hwe/ts/util/getDateTimeNow.ts","webpack://hidche_lib/./hwe/ts/util/convertFormData.ts","webpack://hidche_lib/./ts/util.ts","webpack://hidche_lib/./ts/user_info.ts","webpack://hidche_lib/./hwe/ts/util/setAxiosXMLHttpRequest.ts","webpack://hidche_lib/webpack/bootstrap","webpack://hidche_lib/webpack/runtime/amd options","webpack://hidche_lib/webpack/runtime/compat get default export","webpack://hidche_lib/webpack/runtime/define property getters","webpack://hidche_lib/webpack/runtime/global","webpack://hidche_lib/webpack/runtime/hasOwnProperty shorthand","webpack://hidche_lib/webpack/runtime/make namespace object","webpack://hidche_lib/webpack/runtime/jsonp chunk loading","webpack://hidche_lib/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","import {DateTime} from 'luxon';\n\nexport const DATE_TIME_FORMAT = 'yyyy-MM-dd HH:mm:ss';\nexport const DATE_TIME_FORMAT_WITH_FRACTION = 'yyyy-MM-dd HH:mm:ss.SSS';\n\nexport function getDateTimeNow(withFraction = false): string{\n if(withFraction){\n return DateTime.now().toFormat(DATE_TIME_FORMAT_WITH_FRACTION);\n }\n else{\n return DateTime.now().toFormat(DATE_TIME_FORMAT);\n }\n \n}","import { isArray, isString, isNumber, isBoolean } from \"lodash\";\n\nexport function convertFormData(values: Record): FormData{\n const formData = new FormData();\n\n const simpleConv = (v: unknown):string=>{\n if(isString(v)){\n return v;\n }\n if(isNumber(v)){\n return v.toString();\n }\n if(isBoolean(v)){\n return v?'true':'false';\n }\n throw new TypeError('지원하지 않는 formData Type');\n }\n\n for(const [key, value] of Object.entries(values)){\n if(isArray(value)){\n const arrKey = `${key}[]`;\n for(const subValue of value){\n formData.append(arrKey, simpleConv(subValue));\n }\n continue;\n }\n\n formData.append(key, simpleConv(value));\n }\n\n return formData;\n}","type ErrType = { new(msg?: string): T }\ntype Nullable = T | null | undefined\n\nexport class RuntimeError extends Error {\n public name = 'RuntimeError';\n constructor(public message: string = '') {\n super(message);\n }\n toString(): string {\n if (this.message) {\n return this.name + ': ' + this.message;\n }\n else {\n return this.name;\n }\n }\n}\n\nexport class NotNullExpected extends RuntimeError {\n public name = 'NotNullExpected';\n}\n\nexport function unwrap(result: Nullable): T {\n if (result === null || result === undefined) {\n throw new NotNullExpected();\n }\n return result;\n}\n\nexport function unwrap_err(result: Nullable, errType: ErrType, errMsg?: string): T {\n if (result === null || result === undefined) {\n throw new errType(errMsg);\n }\n return result;\n}","import { setAxiosXMLHttpRequest } from \"../hwe/ts/util/setAxiosXMLHttpRequest\";\nimport $ from 'jquery';\nimport 'bootstrap';\nimport axios from 'axios';\nimport { DateTime } from \"luxon\";\nimport { DATE_TIME_FORMAT, getDateTimeNow } from \"../hwe/ts/util/getDateTimeNow\";\nimport { sha512 } from \"js-sha512\";\nimport { convertFormData } from \"../hwe/ts/util/convertFormData\";\nimport { InvalidResponse } from \"../hwe/ts/defs\";\nimport { unwrap } from \"./util\";\n\ntype ResultUserInfo = {\n result: true,\n id: number,\n name: string,\n grade: string,\n picture: string,\n global_salt: string,\n join_date: string,\n third_use: boolean,\n acl: string,\n oauth_type: 'NONE' | 'KAKAO',\n token_valid_until?: string\n}\n\nfunction fillUserInfo(result: ResultUserInfo | InvalidResponse) {\n if (!result.result) {\n alert(result.reason);\n location.href = 'entrance.php';\n return;\n }\n\n $('#slot_id').html(result.id.toString());\n $('#slot_nickname').html(result.name);\n $('#slot_grade').html(result.grade);\n $('#slot_acl').html(result.acl);\n $('#slot_icon').attr('src', result.picture);\n $('#global_salt').val(result.global_salt);\n $('#slot_join_date').html(result.join_date);\n $('#slot_third_use').html(result.third_use ? '○' : '×');\n if (result.third_use) {\n $('#third_use_disallow').show();\n }\n $('#slot_oauth_type').text(result.oauth_type);\n if (result.oauth_type != 'NONE') {\n $('#slot_token_valid_until').text(unwrap(result.token_valid_until));\n }\n else {\n $('#slot_token_valid_until').parent().html('');\n }\n\n\n\n}\n\nfunction changeIconPreview(this: HTMLFormElement) {\n const $preview = $(this) as JQuery;\n console.log($preview);\n\n const filename = $preview[0].files[0].name;\n const reader = new FileReader();\n reader.onload = function (e) {\n $('#slot_new_icon').attr('src', unwrap(unwrap(e.target).result).toString()).css('visibility', 'visible');\n }\n\n reader.readAsDataURL($preview[0].files[0]);\n\n $('#image_upload_filename').val(filename);\n}\n\ntype IconResponse = {\n result: true,\n servers: [string, string][]\n};\n\nasync function deleteIcon() {\n let result: InvalidResponse | IconResponse;\n try {\n const response = await axios({\n url: 'j_icon_delete.php',\n responseType: 'json',\n method: 'post'\n });\n result = response.data;\n }\n catch (e) {\n console.error(e);\n alert(`아이콘 삭제를 실패했습니다: ${e}`);\n return;\n }\n\n if (!result.result) {\n alert(result.reason);\n location.reload();\n return;\n }\n\n showAdjustServerModal(result.servers);\n}\n\nasync function disallowThirdUse() {\n try {\n await axios({\n url: 'j_disallow_third_use.php',\n method: 'post',\n responseType: 'json'\n });\n alert('철회했습니다.');\n }\n catch (e) {\n alert('알 수 없는 이유로 철회를 실패했습니다.');\n }\n location.reload();\n}\n\nfunction showAdjustServerModal(serverList: [string, string][]) {\n\n const $form = $('#chooseServerForm');\n $form.empty();\n\n for (const [serverKey, serverKorName] of serverList) {\n const $item = $(`
\\\n \\\n \\\n
`);\n $form.append($item);\n }\n\n const $modal = $('#chooseServer');\n $modal.modal({\n backdrop: 'static'\n });\n $modal.on('hidden.bs.modal', function () {\n location.reload();\n return;\n });\n\n $(\"#modal-apply\").off(\"click\").on(\"click\", async function () {\n const events: Promise[] = [];\n $form.find('input:checked').each(function () {\n const $input = $(this);\n const server = $input.attr('name');\n\n console.log(server);\n\n events.push(axios({\n url: `../${server}/j_adjust_icon.php`,\n method: 'post',\n responseType: 'json',\n }));\n })\n\n for (const p of events) {\n try {\n await p;\n }\n catch (e) {\n //서버 폐쇄등으로 접근하지 못할 수도 있음.\n console.error(e, p);\n }\n }\n\n alert('적용되었습니다.');\n location.reload();\n });\n\n}\n\nasync function changeIcon(this: HTMLFormElement) {\n const $icon = $('#image_upload') as JQuery;\n\n if ($icon[0].files.length == 0) {\n alert('파일을 선택해주세요');\n return false;\n }\n\n let result: InvalidResponse | IconResponse;\n try {\n const response = await axios({\n url: 'j_icon_change.php',\n method: 'post',\n responseType: 'json',\n data: new FormData(this)\n });\n result = response.data;\n }\n catch (e) {\n alert('알 수 없는 이유로 아이콘 업로드를 실패했습니다.');\n location.reload();\n return;\n }\n\n if (!result.result) {\n alert(result.reason);\n location.reload();\n return;\n }\n\n showAdjustServerModal(result.servers);\n}\n\nasync function changePassword() {\n const old_pw = $('#current_pw').val() as string;\n const new_pw = $('#new_pw').val() as string;\n const new_pw_confirm = $('#new_pw_confirm').val() as string;\n\n if (!old_pw) {\n alert('이전 비밀번호를 입력해야 합니다.');\n return;\n }\n if (new_pw.length < 6) {\n alert('비밀번호 길이는 6글자 이상이어야 합니다.');\n return;\n }\n\n if (new_pw != new_pw_confirm) {\n alert('입력 값이 일치하지 않습니다.');\n return;\n }\n\n const global_salt = $('#global_salt').val();\n\n const old_password = sha512(global_salt + old_pw + global_salt);\n const new_password = sha512(global_salt + new_pw + global_salt);\n\n let result: InvalidResponse;\n\n try {\n const response = await axios({\n url: 'j_change_password.php',\n method: 'post',\n responseType: 'json',\n data: convertFormData({\n old_pw: old_password,\n new_pw: new_password\n })\n });\n result = response.data;\n }\n catch (e) {\n console.error(e);\n alert(`알 수 없는 이유로 비밀번호를 바꾸지 못했습니다.: ${e}`);\n return;\n }\n\n if (!result.result) {\n alert(result.reason);\n return;\n }\n\n alert('비밀번호를 바꾸었습니다');\n location.reload();\n}\n\nasync function deleteMe() {\n const pw = $('#delete_pw').val() as string;\n\n if (!pw) {\n alert('비밀번호를 입력해야 합니다.');\n return;\n }\n\n const global_salt = $('#global_salt').val();\n\n const password = sha512(global_salt + pw + global_salt);\n\n let data: InvalidResponse;\n try {\n const response = await axios({\n url: 'j_delete_me.php',\n responseType: 'json',\n method: 'post',\n data: convertFormData({\n pw: password\n })\n });\n data = response.data;\n }\n catch (e) {\n console.error(e);\n alert(`회원 탈퇴에 실패했습니다.: ${e}`);\n return;\n }\n\n if (!data.result) {\n alert(data.reason);\n return;\n }\n\n alert('탈퇴 처리되었습니다.');\n location.href = '../';\n}\n\nasync function extendAuth() {\n const validUntil = $('#slot_token_valid_until').html();\n const availableAt = DateTime.fromFormat(validUntil, DATE_TIME_FORMAT).minus({ days: 5 }).toFormat(DATE_TIME_FORMAT);\n const now = getDateTimeNow();\n\n if (now < availableAt) {\n alert(`${availableAt}부터 초기화할 수 있습니다.`);\n return false;\n }\n\n if (!confirm('로그아웃됩니다. 진행할까요?')) {\n return;\n }\n\n let result: InvalidResponse;\n\n try {\n const response = await axios({\n url: '../oauth_kakao/j_reset_token.php',\n method: 'post',\n responseType: 'json'\n })\n result = response.data;\n } catch (e) {\n alert(`알 수 없는 이유로 로그인 토큰 연장에 실패했습니다. : ${e}`);\n return;\n }\n\n if(!result.result){\n alert(result.reason);\n return;\n }\n\n alert('초기화했습니다. 다시 로그인해 주십시오.');\n location.href = '../';\n}\n\n$(function () {\n setAxiosXMLHttpRequest();\n $('#slot_icon, #slot_new_icon').attr('src', window.pathConfig.sharedIcon + '/default.jpg');\n\n axios({\n url: 'j_get_user_info.php',\n method: 'post',\n responseType: 'json'\n }).then(result => {\n fillUserInfo(result.data);\n }, () => {\n alert('알 수 없는 이유로, 회원 정보를 불러오지 못했습니다.');\n location.href = 'entrance.php';\n })\n\n $('#image_upload').on('change', changeIconPreview);\n\n $('#btn_remove_icon').on('click', function () {\n if (confirm('아이콘을 제거할까요?')) {\n void deleteIcon();\n }\n return false;\n });\n\n $('#third_use_disallow').on('click', function () {\n if (confirm('개인정보 3자 제공 동의를 철회할까요?')) {\n void disallowThirdUse();\n }\n });\n\n $('#change_pw_form').on('submit', function (e) {\n e.preventDefault();\n void changePassword();\n });\n\n $('#change_icon_form').on('submit', function (e) {\n e.preventDefault();\n void changeIcon.apply(this as HTMLFormElement);\n });\n\n $('#delete_me_form').on('submit', function (e) {\n e.preventDefault();\n if (confirm('한 달 동안 재 가입할 수 없습니다. 정말로 탈퇴할까요?')) {\n void deleteMe();\n }\n });\n\n $('#expand_login_token').on('click', extendAuth);\n})\n","import axios from \"axios\";\n\nexport function setAxiosXMLHttpRequest(): void{\n axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';\n //TODO: X-Requested-With 믿지 말자.\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","__webpack_require__.amdO = {};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t87: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tfor(moduleId in moreModules) {\n\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t}\n\t}\n\tif(runtime) var result = runtime(__webpack_require__);\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkIds[i]] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkhidche_lib\"] = self[\"webpackChunkhidche_lib\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [216], () => (__webpack_require__(1433)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","DATE_TIME_FORMAT","DATE_TIME_FORMAT_WITH_FRACTION","getDateTimeNow","withFraction","DateTime","toFormat","convertFormData","values","formData","FormData","simpleConv","v","toString","TypeError","Object","entries","key","value","arrKey","subValue","append","NotNullExpected","message","this","name","Error","unwrap","result","changeIconPreview","$preview","$","console","log","filename","files","reader","FileReader","onload","e","attr","target","css","readAsDataURL","val","axios","url","responseType","method","response","data","error","alert","reason","location","reload","showAdjustServerModal","servers","serverList","$form","empty","serverKey","serverKorName","$item","$modal","modal","backdrop","on","off","events","find","each","server","push","p","changeIcon","length","old_pw","new_pw","new_pw_confirm","global_salt","old_password","sha512","new_password","pw","password","href","extendAuth","validUntil","html","availableAt","minus","days","confirm","window","pathConfig","sharedIcon","then","id","grade","acl","picture","join_date","third_use","show","text","oauth_type","token_valid_until","parent","fillUserInfo","deleteIcon","disallowThirdUse","preventDefault","changePassword","apply","deleteMe","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","call","m","amdO","O","chunkIds","fn","priority","notFulfilled","Infinity","i","fulfilled","j","keys","every","splice","r","n","getter","__esModule","d","a","definition","o","defineProperty","enumerable","get","g","globalThis","Function","obj","prop","prototype","hasOwnProperty","Symbol","toStringTag","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","self","forEach","bind","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file diff --git a/package.json b/package.json index cfdcf161..d2040fdd 100644 --- a/package.json +++ b/package.json @@ -52,6 +52,7 @@ "typescript": "^4.3.5", "vue-loader": "^16.5.0", "webpack": "^5.49.0", + "webpack-bundle-analyzer": "^4.4.2", "webpack-cli": "^4.7.2" }, "pre-commit": [ diff --git a/webpack.config.js b/webpack.config.js index 7db0ee2a..c708d49e 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -1,7 +1,7 @@ const path = require('path'); const { VueLoaderPlugin } = require('vue-loader'); const MiniCssExtractPlugin = require('mini-css-extract-plugin') - +const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin; module.exports = [ { name: 'ingame', @@ -76,7 +76,8 @@ module.exports = [ new VueLoaderPlugin(), new MiniCssExtractPlugin({ filename: '../css/[name].css' - }) + }), + //new BundleAnalyzerPlugin() ] }, { @@ -151,6 +152,7 @@ module.exports = [ new MiniCssExtractPlugin({ filename: '../css/[name].css' }), + //new BundleAnalyzerPlugin() ] }, ]