cloudcmd 19.0.17 → 19.1.0

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.
Files changed (62) hide show
  1. package/ChangeLog +9 -0
  2. package/HELP.md +2 -1
  3. package/README.md +1 -1
  4. package/bin/cloudcmd.mjs +1 -1
  5. package/common/try-to-promise-all.js +1 -1
  6. package/dist/cloudcmd.common.js +2 -2
  7. package/dist/cloudcmd.common.js.map +1 -1
  8. package/dist/cloudcmd.js +1 -1
  9. package/dist/cloudcmd.js.map +1 -1
  10. package/dist/modules/cloud.js +1 -1
  11. package/dist/modules/cloud.js.map +1 -1
  12. package/dist/modules/command-line.js +1 -1
  13. package/dist/modules/command-line.js.map +1 -1
  14. package/dist/modules/config.js +1 -1
  15. package/dist/modules/config.js.map +1 -1
  16. package/dist/modules/contact.js +1 -1
  17. package/dist/modules/contact.js.map +1 -1
  18. package/dist/modules/edit-file-vim.js +1 -1
  19. package/dist/modules/edit-file-vim.js.map +1 -1
  20. package/dist/modules/edit-file.js +1 -1
  21. package/dist/modules/edit-file.js.map +1 -1
  22. package/dist/modules/edit-names-vim.js +1 -1
  23. package/dist/modules/edit-names-vim.js.map +1 -1
  24. package/dist/modules/edit-names.js +1 -1
  25. package/dist/modules/edit-names.js.map +1 -1
  26. package/dist/modules/edit.js +1 -1
  27. package/dist/modules/edit.js.map +1 -1
  28. package/dist/modules/help.js +1 -1
  29. package/dist/modules/help.js.map +1 -1
  30. package/dist/modules/konsole.js +1 -1
  31. package/dist/modules/konsole.js.map +1 -1
  32. package/dist/modules/markdown.js +1 -1
  33. package/dist/modules/markdown.js.map +1 -1
  34. package/dist/modules/menu.js +1 -1
  35. package/dist/modules/menu.js.map +1 -1
  36. package/dist/modules/operation.js +1 -1
  37. package/dist/modules/operation.js.map +1 -1
  38. package/dist/modules/polyfill.js +1 -1
  39. package/dist/modules/polyfill.js.map +1 -1
  40. package/dist/modules/terminal-run.js +1 -1
  41. package/dist/modules/terminal-run.js.map +1 -1
  42. package/dist/modules/terminal.js +1 -1
  43. package/dist/modules/terminal.js.map +1 -1
  44. package/dist/modules/upload.js +1 -1
  45. package/dist/modules/upload.js.map +1 -1
  46. package/dist/modules/user-menu.js +1 -1
  47. package/dist/modules/user-menu.js.map +1 -1
  48. package/dist/modules/view.js +1 -1
  49. package/dist/modules/view.js.map +1 -1
  50. package/dist/sw.js +1 -1
  51. package/dist/sw.js.map +1 -1
  52. package/dist-dev/cloudcmd.common.js +57 -24
  53. package/dist-dev/sw.js +43 -3
  54. package/package.json +4 -4
  55. package/server/columns.mjs +3 -2
  56. package/server/config.js +2 -2
  57. package/server/route.mjs +1 -1
  58. package/server/server.mjs +1 -1
  59. package/server/terminal.js +1 -1
  60. package/server/theme.mjs +2 -3
  61. package/server/user-menu.mjs +1 -1
  62. package/server/validate.mjs +1 -1
