zyf-server
Version:
A modern HTTP static file server with Vue SSR directory listing, built for developers
525 lines • 44 kB
JavaScript
(() => {
var __webpack_modules__ = {
193: (module, __unused_webpack_exports, __webpack_require__) => {
var content = __webpack_require__(976);
if (content.__esModule) content = content.default;
if (typeof content === "string") content = [ [ module.id, content, "" ] ];
if (content.locals) module.exports = content.locals;
var add = __webpack_require__(255).A;
module.exports.__inject__ = function(context) {
add("1fe357b4", content, false, context);
};
},
255: (__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
__webpack_require__.d(__webpack_exports__, {
A: () => addStylesServer
});
var _listToStyles__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(702);
function addStylesServer(parentId, list, isProduction, context) {
if (!context && typeof __VUE_SSR_CONTEXT__ !== "undefined") {
context = __VUE_SSR_CONTEXT__;
}
if (context) {
if (!context.hasOwnProperty("styles")) {
Object.defineProperty(context, "styles", {
enumerable: true,
get: function() {
return renderStyles(context._styles);
}
});
context._renderStyles = renderStyles;
}
var styles = context._styles || (context._styles = {});
list = (0, _listToStyles__WEBPACK_IMPORTED_MODULE_0__.A)(parentId, list);
if (isProduction) {
addStyleProd(styles, list);
} else {
addStyleDev(styles, list);
}
}
}
function addStyleProd(styles, list) {
for (var i = 0; i < list.length; i++) {
var parts = list[i].parts;
for (var j = 0; j < parts.length; j++) {
var part = parts[j];
var id = part.media || "default";
var style = styles[id];
if (style) {
if (style.ids.indexOf(part.id) < 0) {
style.ids.push(part.id);
style.css += "\n" + part.css;
}
} else {
styles[id] = {
ids: [ part.id ],
css: part.css,
media: part.media
};
}
}
}
}
function addStyleDev(styles, list) {
for (var i = 0; i < list.length; i++) {
var parts = list[i].parts;
for (var j = 0; j < parts.length; j++) {
var part = parts[j];
styles[part.id] = {
ids: [ part.id ],
css: part.css,
media: part.media
};
}
}
}
function renderStyles(styles) {
var css = "";
for (var key in styles) {
var style = styles[key];
css += '<style data-vue-ssr-id="' + style.ids.join(" ") + '"' + (style.media ? ' media="' + style.media + '"' : "") + ">" + style.css + "</style>";
}
return css;
}
},
314: module => {
"use strict";
module.exports = function(cssWithMappingToString) {
var list = [];
list.toString = function toString() {
return this.map(function(item) {
var content = "";
var needLayer = typeof item[5] !== "undefined";
if (item[4]) {
content += "@supports (".concat(item[4], ") {");
}
if (item[2]) {
content += "@media ".concat(item[2], " {");
}
if (needLayer) {
content += "@layer".concat(item[5].length > 0 ? " ".concat(item[5]) : "", " {");
}
content += cssWithMappingToString(item);
if (needLayer) {
content += "}";
}
if (item[2]) {
content += "}";
}
if (item[4]) {
content += "}";
}
return content;
}).join("");
};
list.i = function i(modules, media, dedupe, supports, layer) {
if (typeof modules === "string") {
modules = [ [ null, modules, undefined ] ];
}
var alreadyImportedModules = {};
if (dedupe) {
for (var k = 0; k < this.length; k++) {
var id = this[k][0];
if (id != null) {
alreadyImportedModules[id] = true;
}
}
}
for (var _k = 0; _k < modules.length; _k++) {
var item = [].concat(modules[_k]);
if (dedupe && alreadyImportedModules[item[0]]) {
continue;
}
if (typeof layer !== "undefined") {
if (typeof item[5] === "undefined") {
item[5] = layer;
} else {
item[1] = "@layer".concat(item[5].length > 0 ? " ".concat(item[5]) : "", " {").concat(item[1], "}");
item[5] = layer;
}
}
if (media) {
if (!item[2]) {
item[2] = media;
} else {
item[1] = "@media ".concat(item[2], " {").concat(item[1], "}");
item[2] = media;
}
}
if (supports) {
if (!item[4]) {
item[4] = "".concat(supports);
} else {
item[1] = "@supports (".concat(item[4], ") {").concat(item[1], "}");
item[4] = supports;
}
}
list.push(item);
}
};
return list;
};
},
354: module => {
"use strict";
module.exports = function(item) {
var content = item[1];
var cssMapping = item[3];
if (!cssMapping) {
return content;
}
if (typeof btoa === "function") {
var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));
var data = "sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(base64);
var sourceMapping = "/*# ".concat(data, " */");
return [ content ].concat([ sourceMapping ]).join("\n");
}
return [ content ].join("\n");
};
},
447: (__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
__webpack_require__.d(__webpack_exports__, {
A: () => __WEBPACK_DEFAULT_EXPORT__
});
var _App_vue_vue_type_template_id_48e1cefc_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(810);
var _App_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(691);
var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(486);
function injectStyles(context) {
var style0 = __webpack_require__(736);
if (style0.__inject__) style0.__inject__(context);
}
var component = (0, _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__.A)(_App_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_1__.A, _App_vue_vue_type_template_id_48e1cefc_scoped_true__WEBPACK_IMPORTED_MODULE_0__.X, _App_vue_vue_type_template_id_48e1cefc_scoped_true__WEBPACK_IMPORTED_MODULE_0__.Y, false, injectStyles, "48e1cefc", "02a76864");
const __WEBPACK_DEFAULT_EXPORT__ = component.exports;
},
486: (__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
__webpack_require__.d(__webpack_exports__, {
A: () => normalizeComponent
});
function normalizeComponent(scriptExports, render, staticRenderFns, functionalTemplate, injectStyles, scopeId, moduleIdentifier, shadowMode) {
var options = typeof scriptExports === "function" ? scriptExports.options : scriptExports;
if (render) {
options.render = render;
options.staticRenderFns = staticRenderFns;
options._compiled = true;
}
if (functionalTemplate) {
options.functional = true;
}
if (scopeId) {
options._scopeId = "data-v-" + scopeId;
}
var hook;
if (moduleIdentifier) {
hook = function(context) {
context = context || this.$vnode && this.$vnode.ssrContext || this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext;
if (!context && typeof __VUE_SSR_CONTEXT__ !== "undefined") {
context = __VUE_SSR_CONTEXT__;
}
if (injectStyles) {
injectStyles.call(this, context);
}
if (context && context._registeredComponents) {
context._registeredComponents.add(moduleIdentifier);
}
};
options._ssrRegister = hook;
} else if (injectStyles) {
hook = shadowMode ? function() {
injectStyles.call(this, (options.functional ? this.parent : this).$root.$options.shadowRoot);
} : injectStyles;
}
if (hook) {
if (options.functional) {
options._injectStyles = hook;
var originalRender = options.render;
options.render = function renderWithStyleInjection(h, context) {
hook.call(context);
return originalRender(h, context);
};
} else {
var existing = options.beforeCreate;
options.beforeCreate = existing ? [].concat(existing, hook) : [ hook ];
}
}
return {
exports: scriptExports,
options
};
}
},
521: module => {
"use strict";
module.exports = require("element-ui");
},
691: (__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
__webpack_require__.d(__webpack_exports__, {
A: () => __WEBPACK_DEFAULT_EXPORT__
});
var _node_modules_babel_loader_lib_index_js_clonedRuleSet_2_use_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(882);
const __WEBPACK_DEFAULT_EXPORT__ = _node_modules_babel_loader_lib_index_js_clonedRuleSet_2_use_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_script_lang_js__WEBPACK_IMPORTED_MODULE_0__.A;
},
702: (__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
__webpack_require__.d(__webpack_exports__, {
A: () => listToStyles
});
function listToStyles(parentId, list) {
var styles = [];
var newStyles = {};
for (var i = 0; i < list.length; i++) {
var item = list[i];
var id = item[0];
var css = item[1];
var media = item[2];
var sourceMap = item[3];
var part = {
id: parentId + ":" + i,
css,
media,
sourceMap
};
if (!newStyles[id]) {
styles.push(newStyles[id] = {
id,
parts: [ part ]
});
} else {
newStyles[id].parts.push(part);
}
}
return styles;
}
},
719: (module, __webpack_exports__, __webpack_require__) => {
"use strict";
__webpack_require__.d(__webpack_exports__, {
A: () => __WEBPACK_DEFAULT_EXPORT__
});
var _css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(354);
var _css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = __webpack_require__.n(_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);
var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(314);
var _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = __webpack_require__.n(_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);
var ___CSS_LOADER_EXPORT___ = _css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default());
___CSS_LOADER_EXPORT___.push([ module.id, `/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the \`main\` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on \`h1\` elements within \`section\` and\n * \`article\` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd \`em\` font sizing in all browsers.\n */\n\npre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd \`em\` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent \`sub\` and \`sup\` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput { /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect { /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type="button"],\n[type="reset"],\n[type="submit"] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type="button"]::-moz-focus-inner,\n[type="reset"]::-moz-focus-inner,\n[type="submit"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type="button"]:-moz-focusring,\n[type="reset"]:-moz-focusring,\n[type="submit"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from \`fieldset\` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * \`fieldset\` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type="checkbox"],\n[type="radio"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type="number"]::-webkit-inner-spin-button,\n[type="number"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type="search"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type="search"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to \`inherit\` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n`, "", {
version: 3,
sources: [ "webpack://./node_modules/normalize.css/normalize.css" ],
names: [],
mappings: "AAAA,2EAA2E;;AAE3E;+EAC+E;;AAE/E;;;EAGE;;AAEF;EACE,iBAAiB,EAAE,MAAM;EACzB,8BAA8B,EAAE,MAAM;AACxC;;AAEA;+EAC+E;;AAE/E;;EAEE;;AAEF;EACE,SAAS;AACX;;AAEA;;EAEE;;AAEF;EACE,cAAc;AAChB;;AAEA;;;EAGE;;AAEF;EACE,cAAc;EACd,gBAAgB;AAClB;;AAEA;+EAC+E;;AAE/E;;;EAGE;;AAEF;EACE,uBAAuB,EAAE,MAAM;EAC/B,SAAS,EAAE,MAAM;EACjB,iBAAiB,EAAE,MAAM;AAC3B;;AAEA;;;EAGE;;AAEF;EACE,iCAAiC,EAAE,MAAM;EACzC,cAAc,EAAE,MAAM;AACxB;;AAEA;+EAC+E;;AAE/E;;EAEE;;AAEF;EACE,6BAA6B;AAC/B;;AAEA;;;EAGE;;AAEF;EACE,mBAAmB,EAAE,MAAM;EAC3B,0BAA0B,EAAE,MAAM;EAClC,iCAAiC,EAAE,MAAM;AAC3C;;AAEA;;EAEE;;AAEF;;EAEE,mBAAmB;AACrB;;AAEA;;;EAGE;;AAEF;;;EAGE,iCAAiC,EAAE,MAAM;EACzC,cAAc,EAAE,MAAM;AACxB;;AAEA;;EAEE;;AAEF;EACE,cAAc;AAChB;;AAEA;;;EAGE;;AAEF;;EAEE,cAAc;EACd,cAAc;EACd,kBAAkB;EAClB,wBAAwB;AAC1B;;AAEA;EACE,eAAe;AACjB;;AAEA;EACE,WAAW;AACb;;AAEA;+EAC+E;;AAE/E;;EAEE;;AAEF;EACE,kBAAkB;AACpB;;AAEA;+EAC+E;;AAE/E;;;EAGE;;AAEF;;;;;EAKE,oBAAoB,EAAE,MAAM;EAC5B,eAAe,EAAE,MAAM;EACvB,iBAAiB,EAAE,MAAM;EACzB,SAAS,EAAE,MAAM;AACnB;;AAEA;;;EAGE;;AAEF;QACQ,MAAM;EACZ,iBAAiB;AACnB;;AAEA;;;EAGE;;AAEF;SACS,MAAM;EACb,oBAAoB;AACtB;;AAEA;;EAEE;;AAEF;;;;EAIE,0BAA0B;AAC5B;;AAEA;;EAEE;;AAEF;;;;EAIE,kBAAkB;EAClB,UAAU;AACZ;;AAEA;;EAEE;;AAEF;;;;EAIE,8BAA8B;AAChC;;AAEA;;EAEE;;AAEF;EACE,8BAA8B;AAChC;;AAEA;;;;;EAKE;;AAEF;EACE,sBAAsB,EAAE,MAAM;EAC9B,cAAc,EAAE,MAAM;EACtB,cAAc,EAAE,MAAM;EACtB,eAAe,EAAE,MAAM;EACvB,UAAU,EAAE,MAAM;EAClB,mBAAmB,EAAE,MAAM;AAC7B;;AAEA;;EAEE;;AAEF;EACE,wBAAwB;AAC1B;;AAEA;;EAEE;;AAEF;EACE,cAAc;AAChB;;AAEA;;;EAGE;;AAEF;;EAEE,sBAAsB,EAAE,MAAM;EAC9B,UAAU,EAAE,MAAM;AACpB;;AAEA;;EAEE;;AAEF;;EAEE,YAAY;AACd;;AAEA;;;EAGE;;AAEF;EACE,6BAA6B,EAAE,MAAM;EACrC,oBAAoB,EAAE,MAAM;AAC9B;;AAEA;;EAEE;;AAEF;EACE,wBAAwB;AAC1B;;AAEA;;;EAGE;;AAEF;EACE,0BAA0B,EAAE,MAAM;EAClC,aAAa,EAAE,MAAM;AACvB;;AAEA;+EAC+E;;AAE/E;;EAEE;;AAEF;EACE,cAAc;AAChB;;AAEA;;EAEE;;AAEF;EACE,kBAAkB;AACpB;;AAEA;+EAC+E;;AAE/E;;EAEE;;AAEF;EACE,aAAa;AACf;;AAEA;;EAEE;;AAEF;EACE,aAAa;AACf",
sourcesContent: [ '/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput { /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect { /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type="button"],\n[type="reset"],\n[type="submit"] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type="button"]::-moz-focus-inner,\n[type="reset"]::-moz-focus-inner,\n[type="submit"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type="button"]:-moz-focusring,\n[type="reset"]:-moz-focusring,\n[type="submit"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type="checkbox"],\n[type="radio"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type="number"]::-webkit-inner-spin-button,\n[type="number"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type="search"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type="search"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n' ],
sourceRoot: ""
} ]);
const __WEBPACK_DEFAULT_EXPORT__ = ___CSS_LOADER_EXPORT___;
},
736: (__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
__webpack_require__.r(__webpack_exports__);
var _node_modules_vue_style_loader_index_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_style_index_0_id_48e1cefc_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(193);
var _node_modules_vue_style_loader_index_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_style_index_0_id_48e1cefc_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0___default = __webpack_require__.n(_node_modules_vue_style_loader_index_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_style_index_0_id_48e1cefc_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__);
var __WEBPACK_REEXPORT_OBJECT__ = {};
for (const __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_style_index_0_id_48e1cefc_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__) if (__WEBPACK_IMPORT_KEY__ !== "default") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => _node_modules_vue_style_loader_index_js_node_modules_css_loader_dist_cjs_js_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_sass_loader_dist_cjs_js_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_style_index_0_id_48e1cefc_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__[__WEBPACK_IMPORT_KEY__];
__webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
},
777: (__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
__webpack_require__.d(__webpack_exports__, {
X: () => render,
Y: () => staticRenderFns
});
var render = function render() {
var _vm = this, _c = _vm._self._c;
return _c("div", {
attrs: {
id: "app"
}
}, [ _vm._ssrNode('<div class="directory-header" data-v-48e1cefc>', "</div>", [ _c("el-tag", {
attrs: {
type: "info",
size: "medium"
}
}, [ _c("i", {
staticClass: "el-icon-folder"
}), _vm._v(" 目录浏览\n ") ]), _vm._ssrNode(' <span class="directory-count" data-v-48e1cefc>' + _vm._ssrEscape(_vm._s(_vm.dirs.length) + " 项") + "</span>") ], 2), _vm._ssrNode(' <div class="directory-content" data-v-48e1cefc><table class="file-table" data-v-48e1cefc><thead data-v-48e1cefc><tr data-v-48e1cefc><th data-v-48e1cefc>名称</th> <th data-v-48e1cefc>大小</th> <th data-v-48e1cefc>修改时间</th></tr></thead> <tbody data-v-48e1cefc>' + _vm._ssrList(_vm.dirs, function(item) {
return "<tr data-v-48e1cefc><td data-v-48e1cefc><a" + _vm._ssrAttr("href", item.path) + ' class="file-link" data-v-48e1cefc><i' + _vm._ssrClass("file-icon", _vm.getFileIcon(item)) + ' data-v-48e1cefc></i> <span class="file-name" data-v-48e1cefc>' + _vm._ssrEscape(_vm._s(item.name)) + "</span></a></td> <td data-v-48e1cefc>" + (!item.isDirectory ? "<span data-v-48e1cefc>" + _vm._ssrEscape(_vm._s(_vm.formatFileSize(item.size))) + "</span>" : '<span class="directory-indicator" data-v-48e1cefc>—</span>') + "</td> <td data-v-48e1cefc>" + _vm._ssrEscape(_vm._s(_vm.formatDate(item.mtime))) + "</td></tr>";
}) + "</tbody></table></div>") ], 2);
};
var staticRenderFns = [];
render._withStripped = true;
},
810: (__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
__webpack_require__.d(__webpack_exports__, {
X: () => _node_modules_babel_loader_lib_index_js_clonedRuleSet_2_use_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_3_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_template_id_48e1cefc_scoped_true__WEBPACK_IMPORTED_MODULE_0__.X,
Y: () => _node_modules_babel_loader_lib_index_js_clonedRuleSet_2_use_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_3_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_template_id_48e1cefc_scoped_true__WEBPACK_IMPORTED_MODULE_0__.Y
});
var _node_modules_babel_loader_lib_index_js_clonedRuleSet_2_use_node_modules_vue_loader_lib_loaders_templateLoader_js_ruleSet_1_rules_3_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_template_id_48e1cefc_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(777);
},
882: (__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
__webpack_require__.d(__webpack_exports__, {
A: () => __WEBPACK_DEFAULT_EXPORT__
});
var element_ui__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(521);
var element_ui__WEBPACK_IMPORTED_MODULE_0___default = __webpack_require__.n(element_ui__WEBPACK_IMPORTED_MODULE_0__);
const __WEBPACK_DEFAULT_EXPORT__ = {
name: "DirectoryListing",
components: {
[element_ui__WEBPACK_IMPORTED_MODULE_0__.Tag.name]: element_ui__WEBPACK_IMPORTED_MODULE_0__.Tag
},
props: {
dirs: {
type: Array,
required: true,
default: () => []
}
},
methods: {
getFileIcon(item) {
if (item.isDirectory) {
return "el-icon-folder";
}
const ext = item.name.split(".").pop()?.toLowerCase();
const iconMap = {
js: "el-icon-document",
ts: "el-icon-document",
vue: "el-icon-document",
html: "el-icon-document",
css: "el-icon-document",
json: "el-icon-document",
md: "el-icon-reading",
txt: "el-icon-document-checked",
pdf: "el-icon-tickets",
jpg: "el-icon-picture",
jpeg: "el-icon-picture",
png: "el-icon-picture",
gif: "el-icon-picture",
svg: "el-icon-picture-outline",
zip: "el-icon-collection",
gz: "el-icon-collection",
tar: "el-icon-collection",
yml: "el-icon-setting",
yaml: "el-icon-setting",
config: "el-icon-setting",
lock: "el-icon-lock"
};
return iconMap[ext] || "el-icon-document";
},
formatFileSize(bytes) {
if (!bytes) return "—";
const sizes = [ "B", "KB", "MB", "GB" ];
const i = Math.floor(Math.log(bytes) / Math.log(1024));
return Math.round(bytes / Math.pow(1024, i) * 100) / 100 + " " + sizes[i];
},
formatDate(date) {
return new Date(date).toLocaleString("zh-CN");
}
}
};
},
944: module => {
"use strict";
module.exports = require("vue");
},
976: (module, __webpack_exports__, __webpack_require__) => {
"use strict";
__webpack_require__.r(__webpack_exports__);
__webpack_require__.d(__webpack_exports__, {
default: () => __WEBPACK_DEFAULT_EXPORT__
});
var _node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(354);
var _node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = __webpack_require__.n(_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);
var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(314);
var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = __webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);
var _node_modules_css_loader_dist_cjs_js_node_modules_normalize_css_normalize_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(719);
var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default());
___CSS_LOADER_EXPORT___.i(_node_modules_css_loader_dist_cjs_js_node_modules_normalize_css_normalize_css__WEBPACK_IMPORTED_MODULE_2__.A);
___CSS_LOADER_EXPORT___.push([ module.id, `.directory-header[data-v-48e1cefc]{padding:20px;background:#fff;border-bottom:1px solid #e4e7ed;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 4px rgba(0,0,0,.05)}.directory-count[data-v-48e1cefc]{color:#909399;font-size:14px;font-weight:500}.directory-content[data-v-48e1cefc]{padding:20px;max-width:1200px;margin:0 auto}.file-table[data-v-48e1cefc]{width:100%;border-collapse:collapse;background:#fff;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);border-radius:6px;overflow:hidden}.file-table th[data-v-48e1cefc]{background:#fafafa;color:#606266;font-weight:600;padding:16px 20px;text-align:left;border-bottom:2px solid #ebeef5;font-size:13px;text-transform:uppercase;letter-spacing:.5px}.file-table td[data-v-48e1cefc]{padding:14px 20px;border-bottom:1px solid #f0f0f0;color:#606266;transition:background-color .2s ease}.file-table tbody tr[data-v-48e1cefc]{cursor:pointer}.file-table tbody tr[data-v-48e1cefc]:hover{background-color:#f8f9fa}.file-table tbody tr:last-child td[data-v-48e1cefc]{border-bottom:none}.file-link[data-v-48e1cefc]{display:flex;align-items:center;color:inherit;text-decoration:none;transition:color .2s ease}.file-link:hover .file-name[data-v-48e1cefc]{color:#66b1ff}.file-name[data-v-48e1cefc]{text-decoration:underline;color:#409eff;font-weight:500;transition:color .2s ease}.file-icon[data-v-48e1cefc]{font-size:18px;margin-right:10px;vertical-align:middle;transition:transform .2s ease}.file-link:hover .file-icon[data-v-48e1cefc]{transform:scale(1.1)}.el-icon-folder[data-v-48e1cefc]{color:#409eff}.el-icon-document[data-v-48e1cefc],.el-icon-document-checked[data-v-48e1cefc]{color:#909399}.el-icon-picture[data-v-48e1cefc],.el-icon-picture-outline[data-v-48e1cefc]{color:#67c23a}.el-icon-reading[data-v-48e1cefc],.el-icon-tickets[data-v-48e1cefc]{color:#e6a23c}.el-icon-setting[data-v-48e1cefc],.el-icon-collection[data-v-48e1cefc],.el-icon-lock[data-v-48e1cefc]{color:#f56c6c}.directory-indicator[data-v-48e1cefc]{color:#c0c4cc;font-style:italic}`, "", {
version: 3,
sources: [ "webpack://./website/App.vue" ],
names: [],
mappings: "AASA,mCACE,YAAA,CACA,eAAA,CACA,+BAAA,CACA,YAAA,CACA,6BAAA,CACA,kBAAA,CACA,oCAAA,CAGF,kCACE,aAAA,CACA,cAAA,CACA,eAAA,CAGF,oCACE,YAAA,CACA,gBAAA,CACA,aAAA,CAGF,6BACE,UAAA,CACA,wBAAA,CACA,eAAA,CACA,sCAAA,CACA,iBAAA,CACA,eAAA,CAEA,gCACE,kBAAA,CACA,aAAA,CACA,eAAA,CACA,iBAAA,CACA,eAAA,CACA,+BAAA,CACA,cAAA,CACA,wBAAA,CACA,mBAAA,CAGF,gCACE,iBAAA,CACA,+BAAA,CACA,aAAA,CACA,oCAAA,CAGF,sCACE,cAAA,CAEA,4CACE,wBAAA,CAGF,oDACE,kBAAA,CAKN,4BACE,YAAA,CACA,kBAAA,CACA,aAAA,CACA,oBAAA,CACA,yBAAA,CAEA,6CACE,aAAA,CAIJ,4BACE,yBAAA,CACA,aAlFc,CAmFd,eAAA,CACA,yBAAA,CAGF,4BACE,cAAA,CACA,iBAAA,CACA,qBAAA,CACA,6BAAA,CAEA,6CACE,oBAAA,CAIJ,iCACE,aAnGc,CAsGhB,8EAEE,aApGW,CAuGb,4EAEE,aA5Gc,CA+GhB,oEAEE,aAhHc,CAmHhB,sGAGE,aArHa,CAwHf,sCACE,aAAA,CACA,iBAAA",
sourcesContent: [ "\n@import 'normalize.css';\n\n$primary-color: #409EFF;\n$success-color: #67C23A;\n$warning-color: #E6A23C;\n$danger-color: #F56C6C;\n$info-color: #909399;\n\n.directory-header {\n padding: 20px;\n background: #ffffff;\n border-bottom: 1px solid #e4e7ed;\n display: flex;\n justify-content: space-between;\n align-items: center;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);\n}\n\n.directory-count {\n color: #909399;\n font-size: 14px;\n font-weight: 500;\n}\n\n.directory-content {\n padding: 20px;\n max-width: 1200px;\n margin: 0 auto;\n}\n\n.file-table {\n width: 100%;\n border-collapse: collapse;\n background: white;\n box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);\n border-radius: 6px;\n overflow: hidden;\n\n th {\n background: #fafafa;\n color: #606266;\n font-weight: 600;\n padding: 16px 20px;\n text-align: left;\n border-bottom: 2px solid #ebeef5;\n font-size: 13px;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n }\n\n td {\n padding: 14px 20px;\n border-bottom: 1px solid #f0f0f0;\n color: #606266;\n transition: background-color 0.2s ease;\n }\n\n tbody tr {\n cursor: pointer;\n \n &:hover {\n background-color: #f8f9fa;\n }\n\n &:last-child td {\n border-bottom: none;\n }\n }\n}\n\n.file-link {\n display: flex;\n align-items: center;\n color: inherit;\n text-decoration: none;\n transition: color 0.2s ease;\n\n &:hover .file-name {\n color: #66b1ff;\n }\n}\n\n.file-name {\n text-decoration: underline;\n color: $primary-color;\n font-weight: 500;\n transition: color 0.2s ease;\n}\n\n.file-icon {\n font-size: 18px;\n margin-right: 10px;\n vertical-align: middle;\n transition: transform 0.2s ease;\n\n .file-link:hover & {\n transform: scale(1.1);\n }\n}\n\n.el-icon-folder {\n color: $primary-color;\n}\n\n.el-icon-document, \n.el-icon-document-checked {\n color: $info-color;\n}\n\n.el-icon-picture,\n.el-icon-picture-outline {\n color: $success-color;\n}\n\n.el-icon-reading,\n.el-icon-tickets {\n color: $warning-color;\n}\n\n.el-icon-setting,\n.el-icon-collection,\n.el-icon-lock {\n color: $danger-color;\n}\n\n.directory-indicator {\n color: #c0c4cc;\n font-style: italic;\n}\n" ],
sourceRoot: ""
} ]);
const __WEBPACK_DEFAULT_EXPORT__ = ___CSS_LOADER_EXPORT___;
}
};
var __webpack_module_cache__ = {};
function __webpack_require__(moduleId) {
var cachedModule = __webpack_module_cache__[moduleId];
if (cachedModule !== undefined) {
return cachedModule.exports;
}
var module = __webpack_module_cache__[moduleId] = {
id: moduleId,
exports: {}
};
__webpack_modules__[moduleId](module, module.exports, __webpack_require__);
return module.exports;
}
(() => {
__webpack_require__.n = module => {
var getter = module && module.__esModule ? () => module["default"] : () => module;
__webpack_require__.d(getter, {
a: getter
});
return getter;
};
})();
(() => {
__webpack_require__.d = (exports, definition) => {
for (var key in definition) {
if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
Object.defineProperty(exports, key, {
enumerable: true,
get: definition[key]
});
}
}
};
})();
(() => {
__webpack_require__.o = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop);
})();
(() => {
__webpack_require__.r = exports => {
if (typeof Symbol !== "undefined" && Symbol.toStringTag) {
Object.defineProperty(exports, Symbol.toStringTag, {
value: "Module"
});
}
Object.defineProperty(exports, "__esModule", {
value: true
});
};
})();
var __webpack_exports__ = {};
(() => {
"use strict";
__webpack_require__.r(__webpack_exports__);
__webpack_require__.d(__webpack_exports__, {
default: () => app
});
var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(944);
var vue__WEBPACK_IMPORTED_MODULE_0___default = __webpack_require__.n(vue__WEBPACK_IMPORTED_MODULE_0__);
var _App_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(447);
const app = context => {
const {dirs} = context;
return new Promise(resolve => {
const app = new (vue__WEBPACK_IMPORTED_MODULE_0___default())({
render: h => h(_App_vue__WEBPACK_IMPORTED_MODULE_1__.A, {
props: {
dirs
}
})
});
resolve(app);
});
};
})();
module.exports = __webpack_exports__;
})();
//# sourceMappingURL=server.bundle.js.map