diff --git a/package.json b/package.json index 796d0d5..5487057 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,7 @@ }, "homepage": "https://gitlab.com/push.rocks/smartfile#readme", "dependencies": { - "@push.rocks/lik": "^6.0.5", + "@push.rocks/lik": "^6.0.12", "@push.rocks/smartdelay": "^3.0.5", "@push.rocks/smartfile-interfaces": "^1.0.7", "@push.rocks/smarthash": "^3.0.4", @@ -34,11 +34,11 @@ "@push.rocks/smartmime": "^1.0.5", "@push.rocks/smartpath": "^5.0.11", "@push.rocks/smartpromise": "^4.0.2", - "@push.rocks/smartrequest": "^2.0.20", - "@push.rocks/smartstream": "^3.0.7", - "@types/fs-extra": "^11.0.3", + "@push.rocks/smartrequest": "^2.0.21", + "@push.rocks/smartstream": "^3.0.30", + "@types/fs-extra": "^11.0.4", "@types/glob": "^8.1.0", - "@types/js-yaml": "^4.0.8", + "@types/js-yaml": "^4.0.9", "fs-extra": "^11.1.1", "glob": "^10.3.10", "js-yaml": "^4.1.0" @@ -46,9 +46,9 @@ "devDependencies": { "@git.zone/tsbuild": "^2.1.70", "@git.zone/tsrun": "^1.2.46", - "@git.zone/tstest": "^1.0.81", + "@git.zone/tstest": "^1.0.84", "@push.rocks/tapbundle": "^5.0.15", - "@types/node": "^20.8.10" + "@types/node": "^20.10.0" }, "files": [ "ts/**/*", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0c2be58..97ebb9c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -6,8 +6,8 @@ settings: dependencies: '@push.rocks/lik': - specifier: ^6.0.5 - version: 6.0.5 + specifier: ^6.0.12 + version: 6.0.12 '@push.rocks/smartdelay': specifier: ^3.0.5 version: 3.0.5 @@ -30,20 +30,20 @@ dependencies: specifier: ^4.0.2 version: 4.0.3 '@push.rocks/smartrequest': - specifier: ^2.0.20 - version: 2.0.20 + specifier: ^2.0.21 + version: 2.0.21 '@push.rocks/smartstream': - specifier: ^3.0.7 - version: 3.0.7 + specifier: ^3.0.30 + version: 3.0.30 '@types/fs-extra': - specifier: ^11.0.3 - version: 11.0.3 + specifier: ^11.0.4 + version: 11.0.4 '@types/glob': specifier: ^8.1.0 version: 8.1.0 '@types/js-yaml': - specifier: ^4.0.8 - version: 4.0.8 + specifier: ^4.0.9 + version: 4.0.9 fs-extra: specifier: ^11.1.1 version: 11.1.1 @@ -60,16 +60,16 @@ devDependencies: version: 2.1.70 '@git.zone/tsrun': specifier: ^1.2.46 - version: 1.2.46(@types/node@20.8.10) + version: 1.2.46(@types/node@20.10.0) '@git.zone/tstest': - specifier: ^1.0.81 - version: 1.0.81(@types/node@20.8.10)(sinon@17.0.1) + specifier: ^1.0.84 + version: 1.0.84(@types/node@20.10.0)(sinon@17.0.1) '@push.rocks/tapbundle': specifier: ^5.0.15 version: 5.0.15(sinon@17.0.1) '@types/node': - specifier: ^20.8.10 - version: 20.8.10 + specifier: ^20.10.0 + version: 20.10.0 packages: @@ -77,29 +77,29 @@ packages: resolution: {integrity: sha512-eR2Cr01BYRwIq/X2ajOenWhm8l+/YE4A5kK/9V6I8ZnhtEBMFHG6YjF6Fg8npLJWbvhZXhOms+axZ6JKI71o8g==} dev: true - /@api.global/typedrequest@3.0.1: - resolution: {integrity: sha512-ed7wIqK7ErjHsiy+5UMB6lhtRzwfnaurNu/pbjQz67Pugk5DLUuuw36YyIlDhRepoPS4L2EY6zL+wsCciTCcoQ==} + /@api.global/typedrequest@3.0.2: + resolution: {integrity: sha512-qO3kynyGKF7Mds7s+Mo1v26V7o7I0oHzyLk/u702OIdnHk02umt/hxp69aGDXW+GDYEyvR8Wa1Ys4VHyUlpi0A==} dependencies: '@api.global/typedrequest-interfaces': 3.0.1 '@push.rocks/isounique': 1.0.5 - '@push.rocks/lik': 6.0.5 + '@push.rocks/lik': 6.0.12 '@push.rocks/smartdelay': 3.0.5 '@push.rocks/smartpromise': 4.0.3 - '@push.rocks/webrequest': 3.0.33 + '@push.rocks/webrequest': 3.0.34 dev: true - /@api.global/typedserver@3.0.5: - resolution: {integrity: sha512-dP7WeoNhQsojJTM7nrqcwAGbcIHJbIUlnxpHxsHXnEB3IF32sVdhxc1lBPnXTEm+fp9JmEOh7aviOyptT74Dhg==} + /@api.global/typedserver@3.0.9: + resolution: {integrity: sha512-v6xnAKMGV4vZ2RGLLrjKMogXKJGBfYnepam+a9j/0NQKkb23PPKW6udm3gJQK65SWyk7fJkBPbXVKwckKQfrNw==} dependencies: - '@api.global/typedrequest': 3.0.1 + '@api.global/typedrequest': 3.0.2 '@api.global/typedrequest-interfaces': 3.0.1 '@api.global/typedsocket': 3.0.0 - '@push.rocks/lik': 6.0.5 + '@push.rocks/lik': 6.0.12 '@push.rocks/smartchok': 1.0.23 '@push.rocks/smartdelay': 3.0.5 - '@push.rocks/smartenv': 5.0.5 + '@push.rocks/smartenv': 5.0.12 '@push.rocks/smartfeed': 1.0.11 - '@push.rocks/smartfile': 10.0.31 + '@push.rocks/smartfile': 11.0.0 '@push.rocks/smartlog': 3.0.3 '@push.rocks/smartlog-destination-devtools': 1.0.10 '@push.rocks/smartmanifest': 2.0.2 @@ -107,18 +107,18 @@ packages: '@push.rocks/smartopen': 2.0.0 '@push.rocks/smartpath': 5.0.11 '@push.rocks/smartpromise': 4.0.3 - '@push.rocks/smartrequest': 2.0.20 - '@push.rocks/smartrx': 3.0.6 - '@push.rocks/smartsitemap': 2.0.2 - '@push.rocks/smarttime': 4.0.5 - '@push.rocks/webstore': 2.0.9 - '@tsclass/tsclass': 4.0.43 - '@types/express': 4.17.17 + '@push.rocks/smartrequest': 2.0.21 + '@push.rocks/smartrx': 3.0.7 + '@push.rocks/smartsitemap': 2.0.3 + '@push.rocks/smarttime': 4.0.6 + '@push.rocks/webstore': 2.0.13 + '@tsclass/tsclass': 4.0.46 + '@types/express': 4.17.21 body-parser: 1.20.2 cors: 2.8.5 express: 4.18.2 express-force-ssl: 0.3.2 - lit: 2.8.0 + lit: 3.1.0 transitivePeerDependencies: - bufferutil - supports-color @@ -128,11 +128,11 @@ packages: /@api.global/typedsocket@3.0.0: resolution: {integrity: sha512-ui+6MLd99iTN/lC+iC/FKPRjzVyiZ4PrmlU6ptbCtbBj3cSOXHx+RRGF54+be2xHodf4FOgwFv/GZdW8LtO3vg==} dependencies: - '@api.global/typedrequest': 3.0.1 + '@api.global/typedrequest': 3.0.2 '@api.global/typedrequest-interfaces': 3.0.1 '@push.rocks/isohash': 2.0.1 '@push.rocks/smartjson': 5.0.10 - '@push.rocks/smartrx': 3.0.6 + '@push.rocks/smartrx': 3.0.7 '@push.rocks/smartsocket': 2.0.24 '@push.rocks/smartstring': 4.0.9 '@push.rocks/smarturl': 3.0.7 @@ -179,8 +179,8 @@ packages: '@jridgewell/trace-mapping': 0.3.9 dev: true - /@esbuild/android-arm64@0.19.3: - resolution: {integrity: sha512-w+Akc0vv5leog550kjJV9Ru+MXMR2VuMrui3C61mnysim0gkFCPOUTAfzTP0qX+HpN9Syu3YA3p1hf3EPqObRw==} + /@esbuild/android-arm64@0.19.7: + resolution: {integrity: sha512-YEDcw5IT7hW3sFKZBkCAQaOCJQLONVcD4bOyTXMZz5fr66pTHnAet46XAtbXAkJRfIn2YVhdC6R9g4xa27jQ1w==} engines: {node: '>=12'} cpu: [arm64] os: [android] @@ -188,8 +188,8 @@ packages: dev: true optional: true - /@esbuild/android-arm@0.19.3: - resolution: {integrity: sha512-Lemgw4io4VZl9GHJmjiBGzQ7ONXRfRPHcUEerndjwiSkbxzrpq0Uggku5MxxrXdwJ+pTj1qyw4jwTu7hkPsgIA==} + /@esbuild/android-arm@0.19.7: + resolution: {integrity: sha512-YGSPnndkcLo4PmVl2tKatEn+0mlVMr3yEpOOT0BeMria87PhvoJb5dg5f5Ft9fbCVgtAz4pWMzZVgSEGpDAlww==} engines: {node: '>=12'} cpu: [arm] os: [android] @@ -197,8 +197,8 @@ packages: dev: true optional: true - /@esbuild/android-x64@0.19.3: - resolution: {integrity: sha512-FKQJKkK5MXcBHoNZMDNUAg1+WcZlV/cuXrWCoGF/TvdRiYS4znA0m5Il5idUwfxrE20bG/vU1Cr5e1AD6IEIjQ==} + /@esbuild/android-x64@0.19.7: + resolution: {integrity: sha512-jhINx8DEjz68cChFvM72YzrqfwJuFbfvSxZAk4bebpngGfNNRm+zRl4rtT9oAX6N9b6gBcFaJHFew5Blf6CvUw==} engines: {node: '>=12'} cpu: [x64] os: [android] @@ -206,8 +206,8 @@ packages: dev: true optional: true - /@esbuild/darwin-arm64@0.19.3: - resolution: {integrity: sha512-kw7e3FXU+VsJSSSl2nMKvACYlwtvZB8RUIeVShIEY6PVnuZ3c9+L9lWB2nWeeKWNNYDdtL19foCQ0ZyUL7nqGw==} + /@esbuild/darwin-arm64@0.19.7: + resolution: {integrity: sha512-dr81gbmWN//3ZnBIm6YNCl4p3pjnabg1/ZVOgz2fJoUO1a3mq9WQ/1iuEluMs7mCL+Zwv7AY5e3g1hjXqQZ9Iw==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] @@ -215,8 +215,8 @@ packages: dev: true optional: true - /@esbuild/darwin-x64@0.19.3: - resolution: {integrity: sha512-tPfZiwF9rO0jW6Jh9ipi58N5ZLoSjdxXeSrAYypy4psA2Yl1dAMhM71KxVfmjZhJmxRjSnb29YlRXXhh3GqzYw==} + /@esbuild/darwin-x64@0.19.7: + resolution: {integrity: sha512-Lc0q5HouGlzQEwLkgEKnWcSazqr9l9OdV2HhVasWJzLKeOt0PLhHaUHuzb8s/UIya38DJDoUm74GToZ6Wc7NGQ==} engines: {node: '>=12'} cpu: [x64] os: [darwin] @@ -224,8 +224,8 @@ packages: dev: true optional: true - /@esbuild/freebsd-arm64@0.19.3: - resolution: {integrity: sha512-ERDyjOgYeKe0Vrlr1iLrqTByB026YLPzTytDTz1DRCYM+JI92Dw2dbpRHYmdqn6VBnQ9Bor6J8ZlNwdZdxjlSg==} + /@esbuild/freebsd-arm64@0.19.7: + resolution: {integrity: sha512-+y2YsUr0CxDFF7GWiegWjGtTUF6gac2zFasfFkRJPkMAuMy9O7+2EH550VlqVdpEEchWMynkdhC9ZjtnMiHImQ==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] @@ -233,8 +233,8 @@ packages: dev: true optional: true - /@esbuild/freebsd-x64@0.19.3: - resolution: {integrity: sha512-nXesBZ2Ad1qL+Rm3crN7NmEVJ5uvfLFPLJev3x1j3feCQXfAhoYrojC681RhpdOph8NsvKBBwpYZHR7W0ifTTA==} + /@esbuild/freebsd-x64@0.19.7: + resolution: {integrity: sha512-CdXOxIbIzPJmJhrpmJTLx+o35NoiKBIgOvmvT+jeSadYiWJn0vFKsl+0bSG/5lwjNHoIDEyMYc/GAPR9jxusTA==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] @@ -242,8 +242,8 @@ packages: dev: true optional: true - /@esbuild/linux-arm64@0.19.3: - resolution: {integrity: sha512-qXvYKmXj8GcJgWq3aGvxL/JG1ZM3UR272SdPU4QSTzD0eymrM7leiZH77pvY3UetCy0k1xuXZ+VPvoJNdtrsWQ==} + /@esbuild/linux-arm64@0.19.7: + resolution: {integrity: sha512-inHqdOVCkUhHNvuQPT1oCB7cWz9qQ/Cz46xmVe0b7UXcuIJU3166aqSunsqkgSGMtUCWOZw3+KMwI6otINuC9g==} engines: {node: '>=12'} cpu: [arm64] os: [linux] @@ -251,8 +251,8 @@ packages: dev: true optional: true - /@esbuild/linux-arm@0.19.3: - resolution: {integrity: sha512-zr48Cg/8zkzZCzDHNxXO/89bf9e+r4HtzNUPoz4GmgAkF1gFAFmfgOdCbR8zMbzFDGb1FqBBhdXUpcTQRYS1cQ==} + /@esbuild/linux-arm@0.19.7: + resolution: {integrity: sha512-Y+SCmWxsJOdQtjcBxoacn/pGW9HDZpwsoof0ttL+2vGcHokFlfqV666JpfLCSP2xLxFpF1lj7T3Ox3sr95YXww==} engines: {node: '>=12'} cpu: [arm] os: [linux] @@ -260,8 +260,8 @@ packages: dev: true optional: true - /@esbuild/linux-ia32@0.19.3: - resolution: {integrity: sha512-7XlCKCA0nWcbvYpusARWkFjRQNWNGlt45S+Q18UeS///K6Aw8bB2FKYe9mhVWy/XLShvCweOLZPrnMswIaDXQA==} + /@esbuild/linux-ia32@0.19.7: + resolution: {integrity: sha512-2BbiL7nLS5ZO96bxTQkdO0euGZIUQEUXMTrqLxKUmk/Y5pmrWU84f+CMJpM8+EHaBPfFSPnomEaQiG/+Gmh61g==} engines: {node: '>=12'} cpu: [ia32] os: [linux] @@ -269,8 +269,8 @@ packages: dev: true optional: true - /@esbuild/linux-loong64@0.19.3: - resolution: {integrity: sha512-qGTgjweER5xqweiWtUIDl9OKz338EQqCwbS9c2Bh5jgEH19xQ1yhgGPNesugmDFq+UUSDtWgZ264st26b3de8A==} + /@esbuild/linux-loong64@0.19.7: + resolution: {integrity: sha512-BVFQla72KXv3yyTFCQXF7MORvpTo4uTA8FVFgmwVrqbB/4DsBFWilUm1i2Oq6zN36DOZKSVUTb16jbjedhfSHw==} engines: {node: '>=12'} cpu: [loong64] os: [linux] @@ -278,8 +278,8 @@ packages: dev: true optional: true - /@esbuild/linux-mips64el@0.19.3: - resolution: {integrity: sha512-gy1bFskwEyxVMFRNYSvBauDIWNggD6pyxUksc0MV9UOBD138dKTzr8XnM2R4mBsHwVzeuIH8X5JhmNs2Pzrx+A==} + /@esbuild/linux-mips64el@0.19.7: + resolution: {integrity: sha512-DzAYckIaK+pS31Q/rGpvUKu7M+5/t+jI+cdleDgUwbU7KdG2eC3SUbZHlo6Q4P1CfVKZ1lUERRFP8+q0ob9i2w==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] @@ -287,8 +287,8 @@ packages: dev: true optional: true - /@esbuild/linux-ppc64@0.19.3: - resolution: {integrity: sha512-UrYLFu62x1MmmIe85rpR3qou92wB9lEXluwMB/STDzPF9k8mi/9UvNsG07Tt9AqwPQXluMQ6bZbTzYt01+Ue5g==} + /@esbuild/linux-ppc64@0.19.7: + resolution: {integrity: sha512-JQ1p0SmUteNdUaaiRtyS59GkkfTW0Edo+e0O2sihnY4FoZLz5glpWUQEKMSzMhA430ctkylkS7+vn8ziuhUugQ==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] @@ -296,8 +296,8 @@ packages: dev: true optional: true - /@esbuild/linux-riscv64@0.19.3: - resolution: {integrity: sha512-9E73TfyMCbE+1AwFOg3glnzZ5fBAFK4aawssvuMgCRqCYzE0ylVxxzjEfut8xjmKkR320BEoMui4o/t9KA96gA==} + /@esbuild/linux-riscv64@0.19.7: + resolution: {integrity: sha512-xGwVJ7eGhkprY/nB7L7MXysHduqjpzUl40+XoYDGC4UPLbnG+gsyS1wQPJ9lFPcxYAaDXbdRXd1ACs9AE9lxuw==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] @@ -305,8 +305,8 @@ packages: dev: true optional: true - /@esbuild/linux-s390x@0.19.3: - resolution: {integrity: sha512-LlmsbuBdm1/D66TJ3HW6URY8wO6IlYHf+ChOUz8SUAjVTuaisfuwCOAgcxo3Zsu3BZGxmI7yt//yGOxV+lHcEA==} + /@esbuild/linux-s390x@0.19.7: + resolution: {integrity: sha512-U8Rhki5PVU0L0nvk+E8FjkV8r4Lh4hVEb9duR6Zl21eIEYEwXz8RScj4LZWA2i3V70V4UHVgiqMpszXvG0Yqhg==} engines: {node: '>=12'} cpu: [s390x] os: [linux] @@ -314,8 +314,8 @@ packages: dev: true optional: true - /@esbuild/linux-x64@0.19.3: - resolution: {integrity: sha512-ogV0+GwEmvwg/8ZbsyfkYGaLACBQWDvO0Kkh8LKBGKj9Ru8VM39zssrnu9Sxn1wbapA2qNS6BiLdwJZGouyCwQ==} + /@esbuild/linux-x64@0.19.7: + resolution: {integrity: sha512-ZYZopyLhm4mcoZXjFt25itRlocKlcazDVkB4AhioiL9hOWhDldU9n38g62fhOI4Pth6vp+Mrd5rFKxD0/S+7aQ==} engines: {node: '>=12'} cpu: [x64] os: [linux] @@ -323,8 +323,8 @@ packages: dev: true optional: true - /@esbuild/netbsd-x64@0.19.3: - resolution: {integrity: sha512-o1jLNe4uzQv2DKXMlmEzf66Wd8MoIhLNO2nlQBHLtWyh2MitDG7sMpfCO3NTcoTMuqHjfufgUQDFRI5C+xsXQw==} + /@esbuild/netbsd-x64@0.19.7: + resolution: {integrity: sha512-/yfjlsYmT1O3cum3J6cmGG16Fd5tqKMcg5D+sBYLaOQExheAJhqr8xOAEIuLo8JYkevmjM5zFD9rVs3VBcsjtQ==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] @@ -332,8 +332,8 @@ packages: dev: true optional: true - /@esbuild/openbsd-x64@0.19.3: - resolution: {integrity: sha512-AZJCnr5CZgZOdhouLcfRdnk9Zv6HbaBxjcyhq0StNcvAdVZJSKIdOiPB9az2zc06ywl0ePYJz60CjdKsQacp5Q==} + /@esbuild/openbsd-x64@0.19.7: + resolution: {integrity: sha512-MYDFyV0EW1cTP46IgUJ38OnEY5TaXxjoDmwiTXPjezahQgZd+j3T55Ht8/Q9YXBM0+T9HJygrSRGV5QNF/YVDQ==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] @@ -341,8 +341,8 @@ packages: dev: true optional: true - /@esbuild/sunos-x64@0.19.3: - resolution: {integrity: sha512-Acsujgeqg9InR4glTRvLKGZ+1HMtDm94ehTIHKhJjFpgVzZG9/pIcWW/HA/DoMfEyXmANLDuDZ2sNrWcjq1lxw==} + /@esbuild/sunos-x64@0.19.7: + resolution: {integrity: sha512-JcPvgzf2NN/y6X3UUSqP6jSS06V0DZAV/8q0PjsZyGSXsIGcG110XsdmuWiHM+pno7/mJF6fjH5/vhUz/vA9fw==} engines: {node: '>=12'} cpu: [x64] os: [sunos] @@ -350,8 +350,8 @@ packages: dev: true optional: true - /@esbuild/win32-arm64@0.19.3: - resolution: {integrity: sha512-FSrAfjVVy7TifFgYgliiJOyYynhQmqgPj15pzLyJk8BUsnlWNwP/IAy6GAiB1LqtoivowRgidZsfpoYLZH586A==} + /@esbuild/win32-arm64@0.19.7: + resolution: {integrity: sha512-ZA0KSYti5w5toax5FpmfcAgu3ZNJxYSRm0AW/Dao5up0YV1hDVof1NvwLomjEN+3/GMtaWDI+CIyJOMTRSTdMw==} engines: {node: '>=12'} cpu: [arm64] os: [win32] @@ -359,8 +359,8 @@ packages: dev: true optional: true - /@esbuild/win32-ia32@0.19.3: - resolution: {integrity: sha512-xTScXYi12xLOWZ/sc5RBmMN99BcXp/eEf7scUC0oeiRoiT5Vvo9AycuqCp+xdpDyAU+LkrCqEpUS9fCSZF8J3Q==} + /@esbuild/win32-ia32@0.19.7: + resolution: {integrity: sha512-CTOnijBKc5Jpk6/W9hQMMvJnsSYRYgveN6O75DTACCY18RA2nqka8dTZR+x/JqXCRiKk84+5+bRKXUSbbwsS0A==} engines: {node: '>=12'} cpu: [ia32] os: [win32] @@ -368,8 +368,8 @@ packages: dev: true optional: true - /@esbuild/win32-x64@0.19.3: - resolution: {integrity: sha512-FbUN+0ZRXsypPyWE2IwIkVjDkDnJoMJARWOcFZn4KPPli+QnKqF0z1anvfaYe3ev5HFCpRDLLBDHyOALLppWHw==} + /@esbuild/win32-x64@0.19.7: + resolution: {integrity: sha512-gRaP2sk6hc98N734luX4VpF318l3w+ofrtTu9j5L8EQXF+FzQKV6alCOHMVoJJHvVK/mGbwBXfOL1HETQu9IGQ==} engines: {node: '>=12'} cpu: [x64] os: [win32] @@ -391,33 +391,34 @@ packages: typescript: 5.1.6 dev: true - /@git.zone/tsbundle@2.0.9: - resolution: {integrity: sha512-Oh5y2oo5CVSL8SDIQSr7jB+bmYiQcupt5jzq5MssvnVuEsnwe8ERHuEprhxFJJelfq+JSFDxPU3SyN2MkRU8Dw==} + /@git.zone/tsbundle@2.0.10: + resolution: {integrity: sha512-+8QNF0P8YCiGpL8oBLoGZD0peiZZ1c7vYmlAildumVNzwMnsAp4XFaAHNzP6CAiUfxGDSfC8SkVEevJcGOSChQ==} hasBin: true dependencies: '@push.rocks/early': 4.0.4 '@push.rocks/smartcli': 4.0.8 - '@push.rocks/smartfile': 10.0.31 + '@push.rocks/smartdelay': 3.0.5 + '@push.rocks/smartfile': 10.0.41 '@push.rocks/smartlog': 3.0.3 '@push.rocks/smartlog-destination-local': 9.0.1 '@push.rocks/smartpath': 5.0.11 '@push.rocks/smartpromise': 4.0.3 '@push.rocks/smartspawn': 3.0.2 - '@types/html-minifier': 4.0.3 - esbuild: 0.19.3 + '@types/html-minifier': 4.0.5 + esbuild: 0.19.7 html-minifier: 4.0.0 - typescript: 5.1.6 + typescript: 5.2.2 transitivePeerDependencies: - supports-color dev: true - /@git.zone/tsrun@1.2.46(@types/node@20.8.10): + /@git.zone/tsrun@1.2.46(@types/node@20.10.0): resolution: {integrity: sha512-8miFVBle9Mnjx+uPGI/P+EuWcIOXWjBAkdjN5IYbdp5Ytt4xQODCLh4JSnC9h56UeU1nUxCAxZeJs2e9TXrivA==} hasBin: true dependencies: '@push.rocks/smartfile': 10.0.30 '@push.rocks/smartshell': 3.0.3 - ts-node: 10.9.1(@types/node@20.8.10)(typescript@5.1.6) + ts-node: 10.9.1(@types/node@20.10.0)(typescript@5.1.6) typescript: 5.1.6 transitivePeerDependencies: - '@swc/core' @@ -425,22 +426,24 @@ packages: - '@types/node' dev: true - /@git.zone/tstest@1.0.81(@types/node@20.8.10)(sinon@17.0.1): - resolution: {integrity: sha512-OUTACsOmvvzbKay4i1hbBaToLzo/OaCYV1PiYpoK9S2BJMbVJAik+ZbdixbJugoLrw7bR9velYgT66lnS6OZUA==} + /@git.zone/tstest@1.0.84(@types/node@20.10.0)(sinon@17.0.1): + resolution: {integrity: sha512-HQQvloUWGj4fPxOuhO7Dfxw83szRlIMNJpaJtIgDUWiMm6vF9ygvcMTgpUUkEmWjxQ/t/SkXvHqHjtfp0l4l2g==} hasBin: true dependencies: - '@api.global/typedserver': 3.0.5 - '@git.zone/tsbundle': 2.0.9 - '@git.zone/tsrun': 1.2.46(@types/node@20.8.10) + '@api.global/typedserver': 3.0.9 + '@git.zone/tsbundle': 2.0.10 + '@git.zone/tsrun': 1.2.46(@types/node@20.10.0) '@push.rocks/consolecolor': 2.0.1 '@push.rocks/smartbrowser': 2.0.6 '@push.rocks/smartdelay': 3.0.5 - '@push.rocks/smartfile': 10.0.31 + '@push.rocks/smartfile': 11.0.0 '@push.rocks/smartlog': 3.0.3 '@push.rocks/smartpromise': 4.0.3 '@push.rocks/smartshell': 3.0.3 '@push.rocks/tapbundle': 5.0.15(sinon@17.0.1) - figures: 5.0.0 + '@types/ws': 8.5.10 + figures: 6.0.1 + ws: 8.14.2 transitivePeerDependencies: - '@swc/core' - '@swc/wasm' @@ -483,14 +486,14 @@ packages: resolution: {integrity: sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==} dev: true - /@lit-labs/ssr-dom-shim@1.1.1: - resolution: {integrity: sha512-kXOeFbfCm4fFf2A3WwVEeQj55tMZa8c8/f9AKHMobQMkzNUfUj+antR3fRPaZJawsa1aZiP/Da3ndpZrwEe4rQ==} + /@lit-labs/ssr-dom-shim@1.1.2: + resolution: {integrity: sha512-jnOD+/+dSrfTWYfSXBXlo5l5f0q1UuJo3tkbMDCYA2lKUYq79jaxqtGEvnRoh049nt1vdo1+45RinipU6FGY2g==} dev: true - /@lit/reactive-element@1.6.3: - resolution: {integrity: sha512-QuTgnG52Poic7uM1AN5yJ09QMe0O28e10XzSvWDz02TJiiKee4stsiownEIadWm8nYzyDAyT+gKzUoZmiWQtsQ==} + /@lit/reactive-element@2.0.2: + resolution: {integrity: sha512-SVOwLAWUQg3Ji1egtOt1UiFe4zdDpnWHyc5qctSceJ5XIu0Uc76YmGpIjZgx9YJ0XtdW0Jm507sDvjOu+HnB8w==} dependencies: - '@lit-labs/ssr-dom-shim': 1.1.1 + '@lit-labs/ssr-dom-shim': 1.1.2 dev: true /@nodelib/fs.scandir@2.1.5: @@ -606,16 +609,16 @@ packages: /@push.rocks/isounique@1.0.5: resolution: {integrity: sha512-Z0BVqZZOCif1THTbIKWMgg0wxCzt9CyBtBBqQJiZ+jJ0KlQFrQHNHrPt81/LXe/L4x0cxWsn0bpL6W5DNSvNLw==} - /@push.rocks/lik@6.0.5: - resolution: {integrity: sha512-rDSPVknpJDcY3yx4w3lNQfpRkBRuxYVIJKrkiODdH27X0z3+XU4e/iAWKySuLq6H7dAoxSHJDf6BrCO+3Y8kcw==} + /@push.rocks/lik@6.0.12: + resolution: {integrity: sha512-/vzlOZ26gCmXZz67LeM2hJ+aNM49Jxvf3FKxLMXHhJwffd3LcV96MYbMfKzKR/za/bh5Itf3a6UjLL5mmN6Pew==} dependencies: '@push.rocks/smartdelay': 3.0.5 '@push.rocks/smartmatch': 2.0.0 '@push.rocks/smartpromise': 4.0.3 - '@push.rocks/smartrx': 3.0.6 - '@push.rocks/smarttime': 4.0.5 + '@push.rocks/smartrx': 3.0.7 + '@push.rocks/smarttime': 4.0.6 '@types/minimatch': 5.1.2 - '@types/symbol-tree': 3.2.2 + '@types/symbol-tree': 3.2.5 symbol-tree: 3.2.4 /@push.rocks/smartbrowser@2.0.6: @@ -655,7 +658,7 @@ packages: /@push.rocks/smartcli@4.0.8: resolution: {integrity: sha512-B4F3nqq7ko8tev1wxGdFnh/zSDDP8Q9LpEOb3wTf0jayyhYetFQ7n6zi4J9fhXYBKPkJSyQEBoOfRmgJyeLHkA==} dependencies: - '@push.rocks/lik': 6.0.5 + '@push.rocks/lik': 6.0.12 '@push.rocks/smartlog': 3.0.3 '@push.rocks/smartparam': 1.1.10 '@push.rocks/smartpromise': 4.0.3 @@ -668,6 +671,12 @@ packages: dependencies: '@push.rocks/smartpromise': 4.0.3 + /@push.rocks/smartenv@5.0.12: + resolution: {integrity: sha512-tDEFwywzq0FNzRYc9qY2dRl2pgQuZG0G2/yml2RLWZWSW+Fn1EHshnKOGHz8o77W7zvu4hTgQQX42r/JY5XHTg==} + dependencies: + '@push.rocks/smartpromise': 4.0.3 + dev: true + /@push.rocks/smartenv@5.0.5: resolution: {integrity: sha512-GmFGcUvi6iXU3uS4dNyxFGLktnroHE5Kjn+5sqojiJh/U+F134Ep5DwI3aeBtsD+BNHrDNa8t74v7uoWd1zR4g==} dependencies: @@ -695,7 +704,7 @@ packages: /@push.rocks/smartfile@10.0.30: resolution: {integrity: sha512-o8VJr8JMDk+wHImFrHhDzlCwnN8xv1vVvCKttJEHhidI2qU7Cz3m8bnJMPtessuaoqFWUqbjBHPYuUSHwUCspw==} dependencies: - '@push.rocks/lik': 6.0.5 + '@push.rocks/lik': 6.0.12 '@push.rocks/smartdelay': 3.0.5 '@push.rocks/smartfile-interfaces': 1.0.7 '@push.rocks/smarthash': 3.0.4 @@ -703,20 +712,20 @@ packages: '@push.rocks/smartmime': 1.0.6 '@push.rocks/smartpath': 5.0.11 '@push.rocks/smartpromise': 4.0.3 - '@push.rocks/smartrequest': 2.0.20 + '@push.rocks/smartrequest': 2.0.21 '@push.rocks/smartstream': 2.0.8 - '@types/fs-extra': 11.0.3 + '@types/fs-extra': 11.0.4 '@types/glob': 8.1.0 - '@types/js-yaml': 4.0.8 + '@types/js-yaml': 4.0.9 fs-extra: 11.1.1 glob: 10.3.10 js-yaml: 4.1.0 dev: true - /@push.rocks/smartfile@10.0.31: - resolution: {integrity: sha512-pCH+JQVDkfdTaOWEx0IimofE62Exh003LRvsrJRw1C7L1NoFyLgxcrvzE1/oUrrKEYDVtyZBrPXM2BiGSkEskQ==} + /@push.rocks/smartfile@10.0.41: + resolution: {integrity: sha512-xOOy0duI34M2qrJZggpk51EHGXmg9+mBL1Q55tNiQKXzfx89P3coY1EAZG8tvmep3qB712QEKe7T+u04t42Kjg==} dependencies: - '@push.rocks/lik': 6.0.5 + '@push.rocks/lik': 6.0.12 '@push.rocks/smartdelay': 3.0.5 '@push.rocks/smartfile-interfaces': 1.0.7 '@push.rocks/smarthash': 3.0.4 @@ -724,11 +733,32 @@ packages: '@push.rocks/smartmime': 1.0.6 '@push.rocks/smartpath': 5.0.11 '@push.rocks/smartpromise': 4.0.3 - '@push.rocks/smartrequest': 2.0.20 + '@push.rocks/smartrequest': 2.0.21 '@push.rocks/smartstream': 2.0.8 - '@types/fs-extra': 11.0.3 + '@types/fs-extra': 11.0.4 '@types/glob': 8.1.0 - '@types/js-yaml': 4.0.8 + '@types/js-yaml': 4.0.9 + fs-extra: 11.1.1 + glob: 10.3.10 + js-yaml: 4.1.0 + dev: true + + /@push.rocks/smartfile@11.0.0: + resolution: {integrity: sha512-S2JyuRiBu6tocKGTbdLgz0NcGuJ2fP7mD+NHryqdnvXzIwapE1jZ1XAF8/xiLuB9rmIs7agKFm+2Jj3/PtfIWw==} + dependencies: + '@push.rocks/lik': 6.0.12 + '@push.rocks/smartdelay': 3.0.5 + '@push.rocks/smartfile-interfaces': 1.0.7 + '@push.rocks/smarthash': 3.0.4 + '@push.rocks/smartjson': 5.0.10 + '@push.rocks/smartmime': 1.0.6 + '@push.rocks/smartpath': 5.0.11 + '@push.rocks/smartpromise': 4.0.3 + '@push.rocks/smartrequest': 2.0.21 + '@push.rocks/smartstream': 3.0.30 + '@types/fs-extra': 11.0.4 + '@types/glob': 8.1.0 + '@types/js-yaml': 4.0.9 fs-extra: 11.1.1 glob: 10.3.10 js-yaml: 4.1.0 @@ -802,7 +832,7 @@ packages: '@types/default-gateway': 3.0.1 isopen: 1.3.0 public-ip: 6.0.1 - systeminformation: 5.21.8 + systeminformation: 5.21.18 dev: true /@push.rocks/smartopen@2.0.0: @@ -826,14 +856,14 @@ packages: resolution: {integrity: sha512-W5tR1rlgrs7MoXEEGgnuJOAGLFxXTHDCgHpdhrtlt5M3t/ELZvaJoyMNRwrt3BbWEAb86dr4QwWSt380Q3MhfQ==} dependencies: '@push.rocks/smartdelay': 3.0.5 - '@push.rocks/smartfile': 10.0.31 + '@push.rocks/smartfile': 10.0.41 '@push.rocks/smartnetwork': 3.0.2 '@push.rocks/smartpath': 5.0.11 '@push.rocks/smartpromise': 4.0.3 '@push.rocks/smartpuppeteer': 2.0.2 '@push.rocks/smartunique': 3.0.6 - '@tsclass/tsclass': 4.0.43 - '@types/express': 4.17.17 + '@tsclass/tsclass': 4.0.46 + '@types/express': 4.17.21 express: 4.18.2 pdf-merger-js: 3.4.0 pdf2json: 2.1.0 @@ -861,8 +891,8 @@ packages: - utf-8-validate dev: true - /@push.rocks/smartrequest@2.0.20: - resolution: {integrity: sha512-7Y22kOS9CGJLjayjpRbkoDxd5kqmnG9WDY1WWR3/kqo63WFhdgHueatmJjT/v1QqvKSG88gL36kG4f7YG/0xTA==} + /@push.rocks/smartrequest@2.0.21: + resolution: {integrity: sha512-btk9GbiMNxNcEgJEqTq9qMFJ/6ua6oG4q49v+8ujKAXU50vFn1WQ/H0VAyeu9LMa5GCcRwUhNNDdwpLVGVbrBg==} dependencies: '@push.rocks/smartpromise': 4.0.3 '@push.rocks/smarturl': 3.0.7 @@ -874,6 +904,7 @@ packages: dependencies: '@push.rocks/smartpromise': 4.0.3 rxjs: 7.8.1 + dev: true /@push.rocks/smartrx@3.0.7: resolution: {integrity: sha512-qCWy0s3RLAgGSnaw/Gu0BNaJ59CsI6RK5OJDCCqxc7P2X/S755vuLtnAR5/0dEjdhCHXHX9ytPZx+o9g/CNiyA==} @@ -892,32 +923,32 @@ packages: which: 3.0.1 dev: true - /@push.rocks/smartsitemap@2.0.2: - resolution: {integrity: sha512-TiesAOHMMTVa7/3LeU0iLtCGkW9QvR9IFmdRl0CEOMEmajwp0GAVT1i1DUPq/84WbD8RE/Pw3b0Wt10QrpoBPw==} + /@push.rocks/smartsitemap@2.0.3: + resolution: {integrity: sha512-jIcms8V1b2mt3dS4PKNlLR1DRC8pCDWMRVbnyM/2+snZOJZonQRlQzAyX8No0EfLbfdrfnxv2IjPX13X29Re6g==} dependencies: '@push.rocks/smartcache': 1.0.16 '@push.rocks/smartfeed': 1.0.11 - '@push.rocks/smartxml': 1.0.6 + '@push.rocks/smartxml': 1.0.8 '@push.rocks/smartyaml': 2.0.5 - '@push.rocks/webrequest': 3.0.33 - '@tsclass/tsclass': 4.0.43 + '@push.rocks/webrequest': 3.0.34 + '@tsclass/tsclass': 4.0.46 dev: true /@push.rocks/smartsocket@2.0.24: resolution: {integrity: sha512-Glqv1Zi5TXgD+04P8OvTpiytyfrQxTPv67qAwZizAVVQ2zWJJgKqnIuoHT1zKP8QiKRNer+D58LCxX0ZE2XfzQ==} dependencies: '@api.global/typedrequest-interfaces': 3.0.1 - '@api.global/typedserver': 3.0.5 + '@api.global/typedserver': 3.0.9 '@push.rocks/isohash': 2.0.1 '@push.rocks/isounique': 1.0.5 - '@push.rocks/lik': 6.0.5 + '@push.rocks/lik': 6.0.12 '@push.rocks/smartdelay': 3.0.5 - '@push.rocks/smartenv': 5.0.5 + '@push.rocks/smartenv': 5.0.12 '@push.rocks/smartjson': 5.0.10 '@push.rocks/smartlog': 3.0.3 '@push.rocks/smartpromise': 4.0.3 - '@push.rocks/smartrx': 3.0.6 - '@push.rocks/smarttime': 4.0.5 + '@push.rocks/smartrx': 3.0.7 + '@push.rocks/smarttime': 4.0.6 engine.io: 6.5.2 socket.io: 4.7.2 socket.io-client: 4.7.2 @@ -949,12 +980,12 @@ packages: through2: 4.0.2 dev: true - /@push.rocks/smartstream@3.0.7: - resolution: {integrity: sha512-F4HsYlMJusa7uf18aIXGuuAdlPxKaIcr7UDMLg4QUCtGK114SVt6E+72bXtN6yPyZ40+x8BVUWUkkTOdw22BeA==} + /@push.rocks/smartstream@3.0.30: + resolution: {integrity: sha512-+izraXkILJJIy99PzP2LYahaW+g/35bTi/UxD7FeuOYbTaigode6Q3swvs0nrK6yu+A9x6RfoWV4JAJjd3Y87g==} dependencies: + '@push.rocks/lik': 6.0.12 '@push.rocks/smartpromise': 4.0.3 '@push.rocks/smartrx': 3.0.7 - dev: false /@push.rocks/smartstring@4.0.9: resolution: {integrity: sha512-VB0jzKmI4ZpdzEZe79M8rKVjAReNWGMG6ktzS0R5FeH96SSk3jvfOezgz/RJ7JbRN3UcyR0Ra/mXlpyeqJUHvw==} @@ -973,18 +1004,30 @@ packages: /@push.rocks/smarttime@4.0.5: resolution: {integrity: sha512-vf0Jh+jnMt59l4zbmxdkoPdIMhtO5ghFQn8wn9hX+oOtog56ddrwvdubs9CtDNCPoA8YEKL8Izp1uY21NIgrmA==} dependencies: - '@push.rocks/lik': 6.0.5 + '@push.rocks/lik': 6.0.12 '@push.rocks/smartdelay': 3.0.5 '@push.rocks/smartpromise': 4.0.3 croner: 5.7.0 dayjs: 1.11.9 is-nan: 1.3.2 pretty-ms: 8.0.0 + dev: true + + /@push.rocks/smarttime@4.0.6: + resolution: {integrity: sha512-1whOow0YJw/TbN758TedRRxApoZbsvyxCVpoGjXh7DE/fEEgs7RCr4vVF5jYpyXNQuNMLpKJcTsSfyQ6RvH4Aw==} + dependencies: + '@push.rocks/lik': 6.0.12 + '@push.rocks/smartdelay': 3.0.5 + '@push.rocks/smartpromise': 4.0.3 + croner: 7.0.5 + dayjs: 1.11.10 + is-nan: 1.3.2 + pretty-ms: 8.0.0 /@push.rocks/smartunique@3.0.6: resolution: {integrity: sha512-/fvh5BBHiTvZcCH4km2Oh3f0spfcWKr7e0Dp6lAb3rJq+5KiO7fQmI1UcQ9clADUaaJOn8sPzseiLt+kJ2tajw==} dependencies: - '@types/uuid': 9.0.4 + '@types/uuid': 9.0.7 nanoid: 4.0.2 uuid: 9.0.1 dev: true @@ -992,16 +1035,16 @@ packages: /@push.rocks/smarturl@3.0.7: resolution: {integrity: sha512-nx4EWjQD9JeO7QVbOsxd1PFeDQYoSQOOOYCZ+r7QWXHLJG52iYzgvJDCQyX6p705HDkYMJWozW2ZzhR22qLKbw==} - /@push.rocks/smartxml@1.0.6: - resolution: {integrity: sha512-ZgVrtQIfwtHkmeUDBAj/HL9LmcYikmvSsdtF+zn9U/L7JxgY4X18uJTuSHhnzj+AZQuz6pnuVEO8Bk5dyvyvGw==} + /@push.rocks/smartxml@1.0.8: + resolution: {integrity: sha512-idrPsBj9t6oxkLZJZgWtyZK6PnQ5BVDbBErk0UfGanXgSWJc+ZEKNYjVqr850+Na3+y0CT6AQdug7pnaokygwg==} dependencies: - fast-xml-parser: 3.21.1 + fast-xml-parser: 4.3.2 dev: true /@push.rocks/smartyaml@2.0.5: resolution: {integrity: sha512-tBcf+HaOIfeEsTMwgUZDtZERCxXQyRsWO8Ar5DjBdiSRchbhVGZQEBzXswMS0W5ZoRenjgPK+4tPW3JQGRTfbg==} dependencies: - '@types/js-yaml': 3.12.9 + '@types/js-yaml': 3.12.10 js-yaml: 3.14.1 dev: true @@ -1021,25 +1064,25 @@ packages: - utf-8-validate dev: true - /@push.rocks/webrequest@3.0.33: - resolution: {integrity: sha512-wO2ibVdTMIE4hwsK9pZSNMl1OcFNbn0/ZUjZS18wzHKR4WMMaVUPmI4eHUzc7fWR6PWvkseNGn3JFxA9YK4p1Q==} + /@push.rocks/webrequest@3.0.34: + resolution: {integrity: sha512-3gqJb58ZukPsOcS26ya2M/nAEOP7lMYyc2Syh45ljgwdM3X8PwHquk5pdc1MMdDWAo1aiYrxReEw6BgMCJUlNQ==} dependencies: '@push.rocks/smartdelay': 3.0.5 - '@push.rocks/smartenv': 5.0.5 + '@push.rocks/smartenv': 5.0.12 '@push.rocks/smartjson': 5.0.10 '@push.rocks/smartpromise': 4.0.3 - '@push.rocks/webstore': 2.0.9 + '@push.rocks/webstore': 2.0.13 dev: true - /@push.rocks/webstore@2.0.9: - resolution: {integrity: sha512-B/a/M+udyr0pByGdOEcWyY+gugIx36YJXWwNUrslh9XjIWs+0NKSFJRnZKuVYSCHOnc/WblAOceSlGVwFmYVBw==} + /@push.rocks/webstore@2.0.13: + resolution: {integrity: sha512-w5Q3g1TT5SDIXukAAoYVuWud+Y5ysS8qiBqPU00/re895VVZhUOSNJMNU6jyneZigmbWtwSLsxDkZHlsHWpfuA==} dependencies: '@apiglobal/typedrequest-interfaces': 2.0.1 - '@push.rocks/lik': 6.0.5 - '@push.rocks/smartenv': 5.0.5 + '@push.rocks/lik': 6.0.12 + '@push.rocks/smartenv': 5.0.12 '@push.rocks/smartjson': 5.0.10 '@push.rocks/smartpromise': 4.0.3 - '@push.rocks/smartrx': 3.0.6 + '@push.rocks/smartrx': 3.0.7 fake-indexeddb: 4.0.2 idb: 7.1.1 dev: true @@ -1106,7 +1149,7 @@ packages: '@pushrocks/smartrx': 3.0.2 '@pushrocks/smarttime': 4.0.1 '@types/minimatch': 5.1.2 - '@types/symbol-tree': 3.2.2 + '@types/symbol-tree': 3.2.5 symbol-tree: 3.2.4 dev: true @@ -1153,7 +1196,7 @@ packages: dependencies: '@pushrocks/smartjson': 5.0.6 '@pushrocks/smartpromise': 3.1.10 - '@types/through2': 2.0.39 + '@types/through2': 2.0.41 through2: 4.0.2 dev: true @@ -1162,7 +1205,7 @@ packages: deprecated: This package has been deprecated in favour of the new package at @push.rocks/smartjson dependencies: '@pushrocks/smartstring': 4.0.7 - '@types/buffer-json': 2.0.1 + '@types/buffer-json': 2.0.3 buffer-json: 2.0.0 fast-json-stable-stringify: 2.1.0 lodash.clonedeep: 4.5.0 @@ -1200,7 +1243,7 @@ packages: resolution: {integrity: sha512-VM2gfS1sTuycj/jHyDa0lDntkPe7/JT0b2kGsy265RkichAJZkoEp3fboRJH/WAdzM8T4Du64JYgZkc8v2HHQg==} deprecated: This package has been deprecated in favour of the new package at @push.rocks/smartping dependencies: - '@types/ping': 0.4.1 + '@types/ping': 0.4.4 ping: 0.4.4 dev: true @@ -1247,7 +1290,7 @@ packages: dependencies: '@pushrocks/isounique': 1.0.5 '@pushrocks/smartenv': 5.0.5 - '@types/randomatic': 3.1.3 + '@types/randomatic': 3.1.5 buffer: 6.0.3 crypto-random-string: 5.0.0 js-base64: 3.7.5 @@ -1288,7 +1331,7 @@ packages: deprecated: This package has been deprecated in favour of the new package at @push.rocks/smartunique dependencies: '@types/shortid': 0.0.29 - '@types/uuid': 7.0.6 + '@types/uuid': 7.0.8 shortid: 2.2.16 uuid: 7.0.3 dev: true @@ -1357,10 +1400,10 @@ packages: type-fest: 2.19.0 dev: true - /@tsclass/tsclass@4.0.43: - resolution: {integrity: sha512-BGihF65KjD/pqQIrTUemff7OMvQi22FBZCti+7NHWIb7ZxtFrJsciEyAFQrx0de5GQWOFTwQx6HNKqwgkP2Mhg==} + /@tsclass/tsclass@4.0.46: + resolution: {integrity: sha512-UovPUvlozv1ftJp4KW5tt4MP/LQCNP3lSCinjyIrLkopOymczyzONUGvSAAwOBf1XBE9bO0tI4KtRuXWN9XBXQ==} dependencies: - type-fest: 4.3.1 + type-fest: 4.8.2 dev: true /@tsconfig/node10@1.0.9: @@ -1382,7 +1425,7 @@ packages: /@types/accepts@1.3.5: resolution: {integrity: sha512-jOdnI/3qTpHABjM5cx1Hc0sKsPoYCp+DP/GJRGtDlPd7fiV9oXGGIcjW/ZOxLIvjGz8MA+uMZI9metHlgqbgwQ==} dependencies: - '@types/node': 20.8.10 + '@types/node': 20.10.0 dev: true /@types/babel__code-frame@7.0.3: @@ -1393,12 +1436,23 @@ packages: resolution: {integrity: sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==} dependencies: '@types/connect': 3.4.35 - '@types/node': 20.8.10 + '@types/node': 20.10.0 + dev: true + + /@types/body-parser@1.19.5: + resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==} + dependencies: + '@types/connect': 3.4.38 + '@types/node': 20.10.0 dev: true /@types/buffer-json@2.0.1: resolution: {integrity: sha512-y2q2QGDqpS8NBtgKg8si+vKfanyd8smKzTglDCm7dXrco1VclSR8G1/uezK+sWbEUxsVPTomv5RxsTl3JAzxLA==} + /@types/buffer-json@2.0.3: + resolution: {integrity: sha512-ItD4UfF3Q5jA+PEV6ZUWEHvlWaXJbd0rpuBKOIrEebM053FHaJddKsgUf0vy7nLSTs44nqFj3Mh8J3TiT0xv4g==} + dev: true + /@types/chai-dom@0.0.9: resolution: {integrity: sha512-jj4F2NJog2/GBYsyJ8+NvhnWUBbPY4MUAKLdPJE6+568rw12GGXvj0ycUuP5nndVrnJgozmJAoMTvxvjJATXWw==} dependencies: @@ -1416,24 +1470,30 @@ packages: chokidar: 3.5.3 dev: true - /@types/clean-css@4.2.7: - resolution: {integrity: sha512-lcoZHjUAANLTACLGi+O/0pN+oKQAQ8zAMWJSxiBRNLxqZG/WE8hfXJUs1eYwJOvOnDJrvxU1kR77UiVJ3+9N0Q==} + /@types/clean-css@4.2.11: + resolution: {integrity: sha512-Y8n81lQVTAfP2TOdtJJEsCoYl1AnOkqDqMvXb9/7pfgZZ7r8YrEyurrAvAoAjHOGXKRybay+5CsExqIH6liccw==} dependencies: - '@types/node': 20.8.10 + '@types/node': 20.10.0 source-map: 0.6.1 dev: true /@types/co-body@6.1.0: resolution: {integrity: sha512-3e0q2jyDAnx/DSZi0z2H0yoZ2wt5yRDZ+P7ymcMObvq0ufWRT4tsajyO+Q1VwVWiv9PRR4W3YEjEzBjeZlhF+w==} dependencies: - '@types/node': 20.8.10 + '@types/node': 20.10.0 '@types/qs': 6.9.8 dev: true /@types/connect@3.4.35: resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==} dependencies: - '@types/node': 20.8.10 + '@types/node': 20.10.0 + dev: true + + /@types/connect@3.4.38: + resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} + dependencies: + '@types/node': 20.10.0 dev: true /@types/content-disposition@0.5.5: @@ -1454,13 +1514,13 @@ packages: '@types/connect': 3.4.35 '@types/express': 4.17.17 '@types/keygrip': 1.0.2 - '@types/node': 20.8.10 + '@types/node': 20.10.0 dev: true - /@types/cors@2.8.14: - resolution: {integrity: sha512-RXHUvNWYICtbP6s18PnOCaqToK8y14DnLd75c6HfyKf228dxy7pHNOQkxPtvXKp/hINFMDjbYzsj63nnpPMSRQ==} + /@types/cors@2.8.17: + resolution: {integrity: sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA==} dependencies: - '@types/node': 20.8.10 + '@types/node': 20.10.0 dev: true /@types/debounce@1.2.1: @@ -1474,12 +1534,21 @@ packages: /@types/express-serve-static-core@4.17.36: resolution: {integrity: sha512-zbivROJ0ZqLAtMzgzIUC4oNqDG9iF0lSsAqpOD9kbs5xcIM3dTiyuHvBc7R8MtWBp3AAWGaovJa+wzWPjLYW7Q==} dependencies: - '@types/node': 20.8.10 + '@types/node': 20.10.0 '@types/qs': 6.9.8 '@types/range-parser': 1.2.4 '@types/send': 0.17.1 dev: true + /@types/express-serve-static-core@4.17.41: + resolution: {integrity: sha512-OaJ7XLaelTgrvlZD8/aa0vvvxZdUmlCn6MtWeB7TkiKW70BQLc9XEPpDLPdbo52ZhXUCrznlWdCHWxJWtdyajA==} + dependencies: + '@types/node': 20.10.0 + '@types/qs': 6.9.10 + '@types/range-parser': 1.2.7 + '@types/send': 0.17.4 + dev: true + /@types/express@4.17.17: resolution: {integrity: sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q==} dependencies: @@ -1489,44 +1558,57 @@ packages: '@types/serve-static': 1.15.2 dev: true + /@types/express@4.17.21: + resolution: {integrity: sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==} + dependencies: + '@types/body-parser': 1.19.5 + '@types/express-serve-static-core': 4.17.41 + '@types/qs': 6.9.10 + '@types/serve-static': 1.15.5 + dev: true + /@types/from2@2.3.4: resolution: {integrity: sha512-Ofj/U9ytMjG5FIfFlTokSyGQdLgX8js+hbw9/qxZQbsGRjcjQPzoLGZhe6OEzrg7Sd98Il57iyxDtU1ArvCSTw==} dependencies: - '@types/node': 20.8.10 + '@types/node': 20.10.0 dev: true - /@types/fs-extra@11.0.3: - resolution: {integrity: sha512-sF59BlXtUdzEAL1u0MSvuzWd7PdZvZEtnaVkzX5mjpdWTJ8brG0jUqve3jPCzSzvAKKMHTG8F8o/WMQLtleZdQ==} + /@types/fs-extra@11.0.4: + resolution: {integrity: sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==} dependencies: - '@types/jsonfile': 6.1.3 - '@types/node': 20.8.10 + '@types/jsonfile': 6.1.4 + '@types/node': 20.10.0 /@types/glob@8.1.0: resolution: {integrity: sha512-IO+MJPVhoqz+28h1qLAcBEH2+xHMK6MTyHJc7MTnnYb6wsoLR29POVGJ7LycmVXIqyy/4/2ShP5sUwTXuOwb/w==} dependencies: '@types/minimatch': 5.1.2 - '@types/node': 20.8.10 + '@types/node': 20.10.0 - /@types/html-minifier@4.0.3: - resolution: {integrity: sha512-e55KfPv+cXjd2AXwkuVfMw/hcJipNoS+JML+z3ijqzMHgc6F2iviWSEUx5tXQ6Yu5UtYtLH35ae2ftFsRJTmLA==} + /@types/html-minifier@4.0.5: + resolution: {integrity: sha512-LfE7f7MFd+YUfZnlBz8W43P4NgSObWiqyKapANsWCj63Aqeqli8/9gVsGP4CwC8jPpTTYlTopKCk9rJSuht/ew==} dependencies: - '@types/clean-css': 4.2.7 - '@types/relateurl': 0.2.29 - '@types/uglify-js': 3.17.2 + '@types/clean-css': 4.2.11 + '@types/relateurl': 0.2.33 + '@types/uglify-js': 3.17.4 dev: true /@types/http-assert@1.5.3: resolution: {integrity: sha512-FyAOrDuQmBi8/or3ns4rwPno7/9tJTijVW6aQQjK02+kOQ8zmoNg2XJtAuQhvQcy1ASJq38wirX5//9J1EqoUA==} dev: true - /@types/http-cache-semantics@4.0.2: - resolution: {integrity: sha512-FD+nQWA2zJjh4L9+pFXqWOi0Hs1ryBCfI+985NjluQ1p8EYtoLvjLOKidXBtZ4/IcxDX4o8/E8qDS3540tNliw==} + /@types/http-cache-semantics@4.0.4: + resolution: {integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==} dev: true /@types/http-errors@2.0.1: resolution: {integrity: sha512-/K3ds8TRAfBvi5vfjuz8y6+GiAYBZ0x4tXv1Av6CWBWn0IlADc+ZX9pMq7oU0fNQPnBwIZl3rmeLp6SBApbxSQ==} dev: true + /@types/http-errors@2.0.4: + resolution: {integrity: sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==} + dev: true + /@types/istanbul-lib-coverage@2.0.4: resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==} dev: true @@ -1543,17 +1625,17 @@ packages: '@types/istanbul-lib-report': 3.0.0 dev: true - /@types/js-yaml@3.12.9: - resolution: {integrity: sha512-s5v3+2RB96nd7AOZXLScwHDRClor83+0E5q+5fzq0fTFXw8spF3QWHAUmHwItmmlr7XnDjpM0FkAgNKHzDTXtg==} + /@types/js-yaml@3.12.10: + resolution: {integrity: sha512-/Mtaq/wf+HxXpvhzFYzrzCqNRcA958sW++7JOFC8nPrZcvfi/TrzOaaGbvt27ltJB2NQbHVAg5a1wUCsyMH7NA==} dev: true - /@types/js-yaml@4.0.8: - resolution: {integrity: sha512-m6jnPk1VhlYRiLFm3f8X9Uep761f+CK8mHyS65LutH2OhmBF0BeMEjHgg05usH8PLZMWWc/BUR9RPmkvpWnyRA==} + /@types/js-yaml@4.0.9: + resolution: {integrity: sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==} - /@types/jsonfile@6.1.3: - resolution: {integrity: sha512-/yqTk2SZ1wIezK0hiRZD7RuSf4B3whFxFamB1kGStv+8zlWScTMcHanzfc0XKWs5vA1TkHeckBlOyM8jxU8nHA==} + /@types/jsonfile@6.1.4: + resolution: {integrity: sha512-D5qGUYwjvnNNextdU59/+fI+spnwtTFmyQP0h+PfIOSkNfpU6AOICUOkm4i0OnSk+NyjdPJrxCDro0sJsWlRpQ==} dependencies: - '@types/node': 20.8.10 + '@types/node': 20.10.0 /@types/keygrip@1.0.2: resolution: {integrity: sha512-GJhpTepz2udxGexqos8wgaBx4I/zWIDPh/KOGEwAqtuGDkOUJu5eFvwmdBX4AmB8Odsr+9pHCQqiAqDL/yKMKw==} @@ -1575,7 +1657,7 @@ packages: '@types/http-errors': 2.0.1 '@types/keygrip': 1.0.2 '@types/koa-compose': 3.2.5 - '@types/node': 20.8.10 + '@types/node': 20.10.0 dev: true /@types/mime-types@2.1.1: @@ -1585,10 +1667,18 @@ packages: resolution: {integrity: sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==} dev: true + /@types/mime@1.3.5: + resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} + dev: true + /@types/mime@3.0.1: resolution: {integrity: sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==} dev: true + /@types/mime@3.0.4: + resolution: {integrity: sha512-iJt33IQnVRkqeqC7PzBHPTC6fDlRNRW8vjrgqtScAhrmMwe8c4Eo7+fUGTa+XdWrpEgpyKWMYmi2dIwMAYRzPw==} + dev: true + /@types/minimatch@3.0.5: resolution: {integrity: sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==} dev: true @@ -1600,8 +1690,8 @@ packages: resolution: {integrity: sha512-NYrtPht0wGzhwe9+/idPaBB+TqkY9AhTvOLMkThm0IoEfLaiVQZwBwyJ5puCkO3AUCWrmcoePjp2mbFocKy4SQ==} dev: true - /@types/node@20.8.10: - resolution: {integrity: sha512-TlgT8JntpcbmKUFzjhsyhGfP2fsiz1Mv56im6enJ905xG1DAYesxJaeSbGqQmAw8OWPdhyJGhGSQGKRNJ45u9w==} + /@types/node@20.10.0: + resolution: {integrity: sha512-D0WfRmU9TQ8I9PFx9Yc+EBHw+vSpIub4IDvQivcp26PtPrdMGAq5SDcpXEo/epqa/DXotVpekHiLNTg3iaKXBQ==} dependencies: undici-types: 5.26.5 @@ -1609,8 +1699,12 @@ packages: resolution: {integrity: sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g==} dev: true - /@types/ping@0.4.1: - resolution: {integrity: sha512-q/D+xQvoqrHvntvz2A0Pb0ImYwnN3zakluUp8O2qoogGoVMVbdY2K/ulxHcCh9TzYzVoojayHBa9gYQDIZ4v0A==} + /@types/ping@0.4.4: + resolution: {integrity: sha512-ifvo6w2f5eJYlXm+HiVx67iJe8WZp87sfa683nlqED5Vnt9Z93onkokNoWqOG21EaE8fMxyKPobE+mkPEyxsdw==} + dev: true + + /@types/qs@6.9.10: + resolution: {integrity: sha512-3Gnx08Ns1sEoCrWssEgTSJs/rsT2vhGP+Ja9cnnk9k4ALxinORlQneLXFeFKOTJMOeZUFD1s7w+w2AphTpvzZw==} dev: true /@types/qs@6.9.8: @@ -1620,19 +1714,34 @@ packages: /@types/randomatic@3.1.3: resolution: {integrity: sha512-UlYMg/XxN+YMh6vAiB879yh2bhaTOU0DB1g4NGIhzlaiSf22rAVKIGTvH8HjCXu+wfFvjAWHuPG5waN4btEubw==} + /@types/randomatic@3.1.5: + resolution: {integrity: sha512-VCwCTw6qh1pRRw+5rNTAwqPmf6A+hdrkdM7dBpZVmhl7g+em3ONXlYK/bWPVKqVGMWgP0d1bog8Vc/X6zRwRRQ==} + dev: true + /@types/range-parser@1.2.4: resolution: {integrity: sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==} dev: true - /@types/relateurl@0.2.29: - resolution: {integrity: sha512-QSvevZ+IRww2ldtfv1QskYsqVVVwCKQf1XbwtcyyoRvLIQzfyPhj/C+3+PKzSDRdiyejaiLgnq//XTkleorpLg==} + /@types/range-parser@1.2.7: + resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} + dev: true + + /@types/relateurl@0.2.33: + resolution: {integrity: sha512-bTQCKsVbIdzLqZhLkF5fcJQreE4y1ro4DIyVrlDNSCJRRwHhB8Z+4zXXa8jN6eDvc2HbRsEYgbvrnGvi54EpSw==} dev: true /@types/send@0.17.1: resolution: {integrity: sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q==} dependencies: '@types/mime': 1.3.2 - '@types/node': 20.8.10 + '@types/node': 20.10.0 + dev: true + + /@types/send@0.17.4: + resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==} + dependencies: + '@types/mime': 1.3.5 + '@types/node': 20.10.0 dev: true /@types/serve-static@1.15.2: @@ -1640,7 +1749,15 @@ packages: dependencies: '@types/http-errors': 2.0.1 '@types/mime': 3.0.1 - '@types/node': 20.8.10 + '@types/node': 20.10.0 + dev: true + + /@types/serve-static@1.15.5: + resolution: {integrity: sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ==} + dependencies: + '@types/http-errors': 2.0.4 + '@types/mime': 3.0.4 + '@types/node': 20.10.0 dev: true /@types/shortid@0.0.29: @@ -1664,36 +1781,42 @@ packages: resolution: {integrity: sha512-9GcLXF0/v3t80caGs5p2rRfkB+a8VBGLJZVih6CNFkx8IZ994wiKKLSRs9nuFwk1HevWs/1mnUmkApGrSGsShA==} dev: true - /@types/symbol-tree@3.2.2: - resolution: {integrity: sha512-+NcSHyA9K2EDHv3ny4wpbRSA+f+Tj0O7hIj7+w4tVw9yxqMavXwtFwuZEo3vyigTgOhGkrAUl3gj4oxAcyLfRQ==} + /@types/symbol-tree@3.2.5: + resolution: {integrity: sha512-zXnnyENt1TYQcS21MkPaJCVjfcPq7p7yc5mo5JACuumXp6sly5jnlS0IokHd+xmmuCbx6V7JqkMBpswR+nZAcw==} /@types/through2@2.0.39: resolution: {integrity: sha512-zhK74atBQ1pl1CNNYDpRJT8I6m794CsDGN0q8aDcQ7jvxlg1SVUy7gio7nOnYHMzhnGT0Vv4C53lw94MSWCeWA==} dependencies: - '@types/node': 20.8.10 + '@types/node': 20.10.0 /@types/through2@2.0.40: resolution: {integrity: sha512-QeEwyeGxvtKjP0I/SR8pHtKMgmqotWTI8V/rNMTjbF3arWZJV/kYtbZXtwQKxUuV/oPSGkUilSspFKkTgCPTpA==} dependencies: - '@types/node': 20.8.10 + '@types/node': 20.10.0 dev: true - /@types/trusted-types@2.0.4: - resolution: {integrity: sha512-IDaobHimLQhjwsQ/NMwRVfa/yL7L/wriQPMhw1ZJall0KX6E1oxk29XMDeilW5qTIg5aoiqf5Udy8U/51aNoQQ==} + /@types/through2@2.0.41: + resolution: {integrity: sha512-ryQ0tidWkb1O1JuYvWKyMLYEtOWDqF5mHerJzKz/gQpoAaJq2l/dsMPBF0B5BNVT34rbARYJ5/tsZwLfUi2kwQ==} + dependencies: + '@types/node': 20.10.0 dev: true - /@types/uglify-js@3.17.2: - resolution: {integrity: sha512-9SjrHO54LINgC/6Ehr81NjAxAYvwEZqjUHLjJYvC4Nmr9jbLQCIZbWSvl4vXQkkmR1UAuaKDycau3O1kWGFyXQ==} + /@types/trusted-types@2.0.7: + resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} + dev: true + + /@types/uglify-js@3.17.4: + resolution: {integrity: sha512-Hm/T0kV3ywpJyMGNbsItdivRhYNCQQf1IIsYsXnoVPES4t+FMLyDe0/K+Ea7ahWtMtSNb22ZdY7MIyoD9rqARg==} dependencies: source-map: 0.6.1 dev: true - /@types/uuid@7.0.6: - resolution: {integrity: sha512-U/wu4HTp6T2dUmKqDtOUKS9cYhawuf8txqKF3Jp1iMDG8fP5HtjSldcN0g4m+/h7XHU1to1/HDCT0qeeUiu0EA==} + /@types/uuid@7.0.8: + resolution: {integrity: sha512-95N4tyM4B5u1sj2m8Tht09qWHju2ht413GBFz8CHtxp8aIiJUF6t51MsR7jC9OF4rRVf93AxE++WJe7+Puc1UA==} dev: true - /@types/uuid@9.0.4: - resolution: {integrity: sha512-zAuJWQflfx6dYJM62vna+Sn5aeSWhh3OB+wfUEACNcqUSc0AGc5JKl+ycL1vrH7frGTXhJchYjE1Hak8L819dA==} + /@types/uuid@9.0.7: + resolution: {integrity: sha512-WUtIVRUZ9i5dYXefDEAI7sh9/O7jGvHg7Df/5O/gtH3Yabe5odI3UWopVR1qbPXQtvOxWu3mM4XxlYeZtMWF4g==} dev: true /@types/which@2.0.2: @@ -1707,14 +1830,20 @@ packages: /@types/ws@7.4.7: resolution: {integrity: sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==} dependencies: - '@types/node': 20.8.10 + '@types/node': 20.10.0 dev: true - /@types/yauzl@2.10.2: - resolution: {integrity: sha512-Km7XAtUIduROw7QPgvcft0lIupeG8a8rdKL8RiSyKvlE7dYY31fEn41HVuQsRFDuROA8tA4K2UVL+WdfFmErBA==} + /@types/ws@8.5.10: + resolution: {integrity: sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==} + dependencies: + '@types/node': 20.10.0 + dev: true + + /@types/yauzl@2.10.3: + resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} requiresBuild: true dependencies: - '@types/node': 20.8.10 + '@types/node': 20.10.0 dev: true optional: true @@ -2120,14 +2249,14 @@ packages: engines: {node: '>=14.16'} dev: true - /cacheable-request@10.2.13: - resolution: {integrity: sha512-3SD4rrMu1msNGEtNSt8Od6enwdo//U9s4ykmXfA2TD58kcLkCobtCDiby7kNyj7a/Q7lz/mAesAFI54rTdnvBA==} + /cacheable-request@10.2.14: + resolution: {integrity: sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==} engines: {node: '>=14.16'} dependencies: - '@types/http-cache-semantics': 4.0.2 + '@types/http-cache-semantics': 4.0.4 get-stream: 6.0.1 http-cache-semantics: 4.1.1 - keyv: 4.5.3 + keyv: 4.5.4 mimic-response: 4.0.0 normalize-url: 8.0.0 responselike: 3.0.0 @@ -2365,6 +2494,11 @@ packages: /croner@5.7.0: resolution: {integrity: sha512-9pSLe+tDJnmNak2JeMkz6ZmTCXP5p6vCxSd4kvDqrTJkqAP62j2uAEIZjf8cPDZIakStujqVzh5Y5MIWH3yYAw==} engines: {node: '>=6.0'} + dev: true + + /croner@7.0.5: + resolution: {integrity: sha512-15HLCD7iXnMe5km54yc4LN5BH+Cg9uCQvbkJ0acHxFffE29w3Uvgb9s/l310UCVUgMwGSBNw9BAHsEb5uMgj1g==} + engines: {node: '>=6.0'} /cross-fetch@3.1.5: resolution: {integrity: sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==} @@ -2390,10 +2524,10 @@ packages: /dayjs@1.11.10: resolution: {integrity: sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==} - dev: true /dayjs@1.11.9: resolution: {integrity: sha512-QvzAURSbQ0pKdIye2txOzNaHmxtUBXerpY0FJsFXUMKbIZeFm5ht1LS/jFsrncjnmtv8HsG0W2g6c0zUjZWmpA==} + dev: true /debounce@1.2.1: resolution: {integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==} @@ -2588,8 +2722,8 @@ packages: once: 1.4.0 dev: true - /engine.io-client@6.5.2: - resolution: {integrity: sha512-CQZqbrpEYnrpGqC07a9dJDz4gePZUgTPMU3NKJPSeQOyw27Tst4Pl3FemKoFGAlHzgZmKjoRmiJvbWfhCXUlIg==} + /engine.io-client@6.5.3: + resolution: {integrity: sha512-9Z0qLB0NIisTRt1DZ/8U2k12RJn8yls/nXMZLn+/N8hANT3TcYjKFKcwbw5zFQiN4NTde3TSY9zb79e1ij6j9Q==} dependencies: '@socket.io/component-emitter': 3.1.0 debug: 4.3.4 @@ -2612,8 +2746,8 @@ packages: engines: {node: '>=10.2.0'} dependencies: '@types/cookie': 0.4.1 - '@types/cors': 2.8.14 - '@types/node': 20.8.10 + '@types/cors': 2.8.17 + '@types/node': 20.10.0 accepts: 1.3.8 base64id: 2.0.0 cookie: 0.4.2 @@ -2706,34 +2840,34 @@ packages: is-symbol: 1.0.4 dev: true - /esbuild@0.19.3: - resolution: {integrity: sha512-UlJ1qUUA2jL2nNib1JTSkifQTcYTroFqRjwCFW4QYEKEsixXD5Tik9xML7zh2gTxkYTBKGHNH9y7txMwVyPbjw==} + /esbuild@0.19.7: + resolution: {integrity: sha512-6brbTZVqxhqgbpqBR5MzErImcpA0SQdoKOkcWK/U30HtQxnokIpG3TX2r0IJqbFUzqLjhU/zC1S5ndgakObVCQ==} engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: - '@esbuild/android-arm': 0.19.3 - '@esbuild/android-arm64': 0.19.3 - '@esbuild/android-x64': 0.19.3 - '@esbuild/darwin-arm64': 0.19.3 - '@esbuild/darwin-x64': 0.19.3 - '@esbuild/freebsd-arm64': 0.19.3 - '@esbuild/freebsd-x64': 0.19.3 - '@esbuild/linux-arm': 0.19.3 - '@esbuild/linux-arm64': 0.19.3 - '@esbuild/linux-ia32': 0.19.3 - '@esbuild/linux-loong64': 0.19.3 - '@esbuild/linux-mips64el': 0.19.3 - '@esbuild/linux-ppc64': 0.19.3 - '@esbuild/linux-riscv64': 0.19.3 - '@esbuild/linux-s390x': 0.19.3 - '@esbuild/linux-x64': 0.19.3 - '@esbuild/netbsd-x64': 0.19.3 - '@esbuild/openbsd-x64': 0.19.3 - '@esbuild/sunos-x64': 0.19.3 - '@esbuild/win32-arm64': 0.19.3 - '@esbuild/win32-ia32': 0.19.3 - '@esbuild/win32-x64': 0.19.3 + '@esbuild/android-arm': 0.19.7 + '@esbuild/android-arm64': 0.19.7 + '@esbuild/android-x64': 0.19.7 + '@esbuild/darwin-arm64': 0.19.7 + '@esbuild/darwin-x64': 0.19.7 + '@esbuild/freebsd-arm64': 0.19.7 + '@esbuild/freebsd-x64': 0.19.7 + '@esbuild/linux-arm': 0.19.7 + '@esbuild/linux-arm64': 0.19.7 + '@esbuild/linux-ia32': 0.19.7 + '@esbuild/linux-loong64': 0.19.7 + '@esbuild/linux-mips64el': 0.19.7 + '@esbuild/linux-ppc64': 0.19.7 + '@esbuild/linux-riscv64': 0.19.7 + '@esbuild/linux-s390x': 0.19.7 + '@esbuild/linux-x64': 0.19.7 + '@esbuild/netbsd-x64': 0.19.7 + '@esbuild/openbsd-x64': 0.19.7 + '@esbuild/sunos-x64': 0.19.7 + '@esbuild/win32-arm64': 0.19.7 + '@esbuild/win32-ia32': 0.19.7 + '@esbuild/win32-x64': 0.19.7 dev: true /escape-html@1.0.3: @@ -2825,7 +2959,7 @@ packages: get-stream: 5.2.0 yauzl: 2.10.0 optionalDependencies: - '@types/yauzl': 2.10.2 + '@types/yauzl': 2.10.3 transitivePeerDependencies: - supports-color dev: true @@ -2854,8 +2988,8 @@ packages: /fast-json-stable-stringify@2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} - /fast-xml-parser@3.21.1: - resolution: {integrity: sha512-FTFVjYoBOZTJekiUsawGsSYV9QL0A+zDYCRj7y34IO6Jg+2IMYEtQa+bbictpdpV8dHxXywqU7C0gRDEOFtBFg==} + /fast-xml-parser@4.3.2: + resolution: {integrity: sha512-rmrXUXwbJedoXkStenj1kkljNF7ugn5ZjR9FJcwmCfcCbtOMDghPajbc+Tck6vE6F5XsDmx+Pr2le9fw8+pXBg==} hasBin: true dependencies: strnum: 1.0.5 @@ -2880,12 +3014,11 @@ packages: xml-js: 1.6.11 dev: true - /figures@5.0.0: - resolution: {integrity: sha512-ej8ksPF4x6e5wvK9yevct0UCXh8TTFlWGVLlgjZuoBH1HwjIfKE/IdL5mq89sFA7zELi1VhKpmtDnrs7zWyeyg==} - engines: {node: '>=14'} + /figures@6.0.1: + resolution: {integrity: sha512-0oY/olScYD4IhQ8u//gCPA4F3mlTn2dacYmiDm/mbDQvpmLjV4uH+zhsQ5IyXRyvqkvtUkXkNdGvg5OFJTCsuQ==} + engines: {node: '>=18'} dependencies: - escape-string-regexp: 5.0.0 - is-unicode-supported: 1.3.0 + is-unicode-supported: 2.0.0 dev: true /fill-range@7.0.1: @@ -3133,11 +3266,11 @@ packages: '@sindresorhus/is': 5.6.0 '@szmarczak/http-timer': 5.0.1 cacheable-lookup: 7.0.0 - cacheable-request: 10.2.13 + cacheable-request: 10.2.14 decompress-response: 6.0.0 form-data-encoder: 2.1.4 get-stream: 6.0.1 - http2-wrapper: 2.2.0 + http2-wrapper: 2.2.1 lowercase-keys: 3.0.0 p-cancelable: 3.0.0 responselike: 3.0.0 @@ -3258,8 +3391,8 @@ packages: toidentifier: 1.0.1 dev: true - /http2-wrapper@2.2.0: - resolution: {integrity: sha512-kZB0wxMo0sh1PehyjJUWRFEd99KC5TLjZ2cULC4f9iqJBAmKQQXEICjxl5iPJRwP40dpeHFqqhm7tYCvODpqpQ==} + /http2-wrapper@2.2.1: + resolution: {integrity: sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==} engines: {node: '>=10.19.0'} dependencies: quick-lru: 5.1.1 @@ -3507,9 +3640,9 @@ packages: which-typed-array: 1.1.11 dev: true - /is-unicode-supported@1.3.0: - resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==} - engines: {node: '>=12'} + /is-unicode-supported@2.0.0: + resolution: {integrity: sha512-FRdAyx5lusK1iHG0TWpVtk9+1i+GjrzRffhDg4ovQ7mcidMQ6mj+MhKPmvh7Xwyv5gIS06ns49CA7Sqg7lC22Q==} + engines: {node: '>=18'} dev: true /is-weakref@1.0.2: @@ -3635,8 +3768,8 @@ packages: tsscmp: 1.0.6 dev: true - /keyv@4.5.3: - resolution: {integrity: sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==} + /keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} dependencies: json-buffer: 3.0.1 dev: true @@ -3721,30 +3854,30 @@ packages: lit-html: 1.4.1 dev: true - /lit-element@3.3.3: - resolution: {integrity: sha512-XbeRxmTHubXENkV4h8RIPyr8lXc+Ff28rkcQzw3G6up2xg5E8Zu1IgOWIwBLEQsu3cOVFqdYwiVi0hv0SlpqUA==} + /lit-element@4.0.2: + resolution: {integrity: sha512-/W6WQZUa5VEXwC7H9tbtDMdSs9aWil3Ou8hU6z2cOKWbsm/tXPAcsoaHVEtrDo0zcOIE5GF6QgU55tlGL2Nihg==} dependencies: - '@lit-labs/ssr-dom-shim': 1.1.1 - '@lit/reactive-element': 1.6.3 - lit-html: 2.8.0 + '@lit-labs/ssr-dom-shim': 1.1.2 + '@lit/reactive-element': 2.0.2 + lit-html: 3.1.0 dev: true /lit-html@1.4.1: resolution: {integrity: sha512-B9btcSgPYb1q4oSOb/PrOT6Z/H+r6xuNzfH4lFli/AWhYwdtrgQkQWBbIc6mdnf6E2IL3gDXdkkqNktpU0OZQA==} dev: true - /lit-html@2.8.0: - resolution: {integrity: sha512-o9t+MQM3P4y7M7yNzqAyjp7z+mQGa4NS4CxiyLqFPyFWyc4O+nodLrkrxSaCTrla6M5YOLaT3RpbbqjszB5g3Q==} + /lit-html@3.1.0: + resolution: {integrity: sha512-FwAjq3iNsaO6SOZXEIpeROlJLUlrbyMkn4iuv4f4u1H40Jw8wkeR/OUXZUHUoiYabGk8Y4Y0F/rgq+R4MrOLmA==} dependencies: - '@types/trusted-types': 2.0.4 + '@types/trusted-types': 2.0.7 dev: true - /lit@2.8.0: - resolution: {integrity: sha512-4Sc3OFX9QHOJaHbmTMk28SYgVxLN3ePDjg7hofEft2zWlehFL3LiAuapWc4U/kYwMYJSh2hTCPZ6/LIC7ii0MA==} + /lit@3.1.0: + resolution: {integrity: sha512-rzo/hmUqX8zmOdamDAeydfjsGXbbdtAFqMhmocnh2j9aDYqbu0fjXygjCa0T99Od9VQ/2itwaGrjZz/ZELVl7w==} dependencies: - '@lit/reactive-element': 1.6.3 - lit-element: 3.3.3 - lit-html: 2.8.0 + '@lit/reactive-element': 2.0.2 + lit-element: 4.0.2 + lit-html: 3.1.0 dev: true /locate-path@3.0.0: @@ -4442,8 +4575,8 @@ packages: /punycode@1.4.1: resolution: {integrity: sha1-wNWmOycYgArY4esPpSachN1BhF4=} - /punycode@2.3.0: - resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} + /punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} dev: true @@ -4674,8 +4807,8 @@ packages: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} dev: true - /sax@1.2.4: - resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==} + /sax@1.3.0: + resolution: {integrity: sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==} dev: true /semver@5.7.2: @@ -4822,7 +4955,7 @@ packages: dependencies: '@socket.io/component-emitter': 3.1.0 debug: 4.3.4 - engine.io-client: 6.5.2 + engine.io-client: 6.5.3 socket.io-parser: 4.2.4 transitivePeerDependencies: - bufferutil @@ -5031,8 +5164,8 @@ packages: /symbol-tree@3.2.4: resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} - /systeminformation@5.21.8: - resolution: {integrity: sha512-Xf1KDMUTQHLOT9Z7MjpSpsbaICOHcm4OZ9c9qqpkCoXuxq5MoyDrgu5GIQYpoiralXNPrqxDz3ND8MdllpXeQA==} + /systeminformation@5.21.18: + resolution: {integrity: sha512-PEoWd95nI5170rvIk4fagLH0SmzwfGt18w0+ex1Ljb2bSXvDs9PQdLNexMazL5L6Pzd6wxlpoWUAjX+hNRKN7g==} engines: {node: '>=8.0.0'} os: [darwin, linux, win32, freebsd, openbsd, netbsd, sunos, android] hasBin: true @@ -5110,7 +5243,7 @@ packages: resolution: {integrity: sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==} engines: {node: '>=8'} dependencies: - punycode: 2.3.0 + punycode: 2.3.1 dev: true /tree-kill@1.2.2: @@ -5118,7 +5251,7 @@ packages: hasBin: true dev: true - /ts-node@10.9.1(@types/node@20.8.10)(typescript@5.1.6): + /ts-node@10.9.1(@types/node@20.10.0)(typescript@5.1.6): resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true peerDependencies: @@ -5137,7 +5270,7 @@ packages: '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 20.8.10 + '@types/node': 20.10.0 acorn: 8.10.0 acorn-walk: 8.2.0 arg: 4.1.3 @@ -5171,8 +5304,8 @@ packages: resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} engines: {node: '>=12.20'} - /type-fest@4.3.1: - resolution: {integrity: sha512-pphNW/msgOUSkJbH58x8sqpq8uQj6b0ZKGxEsLKMUnGorRcDjrUaLS+39+/ub41JNTwrrMyJcUB8+YZs3mbwqw==} + /type-fest@4.8.2: + resolution: {integrity: sha512-mcvrCjixA5166hSrUoJgGb9gBQN4loMYyj9zxuMs/66ibHNEFd5JXMw37YVDx58L4/QID9jIzdTBB4mDwDJ6KQ==} engines: {node: '>=16'} dev: true @@ -5228,6 +5361,12 @@ packages: hasBin: true dev: true + /typescript@5.2.2: + resolution: {integrity: sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==} + engines: {node: '>=14.17'} + hasBin: true + dev: true + /typeson-registry@1.0.0-alpha.39: resolution: {integrity: sha512-NeGDEquhw+yfwNhguLPcZ9Oj0fzbADiX4R0WxvoY8nGhy98IbzQy1sezjoEFWOywOboj/DWehI+/aUlRVrJnnw==} engines: {node: '>=10.0.0'} @@ -5483,6 +5622,19 @@ packages: optional: true dev: true + /ws@8.14.2: + resolution: {integrity: sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + dev: true + /ws@8.8.0: resolution: {integrity: sha512-JDAgSYQ1ksuwqfChJusw1LSJ8BizJ2e/vVu5Lxjq3YvNJNlROv1ui4i+c/kUUrPheBvQl4c5UbERhTwKa6QBJQ==} engines: {node: '>=10.0.0'} @@ -5500,14 +5652,14 @@ packages: resolution: {integrity: sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==} hasBin: true dependencies: - sax: 1.2.4 + sax: 1.3.0 dev: true /xml2js@0.5.0: resolution: {integrity: sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==} engines: {node: '>=4.0.0'} dependencies: - sax: 1.2.4 + sax: 1.3.0 xmlbuilder: 11.0.1 dev: true diff --git a/ts/00_commitinfo_data.ts b/ts/00_commitinfo_data.ts index 8bbb0da..1dd09df 100644 --- a/ts/00_commitinfo_data.ts +++ b/ts/00_commitinfo_data.ts @@ -3,6 +3,6 @@ */ export const commitinfo = { name: '@push.rocks/smartfile', - version: '11.0.2', + version: '11.0.3', description: 'offers smart ways to work with files in nodejs' } diff --git a/ts/classes.smartfile.ts b/ts/classes.smartfile.ts index 46751dc..b53ffba 100644 --- a/ts/classes.smartfile.ts +++ b/ts/classes.smartfile.ts @@ -91,6 +91,12 @@ export class SmartFile extends plugins.smartjson.Smartjson { }); } + public async fromUrl (urlArg: string) { + const response = await plugins.smartrequest.getBinary(urlArg); + const smartfile = await SmartFile.fromBuffer(urlArg, response.body); + return smartfile; + } + // ======== // INSTANCE // ======== diff --git a/ts/fs.ts b/ts/fs.ts index f7eed6c..7c1dc3b 100644 --- a/ts/fs.ts +++ b/ts/fs.ts @@ -392,44 +392,50 @@ export const listFileTree = async ( * Watches for file stability before resolving the promise. */ export const waitForFileToBeReady = (filePathArg: string): Promise => { - return new Promise((resolve, reject) => { - let lastSize = -1; - let stableCheckTimeout: NodeJS.Timeout | null = null; + return new Promise(async (resolve, reject) => { + let lastFileSize = -1; + let fileIsStable = false; - const clearStableCheckTimeout = () => { - if (stableCheckTimeout) { - clearTimeout(stableCheckTimeout); - stableCheckTimeout = null; + const checkFileStability = async () => { + let currentFileSize: number; + const deferred = plugins.smartpromise.defer(); + plugins.fs.stat(filePathArg, (err, stats) => { + if (err) { + fileIsStable = true; + watcher.close(); + reject(err); + return; + } + currentFileSize = stats.size; + deferred.resolve(); + }); + await deferred.promise; + if (currentFileSize === lastFileSize) { + fileIsStable = true; + await plugins.smartdelay.delayFor(100); + resolve(); } + lastFileSize = currentFileSize; }; const watcher = plugins.fs.watch(filePathArg, (eventType, filename) => { if (eventType === 'change') { - plugins.fs.stat(filePathArg, (err, stats) => { - if (err) { - watcher.close(); - clearStableCheckTimeout(); - reject(err); - return; - } - if (stats.size === lastSize) { - clearStableCheckTimeout(); - stableCheckTimeout = setTimeout(() => { - watcher.close(); - resolve(); - }, 5000); // stability duration - } else { - lastSize = stats.size; - } - }); + checkFileStability(); } }); watcher.on('error', (error) => { - clearStableCheckTimeout(); watcher.close(); reject(error); }); + + while (!fileIsStable) { + await checkFileStability(); + if (!fileIsStable) { + await plugins.smartdelay.delayFor(5000); + } + } + watcher.close(); }); };