package/dist-dev/sw.js CHANGED
@@ -16,7 +16,7 @@
16
16
  (__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
17
17
 
18
18
  "use strict";
19
- eval("{\n\nconst process = __webpack_require__(/*! node:process */ \"./node_modules/process/browser.js\");\nconst tryToCatch = __webpack_require__(/*! try-to-catch */ \"./node_modules/try-to-catch/lib/try-to-catch.js\");\nconst currify = __webpack_require__(/*! currify */ \"./node_modules/currify/lib/currify.js\");\nconst isDev = process.env.NODE_ENV === 'development';\nconst isGet = a => a.method === 'GET';\nconst isBasic = a => a.type === 'basic';\nconst wait = currify((f, e) => e.waitUntil(f()));\nconst respondWith = currify((f, e) => {\n const {\n request\n } = e;\n const {\n url\n } = request;\n const pathname = getPathName(url);\n if (url.endsWith('/') || /\\^\\/fs/.test(pathname)) return;\n if (!isGet(request)) return;\n if (!isBasic(request)) return;\n if (pathname.startsWith('/api')) return;\n if (/^socket.io/.test(pathname)) return;\n e.respondWith(f(e));\n});\nconst getPathName = url => new URL(url).pathname;\nconst date = \"Wed Dec 24 2025 14:42:33 GMT+0200 (Eastern European Standard Time)\";\nconst NAME = `cloudcmd: ${date}`;\nconst createRequest = a => new Request(a, {\n credentials: 'same-origin'\n});\nconst getRequest = (a, request) => {\n if (a !== '/') return request;\n return createRequest('/');\n};\nself.addEventListener('install', wait(onInstall));\nself.addEventListener('fetch', respondWith(onFetch));\nself.addEventListener('activate', wait(onActivate));\nasync function onActivate() {\n console.info(`cloudcmd: sw: activate: ${NAME}`);\n await self.clients.claim();\n const keys = await caches.keys();\n const deleteCache = caches.delete.bind(caches);\n await Promise.all(keys.map(deleteCache));\n}\nasync function onInstall() {\n console.info(`cloudcmd: sw: install: ${NAME}`);\n await self.skipWaiting();\n}\nasync function onFetch(event) {\n const {\n request\n } = event;\n const {\n url\n } = request;\n const pathname = getPathName(url);\n const newRequest = getRequest(pathname, event.request);\n const cache = await caches.open(NAME);\n const response = await cache.match(request);\n if (!isDev && response) return response;\n const [e, resp] = await tryToCatch(fetch, newRequest, {\n credentials: 'same-origin'\n });\n if (e) return new Response(e.message);\n await addToCache(request, resp.clone());\n return resp;\n}\nasync function addToCache(request, response) {\n const cache = await caches.open(NAME);\n return cache.put(request, response);\n}\n\n//# sourceURL=file://cloudcmd/client/sw/sw.js\n}");
19
+ eval("{\n\nconst process = __webpack_require__(/*! node:process */ \"./node_modules/process/browser.js\");\nconst {\n tryToCatch\n} = __webpack_require__(/*! try-to-catch */ \"./node_modules/try-to-catch/lib/try-to-catch.cjs\");\nconst currify = __webpack_require__(/*! currify */ \"./node_modules/currify/lib/currify.js\");\nconst isDev = process.env.NODE_ENV === 'development';\nconst isGet = a => a.method === 'GET';\nconst isBasic = a => a.type === 'basic';\nconst wait = currify((f, e) => e.waitUntil(f()));\nconst respondWith = currify((f, e) => {\n const {\n request\n } = e;\n const {\n url\n } = request;\n const pathname = getPathName(url);\n if (url.endsWith('/') || /\\^\\/fs/.test(pathname)) return;\n if (!isGet(request)) return;\n if (!isBasic(request)) return;\n if (pathname.startsWith('/api')) return;\n if (/^socket.io/.test(pathname)) return;\n e.respondWith(f(e));\n});\nconst getPathName = url => new URL(url).pathname;\nconst date = \"Wed Dec 31 2025 14:14:22 GMT+0200 (Eastern European Standard Time)\";\nconst NAME = `cloudcmd: ${date}`;\nconst createRequest = a => new Request(a, {\n credentials: 'same-origin'\n});\nconst getRequest = (a, request) => {\n if (a !== '/') return request;\n return createRequest('/');\n};\nself.addEventListener('install', wait(onInstall));\nself.addEventListener('fetch', respondWith(onFetch));\nself.addEventListener('activate', wait(onActivate));\nasync function onActivate() {\n console.info(`cloudcmd: sw: activate: ${NAME}`);\n await self.clients.claim();\n const keys = await caches.keys();\n const deleteCache = caches.delete.bind(caches);\n await Promise.all(keys.map(deleteCache));\n}\nasync function onInstall() {\n console.info(`cloudcmd: sw: install: ${NAME}`);\n await self.skipWaiting();\n}\nasync function onFetch(event) {\n const {\n request\n } = event;\n const {\n url\n } = request;\n const pathname = getPathName(url);\n const newRequest = getRequest(pathname, event.request);\n const cache = await caches.open(NAME);\n const response = await cache.match(request);\n if (!isDev && response) return response;\n const [e, resp] = await tryToCatch(fetch, newRequest, {\n credentials: 'same-origin'\n });\n if (e) return new Response(e.message);\n await addToCache(request, resp.clone());\n return resp;\n}\nasync function addToCache(request, response) {\n const cache = await caches.open(NAME);\n return cache.put(request, response);\n}\n\n//# sourceURL=file://cloudcmd/client/sw/sw.js\n}");
20
20
 
21
21
  /***/ },
22
22
 
@@ -41,14 +41,25 @@ eval("{// shim for using process in browser\nvar process = module.exports = {};\
41
41
 
42
42
  /***/ },
43
43
 
