cloudcmd 18.8.9 → 18.8.10
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.
- package/ChangeLog +5 -0
- package/HELP.md +18 -6
- package/README.md +1 -1
- package/dist/sw.js +1 -1
- package/dist-dev/sw.js +1 -1
- package/package.json +2 -2
package/ChangeLog
CHANGED
package/HELP.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Cloud Commander v18.8.
|
|
1
|
+
# Cloud Commander v18.8.10
|
|
2
2
|
|
|
3
3
|
### [Main][MainURL] [Blog][BlogURL] [Support][SupportURL] [Demo][DemoURL]
|
|
4
4
|
|
|
@@ -190,7 +190,8 @@ Then, start the server again with `cloudcmd` and reload the page.
|
|
|
190
190
|
| `Ctrl + F5` | sort by date
|
|
191
191
|
| `Ctrl + F6` | sort by size
|
|
192
192
|
| `Ctrl + Command + .` | show/hide dot files
|
|
193
|
-
| `Up
|
|
193
|
+
| `Up` | move cursor up
|
|
194
|
+
| `Down` | move cursor down
|
|
194
195
|
| `Enter` | change directory/view file
|
|
195
196
|
| `Alt + Left/Right` | show content of directory under cursor in target panel
|
|
196
197
|
| `Alt + G` | go to directory
|
|
@@ -646,10 +647,20 @@ Right-mouse click to show a context menu with these items:
|
|
|
646
647
|
|
|
647
648
|
### Hot keys
|
|
648
649
|
|
|
649
|
-
|Key
|
|
650
|
-
|
|
651
|
-
| `F9`
|
|
652
|
-
| `Esc`
|
|
650
|
+
| Key | Operation |
|
|
651
|
+
|:-------------|:------------------------|
|
|
652
|
+
| `F9` | open |
|
|
653
|
+
| `Esc` | close |
|
|
654
|
+
| `Up`, `j` | move cursor up |
|
|
655
|
+
| `Down`, `k` | move cursor down |
|
|
656
|
+
| `Left`, `h` | close submenu |
|
|
657
|
+
| `Right`, `l` | open submenu |
|
|
658
|
+
| `G` or `$` | navigate to bottom file |
|
|
659
|
+
| `gg` or `^` | navigate to top file |
|
|
660
|
+
|
|
661
|
+
Commands can be joined, for example:
|
|
662
|
+
|
|
663
|
+
- `5j` will navigate **5** items below current;
|
|
653
664
|
|
|
654
665
|
## One file panel
|
|
655
666
|
|
|
@@ -1100,6 +1111,7 @@ There are a lot of ways to be involved in `Cloud Commander` development:
|
|
|
1100
1111
|
|
|
1101
1112
|
## Version history
|
|
1102
1113
|
|
|
1114
|
+
- *2025.09.14*, **[v18.8.10](//github.com/coderaiser/cloudcmd/releases/tag/v18.8.10)**
|
|
1103
1115
|
- *2025.09.14*, **[v18.8.9](//github.com/coderaiser/cloudcmd/releases/tag/v18.8.9)**
|
|
1104
1116
|
- *2025.09.13*, **[v18.8.8](//github.com/coderaiser/cloudcmd/releases/tag/v18.8.8)**
|
|
1105
1117
|
- *2025.09.12*, **[v18.8.7](//github.com/coderaiser/cloudcmd/releases/tag/v18.8.7)**
|
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Cloud Commander v18.8.
|
|
1
|
+
# Cloud Commander v18.8.10 [![Build Status][BuildStatusIMGURL]][BuildStatusURL] [![Codacy][CodacyIMG]][CodacyURL] [![Gitter][GitterIMGURL]][GitterURL]
|
|
2
2
|
|
|
3
3
|
### [Main][MainURL] [Blog][BlogURL] [Support][SupportURL] [Demo][DemoURL]
|
|
4
4
|
|
package/dist/sw.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
(()=>{var t={4299:t=>{"use strict";const e=(t,...n)=>{if(function(t){if("function"!=typeof t)throw Error("fn should be function!")}(t),n.length>=t.length)return t(...n);const r=(...r)=>e(t,...n,...r),i=t.length-n.length-1,o=(t=>[function(e){return t(...arguments)},function(e,n){return t(...arguments)},function(e,n,r){return t(...arguments)},function(e,n,r,i){return t(...arguments)},function(e,n,r,i,o){return t(...arguments)}])(r)[i];return o||r};t.exports=e},5606:t=>{var e,n,r=t.exports={};function i(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}function c(t){if(e===setTimeout)return setTimeout(t,0);if((e===i||!e)&&setTimeout)return e=setTimeout,setTimeout(t,0);try{return e(t,0)}catch(n){try{return e.call(null,t,0)}catch(n){return e.call(this,t,0)}}}!function(){try{e="function"==typeof setTimeout?setTimeout:i}catch(t){e=i}try{n="function"==typeof clearTimeout?clearTimeout:o}catch(t){n=o}}();var s,u=[],a=!1,l=-1;function f(){a&&s&&(a=!1,s.length?u=s.concat(u):l=-1,u.length&&h())}function h(){if(!a){var t=c(f);a=!0;for(var e=u.length;e;){for(s=u,u=[];++l<e;)s&&s[l].run();l=-1,e=u.length}s=null,a=!1,function(t){if(n===clearTimeout)return clearTimeout(t);if((n===o||!n)&&clearTimeout)return n=clearTimeout,clearTimeout(t);try{return n(t)}catch(e){try{return n.call(null,t)}catch(e){return n.call(this,t)}}}(t)}}function p(t,e){this.fun=t,this.array=e}function d(){}r.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)e[n-1]=arguments[n];u.push(new p(t,e)),1!==u.length||a||c(h)},p.prototype.run=function(){this.fun.apply(null,this.array)},r.title="browser",r.browser=!0,r.env={},r.argv=[],r.version="",r.versions={},r.on=d,r.addListener=d,r.once=d,r.off=d,r.removeListener=d,r.removeAllListeners=d,r.emit=d,r.prependListener=d,r.prependOnceListener=d,r.listeners=function(t){return[]},r.binding=function(t){throw new Error("process.binding is not supported")},r.cwd=function(){return"/"},r.chdir=function(t){throw new Error("process.chdir is not supported")},r.umask=function(){return 0}},6790:t=>{"use strict";t.exports=async(t,...e)=>{!function(t){if("function"!=typeof t)throw Error("fn should be a function!")}(t);try{return[null,await t(...e)]}catch(t){return[t]}}}},e={};function n(r){var i=e[r];if(void 0!==i)return i.exports;var o=e[r]={exports:{}};return t[r](o,o.exports,n),o.exports}(()=>{"use strict";const t=n(5606),e=n(6790),r=n(4299),i="development"===t.env.NODE_ENV,o=r((t,e)=>e.waitUntil(t())),c=r((t,e)=>{const{request:n}=e,{url:r}=n,i=s(r);r.endsWith("/")||/\^\/fs/.test(i)||"GET"===n.method&&"basic"===n.type&&(i.startsWith("/api")||/^socket.io/.test(i)||e.respondWith(t(e)))}),s=t=>new URL(t).pathname,u="cloudcmd: Sun Sep 14 2025
|
|
1
|
+
(()=>{var t={4299:t=>{"use strict";const e=(t,...n)=>{if(function(t){if("function"!=typeof t)throw Error("fn should be function!")}(t),n.length>=t.length)return t(...n);const r=(...r)=>e(t,...n,...r),i=t.length-n.length-1,o=(t=>[function(e){return t(...arguments)},function(e,n){return t(...arguments)},function(e,n,r){return t(...arguments)},function(e,n,r,i){return t(...arguments)},function(e,n,r,i,o){return t(...arguments)}])(r)[i];return o||r};t.exports=e},5606:t=>{var e,n,r=t.exports={};function i(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}function c(t){if(e===setTimeout)return setTimeout(t,0);if((e===i||!e)&&setTimeout)return e=setTimeout,setTimeout(t,0);try{return e(t,0)}catch(n){try{return e.call(null,t,0)}catch(n){return e.call(this,t,0)}}}!function(){try{e="function"==typeof setTimeout?setTimeout:i}catch(t){e=i}try{n="function"==typeof clearTimeout?clearTimeout:o}catch(t){n=o}}();var s,u=[],a=!1,l=-1;function f(){a&&s&&(a=!1,s.length?u=s.concat(u):l=-1,u.length&&h())}function h(){if(!a){var t=c(f);a=!0;for(var e=u.length;e;){for(s=u,u=[];++l<e;)s&&s[l].run();l=-1,e=u.length}s=null,a=!1,function(t){if(n===clearTimeout)return clearTimeout(t);if((n===o||!n)&&clearTimeout)return n=clearTimeout,clearTimeout(t);try{return n(t)}catch(e){try{return n.call(null,t)}catch(e){return n.call(this,t)}}}(t)}}function p(t,e){this.fun=t,this.array=e}function d(){}r.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)e[n-1]=arguments[n];u.push(new p(t,e)),1!==u.length||a||c(h)},p.prototype.run=function(){this.fun.apply(null,this.array)},r.title="browser",r.browser=!0,r.env={},r.argv=[],r.version="",r.versions={},r.on=d,r.addListener=d,r.once=d,r.off=d,r.removeListener=d,r.removeAllListeners=d,r.emit=d,r.prependListener=d,r.prependOnceListener=d,r.listeners=function(t){return[]},r.binding=function(t){throw new Error("process.binding is not supported")},r.cwd=function(){return"/"},r.chdir=function(t){throw new Error("process.chdir is not supported")},r.umask=function(){return 0}},6790:t=>{"use strict";t.exports=async(t,...e)=>{!function(t){if("function"!=typeof t)throw Error("fn should be a function!")}(t);try{return[null,await t(...e)]}catch(t){return[t]}}}},e={};function n(r){var i=e[r];if(void 0!==i)return i.exports;var o=e[r]={exports:{}};return t[r](o,o.exports,n),o.exports}(()=>{"use strict";const t=n(5606),e=n(6790),r=n(4299),i="development"===t.env.NODE_ENV,o=r((t,e)=>e.waitUntil(t())),c=r((t,e)=>{const{request:n}=e,{url:r}=n,i=s(r);r.endsWith("/")||/\^\/fs/.test(i)||"GET"===n.method&&"basic"===n.type&&(i.startsWith("/api")||/^socket.io/.test(i)||e.respondWith(t(e)))}),s=t=>new URL(t).pathname,u="cloudcmd: Sun Sep 14 2025 18:20:48 GMT+0300 (Eastern European Summer Time)";self.addEventListener("install",o(async function(){console.info(`cloudcmd: sw: install: ${u}`),await self.skipWaiting()})),self.addEventListener("fetch",c(async function(t){const{request:n}=t,{url:r}=n,o=((t,e)=>"/"!==t?e:new Request("/",{credentials:"same-origin"}))(s(r),t.request),c=await caches.open(u),a=await c.match(n);if(!i&&a)return a;const[l,f]=await e(fetch,o,{credentials:"same-origin"});return l?new Response(l.message):(await async function(t,e){return(await caches.open(u)).put(t,e)}(n,f.clone()),f)})),self.addEventListener("activate",o(async function(){console.info(`cloudcmd: sw: activate: ${u}`),await self.clients.claim();const t=await caches.keys(),e=caches.delete.bind(caches);await Promise.all(t.map(e))}))})()})();
|
|
2
2
|
//# sourceMappingURL=sw.js.map
|
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 = \"Sun Sep 14 2025
|
|
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 = \"Sun Sep 14 2025 18:20:50 GMT+0300 (Eastern European Summer 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
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cloudcmd",
|
|
3
|
-
"version": "18.8.
|
|
3
|
+
"version": "18.8.10",
|
|
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",
|
|
@@ -89,7 +89,7 @@
|
|
|
89
89
|
"@cloudcmd/move-files": "^8.0.0",
|
|
90
90
|
"@cloudcmd/read-files-sync": "^2.0.0",
|
|
91
91
|
"@putout/cli-validate-args": "^2.0.0",
|
|
92
|
-
"aleman": "^1.
|
|
92
|
+
"aleman": "^1.9.0",
|
|
93
93
|
"apart": "^2.0.0",
|
|
94
94
|
"chalk": "^5.3.0",
|
|
95
95
|
"compression": "^1.7.4",
|