hfs 0.26.5 → 0.26.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- import{c as SF}from"./index.3129dad1.js";function OF(sF,hF){for(var eF=0;eF<hF.length;eF++){const tF=hF[eF];if(typeof tF!="string"&&!Array.isArray(tF)){for(const w in tF)if(w!=="default"&&!(w in sF)){const lF=Object.getOwnPropertyDescriptor(tF,w);lF&&Object.defineProperty(sF,w,lF.get?lF:{enumerable:!0,get:()=>tF[w]})}}}return Object.freeze(Object.defineProperty(sF,Symbol.toStringTag,{value:"Module"}))}var yF={exports:{}};/*
1
+ import{c as SF}from"./index.0f549e00.js";function OF(sF,hF){for(var eF=0;eF<hF.length;eF++){const tF=hF[eF];if(typeof tF!="string"&&!Array.isArray(tF)){for(const w in tF)if(w!=="default"&&!(w in sF)){const lF=Object.getOwnPropertyDescriptor(tF,w);lF&&Object.defineProperty(sF,w,lF.get?lF:{enumerable:!0,get:()=>tF[w]})}}}return Object.freeze(Object.defineProperty(sF,Symbol.toStringTag,{value:"Module"}))}var yF={exports:{}};/*
2
2
  * [js-sha512]{@link https://github.com/emn178/js-sha512}
3
3
  *
4
4
  * @version 0.8.0
package/admin/index.html CHANGED
@@ -7,7 +7,7 @@
7
7
  <script async src='https://unpkg.com/node-forge@1.3.1/dist/forge.min.js'></script>
8
8
  <script>SESSION = _HFS_SESSION_</script>
9
9
  <title>HFS Admin</title>
10
- <script type="module" crossorigin src="/assets/index.3129dad1.js"></script>
10
+ <script type="module" crossorigin src="/assets/index.0f549e00.js"></script>
11
11
  <link rel="stylesheet" href="/assets/index.dcc78777.css">
12
12
  </head>
13
13
  <body>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hfs",
3
- "version": "0.26.5",
3
+ "version": "0.26.7",
4
4
  "description": "HTTP File Server",
5
5
  "keywords": [
6
6
  "file server",
package/src/index.js CHANGED
@@ -4,6 +4,7 @@
4
4
  var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  return (mod && mod.__esModule) ? mod : { "default": mod };
6
6
  };
7
+ var _a;
7
8
  Object.defineProperty(exports, "__esModule", { value: true });
8
9
  exports.app = void 0;
9
10
  const koa_1 = __importDefault(require("koa"));
@@ -21,8 +22,9 @@ const adminApis_1 = require("./adminApis");
21
22
  const config_1 = require("./config");
22
23
  const assert_1 = require("assert");
23
24
  const lodash_1 = __importDefault(require("lodash"));
25
+ const misc_1 = require("./misc");
24
26
  (0, assert_1.ok)(lodash_1.default.intersection(Object.keys(frontEndApis_1.frontEndApis), Object.keys(adminApis_1.adminApis)).length === 0); // they share same endpoints
25
- const keys = ['hfs-keys-test'];
27
+ const keys = ((_a = process.env.COOKIE_SIGN_KEYS) === null || _a === void 0 ? void 0 : _a.split(',')) || [(0, misc_1.randomId)(30)];
26
28
  exports.app = new koa_1.default({ keys });
27
29
  exports.app.use(middlewares_1.someSecurity)
28
30
  .use((0, middlewares_1.sessions)(exports.app))
package/src/misc.js CHANGED
@@ -60,10 +60,10 @@ function getOrSet(o, k, creator) {
60
60
  : (o[k] = creator());
61
61
  }
62
62
  exports.getOrSet = getOrSet;
63
+ // 10 chars is 51+bits, 8 is 41+bits
63
64
  function randomId(len = 10) {
64
- // 10 chars is 51+bits, the max we can give. 8 is 41+bits
65
65
  if (len > 10)
66
- throw Error('bad length');
66
+ return randomId(10) + randomId(len - 10);
67
67
  return Math.random()
68
68
  .toString(36)
69
69
  .substring(2, 2 + len)
package/src/vfs.js CHANGED
@@ -24,15 +24,16 @@ exports.defaultPerms = {
24
24
  };
25
25
  exports.MIME_AUTO = 'auto';
26
26
  function inheritFromParent(parent, child) {
27
+ var _a;
27
28
  for (const k of (0, misc_1.typedKeys)(exports.defaultPerms)) {
28
29
  const v = parent[k];
29
30
  if (v !== undefined)
30
- child[k] = v;
31
+ (_a = child[k]) !== null && _a !== void 0 ? _a : (child[k] = v);
31
32
  }
32
33
  if (typeof parent.mime === 'object' && typeof child.mime === 'object')
33
- Object.assign(child.mime, parent.mime);
34
+ lodash_1.default.defaults(child.mime, parent.mime);
34
35
  else
35
- child.mime = parent.mime;
36
+ child.mime || (child.mime = parent.mime);
36
37
  return child;
37
38
  }
38
39
  async function urlToNode(url, ctx, parent = exports.vfs) {
@@ -114,17 +115,6 @@ function hasPermission(node, perm, ctx) {
114
115
  && (perm !== 'can_see' || hasPermission(node, 'can_read', ctx)); // for can_see you must also can_read
115
116
  }
116
117
  exports.hasPermission = hasPermission;
117
- /* redev: 1322k716 8.6s
118
- -temp 6.43s
119
- */
120
- setTimeout(async () => {
121
- let n = 0;
122
- console.time('asd');
123
- for await (const x of walkNode({ source: '/Users/rejetto/redev' }, undefined, Infinity))
124
- ++n;
125
- console.timeEnd('asd');
126
- console.log({ n });
127
- }, 3000);
128
118
  async function* walkNode(parent, ctx, depth = 0, prefixPath = '') {
129
119
  var _a;
130
120
  const { children, source } = parent;