44
+ /***/ "./node_modules/try-to-catch/lib/try-to-catch.cjs"
45
+ /*!********************************************************!*\
46
+ !*** ./node_modules/try-to-catch/lib/try-to-catch.cjs ***!
47
+ \********************************************************/
48
+ (module, __unused_webpack_exports, __webpack_require__) {
49
+
50
+ "use strict";
51
+ eval("{\n\nconst {tryToCatch} = __webpack_require__(/*! ./try-to-catch.js */ \"./node_modules/try-to-catch/lib/try-to-catch.js\");\n\nmodule.exports = tryToCatch;\nmodule.exports.tryToCatch = tryToCatch;\n\n\n//# sourceURL=file://cloudcmd/node_modules/try-to-catch/lib/try-to-catch.cjs\n}");
52
+
53
+ /***/ },
54
+
44
55
  /***/ "./node_modules/try-to-catch/lib/try-to-catch.js"
45
56
  /*!*******************************************************!*\
46
57
  !*** ./node_modules/try-to-catch/lib/try-to-catch.js ***!
47
58
  \*******************************************************/
48
- (module) {
59
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
49
60
 
50
61
  "use strict";
51
- eval("{\n\nmodule.exports = async (fn, ...args) => {\n check(fn);\n \n try {\n return [null, await fn(...args)];\n } catch(e) {\n return [e];\n }\n};\n\nfunction check(fn) {\n if (typeof fn !== 'function')\n throw Error('fn should be a function!');\n}\n\n\n\n//# sourceURL=file://cloudcmd/node_modules/try-to-catch/lib/try-to-catch.js\n}");
62
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__),\n/* harmony export */ tryToCatch: () => (/* binding */ tryToCatch)\n/* harmony export */ });\nconst isFn = (a) => typeof a === 'function';\n\nconst tryToCatch = async (fn, ...args) => {\n check(fn);\n \n try {\n return [null, await fn(...args)];\n } catch(e) {\n return [e];\n }\n};\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (tryToCatch);\n\nfunction check(fn) {\n if (!isFn(fn))\n throw Error('fn should be a function!');\n}\n\n\n//# sourceURL=file://cloudcmd/node_modules/try-to-catch/lib/try-to-catch.js\n}");
52
63
 
53
64
  /***/ }
54
65
 
@@ -85,6 +96,35 @@ eval("{\n\nmodule.exports = async (fn, ...args) => {\n check(fn);\n \n
85
96
  /******/ }
86
97
  /******/
87
98
  /************************************************************************/
99
+ /******/ /* webpack/runtime/define property getters */
100
+ /******/ (() => {
101
+ /******/ // define getter functions for harmony exports
102
+ /******/ __webpack_require__.d = (exports, definition) => {
103
+ /******/ for(var key in definition) {
104
+ /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
105
+ /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
106
+ /******/ }
107
+ /******/ }
108
+ /******/ };
109
+ /******/ })();
110
+ /******/
111
+ /******/ /* webpack/runtime/hasOwnProperty shorthand */
112
+ /******/ (() => {
113
+ /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
114
+ /******/ })();
115
+ /******/
116
+ /******/ /* webpack/runtime/make namespace object */
117
+ /******/ (() => {
118
+ /******/ // define __esModule on exports
119
+ /******/ __webpack_require__.r = (exports) => {
120
+ /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
121
+ /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
122
+ /******/ }
123
+ /******/ Object.defineProperty(exports, '__esModule', { value: true });
124
+ /******/ };
125
+ /******/ })();
126
+ /******/
127
+ /************************************************************************/
88
128
  /******/
89
129
  /******/ // startup
90
130
  /******/ // Load entry module and return exports
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cloudcmd",
3
- "version": "19.0.17",
3
+ "version": "19.1.0",
4
4
  "type": "commonjs",
5
5
  "author": "coderaiser <mnemonic.enemy@gmail.com> (https://github.com/coderaiser)",
6
6
  "description": "File manager for the web with console and editor",
@@ -140,8 +140,8 @@
140
140
  "socket.io-client": "^4.0.1",
141
141
  "squad": "^3.0.0",
142
142
  "table": "^6.0.1",
143
- "try-catch": "^3.0.0",
144
- "try-to-catch": "^3.0.0",
143
+ "try-catch": "^4.0.4",
144
+ "try-to-catch": "^4.0.0",
145
145
  "tryrequire": "^3.0.0",
146
146
  "win32": "^7.0.0",
147
147
  "wraptile": "^3.0.0",
@@ -199,7 +199,7 @@
199
199
  "postcss": "^8.5.3",
200
200
  "process": "^0.11.10",
201
201
  "readjson": "^2.0.1",
202
- "redlint": "^4.1.1",
202
+ "redlint": "^5.0.0",
203
203
  "request": "^2.76.0",
204
204
  "rimraf": "^6.0.1",
205
205
  "scroll-into-view-if-needed": "^3.0.4",
@@ -3,10 +3,11 @@ import {fileURLToPath} from 'node:url';
3
3
  import process from 'node:process';
4
4
  import fs from 'node:fs';
5
5
  import fullstore from 'fullstore';
6
- import nanomemoizeDefault from 'nano-memoize';
6
+ import * as nanomemoizeDefault from 'nano-memoize';
7
7
  import readFilesSync from '@cloudcmd/read-files-sync';
8
8
 
9
- const {nanomemoize} = nanomemoizeDefault;
9
+ const nanomemoize = nanomemoizeDefault.default.nanomemoize || nanomemoizeDefault.default;
10
+
10
11
  const __filename = fileURLToPath(import.meta.url);
11
12
  const __dirname = dirname(__filename);
12
13
  const isMap = (a) => /\.(map|js)$/.test(a);
package/server/config.js CHANGED
@@ -11,13 +11,13 @@ const {homedir} = require('node:os');
11
11
  const currify = require('currify');
12
12
 
13
13
  const wraptile = require('wraptile');
14
- const tryToCatch = require('try-to-catch');
14
+ const {tryToCatch} = require('try-to-catch');
15
15
  const pullout = require('pullout');
16
16
  const ponse = require('ponse');
17
17
  const jonny = require('jonny');
18
18
  const jju = require('jju');
19
19
  const writejson = require('writejson');
20
- const tryCatch = require('try-catch');
20
+ const {tryCatch} = require('try-catch');
21
21
  const criton = require('criton');
22
22
  const exit = require(`${DIR_SERVER}exit`);
23
23
 
package/server/route.mjs CHANGED
@@ -6,7 +6,7 @@ import rendy from 'rendy';
6
6
  import format from 'format-io';
7
7
  import currify from 'currify';
8
8
  import wraptile from 'wraptile';
9
- import tryToCatch from 'try-to-catch';
9
+ import {tryToCatch} from 'try-to-catch';
10
10
  import once from 'once';
11
11
  import pipe from 'pipe-io';
12
12
  import {contentType} from 'mime-types';
package/server/server.mjs CHANGED
@@ -3,7 +3,7 @@ import {promisify} from 'node:util';
3
3
  import process from 'node:process';
4
4
  import currify from 'currify';
5
5
  import squad from 'squad';
6
- import tryToCatch from 'try-to-catch';
6
+ import {tryToCatch} from 'try-to-catch';
7
7
  import opn from 'open';
8
8
  import express from 'express';
9
9
  import {Server} from 'socket.io';
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- const tryCatch = require('try-catch');
3
+ const {tryCatch} = require('try-catch');
4
4
 
5
5
  const noop = (req, res, next) => {
6
6
  next && next();
package/server/theme.mjs CHANGED
@@ -3,9 +3,10 @@ import {fileURLToPath} from 'node:url';
3
3
  import process from 'node:process';
4
4
  import fs from 'node:fs';
5
5
  import fullstore from 'fullstore';
6
- import nanomemoizeDefault from 'nano-memoize';
6
+ import * as nanomemoizeDefault from 'nano-memoize';
7
7
  import readFilesSync from '@cloudcmd/read-files-sync';
8
8
 
9
+ const nanomemoize = nanomemoizeDefault.default.nanomemoize || nanomemoizeDefault.default;
9
10
  const __filename = fileURLToPath(import.meta.url);
10
11
  const __dirname = dirname(__filename);
11
12
  const isMap = (a) => /\.(map|js)$/.test(a);
@@ -20,8 +21,6 @@ export const getThemes = ({isDev = _isDev()} = {}) => {
20
21
  return readFilesSyncMemo(isDev);
21
22
  };
22
23
 
23
- const {nanomemoize} = nanomemoizeDefault;
24
-
25
24
  const readFilesSyncMemo = nanomemoize((isDev) => {
26
25
  const dist = getDist(isDev);
27
26
  const themesDir = path.join(__dirname, '..', dist, 'themes');
@@ -2,7 +2,7 @@ import {homedir} from 'node:os';
2
2
  import {readFile as _readFile} from 'node:fs/promises';
3
3
  import {join} from 'node:path';
4
4
  import montag from 'montag';
5
- import tryToCatch from 'try-to-catch';
5
+ import {tryToCatch} from 'try-to-catch';
6
6
  import currify from 'currify';
7
7
  import {putout, codeframe} from 'putout';
8
8
 
@@ -1,5 +1,5 @@
1
1
  import {statSync as _statSync} from 'node:fs';
2
- import tryCatch from 'try-catch';
2
+ import {tryCatch} from 'try-catch';
3
3
  import _exit from './exit.js';
4
4
  import {getColumns as _getColumns} from './columns.mjs';
5
5
  import {getThemes as _getThemes} from './theme.mjs';