Compare commits

..

14 Commits

Author SHA1 Message Date
403a0f4fae 9.0.6 2022-03-11 09:46:54 +01:00
91ade8a4d4 fix(updated repo structure): update 2022-03-11 09:46:54 +01:00
1a571bba90 9.0.5 2021-12-22 19:08:54 +01:00
bcb66b2ccf fix(core): update 2021-12-22 19:08:53 +01:00
0000984e4b 9.0.4 2021-12-20 15:11:22 +01:00
b391e54083 fix(core): update 2021-12-20 15:11:21 +01:00
b32c06aef2 9.0.3 2021-12-03 00:24:10 +01:00
27f60f6719 fix(core): update 2021-12-03 00:24:10 +01:00
b2482ab8a5 9.0.2 2021-12-01 10:47:29 +01:00
9c614bd2f3 fix(core): update 2021-12-01 10:47:29 +01:00
b12de7aed4 9.0.1 2021-12-01 01:19:50 +01:00
d6eb54d21c fix(absolute pathing): add functions for easily getting absolute paths 2021-12-01 01:19:49 +01:00
6646f173c6 9.0.0 2021-12-01 01:14:07 +01:00
f20657ff71 BREAKING CHANGE(relative pathing): improved relative pathing 2021-12-01 01:14:07 +01:00
13 changed files with 108 additions and 174 deletions

View File

@ -12,6 +12,9 @@ stages:
- release - release
- metadata - metadata
before_script:
- npm install -g @shipzone/npmci
# ==================== # ====================
# security stage # security stage
# ==================== # ====================
@ -36,6 +39,7 @@ auditProductionDependencies:
- npmci command npm audit --audit-level=high --only=prod --production - npmci command npm audit --audit-level=high --only=prod --production
tags: tags:
- docker - docker
allow_failure: true
auditDevDependencies: auditDevDependencies:
image: registry.gitlab.com/hosttoday/ht-docker-node:npmci image: registry.gitlab.com/hosttoday/ht-docker-node:npmci

24
.vscode/launch.json vendored
View File

@ -2,28 +2,10 @@
"version": "0.2.0", "version": "0.2.0",
"configurations": [ "configurations": [
{ {
"name": "current file", "command": "npm test",
"type": "node", "name": "Run npm test",
"request": "launch", "request": "launch",
"args": [ "type": "node-terminal"
"${relativeFile}"
],
"runtimeArgs": ["-r", "@gitzone/tsrun"],
"cwd": "${workspaceRoot}",
"protocol": "inspector",
"internalConsoleOptions": "openOnSessionStart"
},
{
"name": "test.ts",
"type": "node",
"request": "launch",
"args": [
"test/test.ts"
],
"runtimeArgs": ["-r", "@gitzone/tsrun"],
"cwd": "${workspaceRoot}",
"protocol": "inspector",
"internalConsoleOptions": "openOnSessionStart"
} }
] ]
} }

View File

@ -14,7 +14,7 @@
"githost": "gitlab.com", "githost": "gitlab.com",
"gitscope": "pushrocks", "gitscope": "pushrocks",
"gitrepo": "smartfile", "gitrepo": "smartfile",
"shortDescription": "smart ways to work with files in nodejs", "description": "smart ways to work with files in nodejs",
"npmPackagename": "@pushrocks/smartfile", "npmPackagename": "@pushrocks/smartfile",
"license": "MIT" "license": "MIT"
} }

70
package-lock.json generated
View File

@ -1,14 +1,16 @@
{ {
"name": "@pushrocks/smartfile", "name": "@pushrocks/smartfile",
"version": "8.0.11", "version": "9.0.6",
"lockfileVersion": 2, "lockfileVersion": 2,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "@pushrocks/smartfile", "name": "@pushrocks/smartfile",
"version": "8.0.11", "version": "9.0.6",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@pushrocks/lik": "^5.0.0",
"@pushrocks/smartdelay": "^2.0.13",
"@pushrocks/smartfile-interfaces": "^1.0.7", "@pushrocks/smartfile-interfaces": "^1.0.7",
"@pushrocks/smarthash": "^2.1.10", "@pushrocks/smarthash": "^2.1.10",
"@pushrocks/smartjson": "^4.0.6", "@pushrocks/smartjson": "^4.0.6",
@ -2187,7 +2189,6 @@
"version": "5.0.0", "version": "5.0.0",
"resolved": "https://verdaccio.lossless.one/@pushrocks%2flik/-/lik-5.0.0.tgz", "resolved": "https://verdaccio.lossless.one/@pushrocks%2flik/-/lik-5.0.0.tgz",
"integrity": "sha512-vHgbXXw4LEyZIe+o1b5DkAzo7Kch7QHfwCzJDVdCfihR6aHSN7+T1aSI/mL3A7IiGhvc9ZeGdcvafEIB12rSkQ==", "integrity": "sha512-vHgbXXw4LEyZIe+o1b5DkAzo7Kch7QHfwCzJDVdCfihR6aHSN7+T1aSI/mL3A7IiGhvc9ZeGdcvafEIB12rSkQ==",
"dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@pushrocks/smartdelay": "^2.0.13", "@pushrocks/smartdelay": "^2.0.13",
@ -2262,7 +2263,6 @@
"version": "2.0.13", "version": "2.0.13",
"resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartdelay/-/smartdelay-2.0.13.tgz", "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartdelay/-/smartdelay-2.0.13.tgz",
"integrity": "sha512-s6Wh0BHWMfZ5VYONQwpxOYX1JeC9RKA0O9TxEzfZ6FCw2oNQb2QUPCixT9rsceKwva4+atKRw/RfU+Z7aJDmsA==", "integrity": "sha512-s6Wh0BHWMfZ5VYONQwpxOYX1JeC9RKA0O9TxEzfZ6FCw2oNQb2QUPCixT9rsceKwva4+atKRw/RfU+Z7aJDmsA==",
"dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@pushrocks/smartpromise": "^3.0.6" "@pushrocks/smartpromise": "^3.0.6"
@ -2513,7 +2513,6 @@
"version": "1.0.7", "version": "1.0.7",
"resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartmatch/-/smartmatch-1.0.7.tgz", "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartmatch/-/smartmatch-1.0.7.tgz",
"integrity": "sha512-D+lK5HIKO4Kj1Jm/ycKvy1VzDJ3V6ucHqmf5DMBFdm18BrMj2Zb6M7wN8HUKtkfHvOI7ig85JMuANSEyO7kAPg==", "integrity": "sha512-D+lK5HIKO4Kj1Jm/ycKvy1VzDJ3V6ucHqmf5DMBFdm18BrMj2Zb6M7wN8HUKtkfHvOI7ig85JMuANSEyO7kAPg==",
"dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"matcher": "^3.0.0" "matcher": "^3.0.0"
@ -2627,7 +2626,6 @@
"version": "2.0.19", "version": "2.0.19",
"resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartrx/-/smartrx-2.0.19.tgz", "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartrx/-/smartrx-2.0.19.tgz",
"integrity": "sha512-xKuN2qKpewq4LLwQfGRv6+hG+gFjzoKB6uij3M0NpaPcj/BbO3afnbOv+sczGThf/goMxTTKdQRPXYOp8Rt+Cw==", "integrity": "sha512-xKuN2qKpewq4LLwQfGRv6+hG+gFjzoKB6uij3M0NpaPcj/BbO3afnbOv+sczGThf/goMxTTKdQRPXYOp8Rt+Cw==",
"dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@pushrocks/lik": "^4.0.17", "@pushrocks/lik": "^4.0.17",
@ -2639,7 +2637,6 @@
"version": "4.0.22", "version": "4.0.22",
"resolved": "https://verdaccio.lossless.one/@pushrocks%2flik/-/lik-4.0.22.tgz", "resolved": "https://verdaccio.lossless.one/@pushrocks%2flik/-/lik-4.0.22.tgz",
"integrity": "sha512-dg6Du7nr/SLU80yJw7a0zk2xX9Vc8SCLZaQMmSRBlsnL1/Z7qpWDOtpRC9VlL9vTLenbvwGTvPWMpOKyyNbiiA==", "integrity": "sha512-dg6Du7nr/SLU80yJw7a0zk2xX9Vc8SCLZaQMmSRBlsnL1/Z7qpWDOtpRC9VlL9vTLenbvwGTvPWMpOKyyNbiiA==",
"dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@pushrocks/smartdelay": "^2.0.13", "@pushrocks/smartdelay": "^2.0.13",
@ -2754,7 +2751,6 @@
"version": "3.0.43", "version": "3.0.43",
"resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmarttime/-/smarttime-3.0.43.tgz", "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmarttime/-/smarttime-3.0.43.tgz",
"integrity": "sha512-d+/2G9gkDNlG6bfBNISMTK1bQnOekt6xu4xiDLPG492aFwTaexASjn2+4OKB3oMa9hNONLcDVvhD+Nywwi74Rw==", "integrity": "sha512-d+/2G9gkDNlG6bfBNISMTK1bQnOekt6xu4xiDLPG492aFwTaexASjn2+4OKB3oMa9hNONLcDVvhD+Nywwi74Rw==",
"dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@pushrocks/lik": "^5.0.0", "@pushrocks/lik": "^5.0.0",
@ -4633,7 +4629,6 @@
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://verdaccio.lossless.one/call-bind/-/call-bind-1.0.2.tgz", "resolved": "https://verdaccio.lossless.one/call-bind/-/call-bind-1.0.2.tgz",
"integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
"dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"function-bind": "^1.1.1", "function-bind": "^1.1.1",
@ -5486,7 +5481,6 @@
"version": "4.0.77", "version": "4.0.77",
"resolved": "https://verdaccio.lossless.one/croner/-/croner-4.0.77.tgz", "resolved": "https://verdaccio.lossless.one/croner/-/croner-4.0.77.tgz",
"integrity": "sha512-fq8WXxovsl0HsqY5SMoyc4gU635LAnQzXLHSM/Pq5MSHnlGPj9gzmkIsdeAELsvex9wjhdVoQMk8EmuKxDxGtQ==", "integrity": "sha512-fq8WXxovsl0HsqY5SMoyc4gU635LAnQzXLHSM/Pq5MSHnlGPj9gzmkIsdeAELsvex9wjhdVoQMk8EmuKxDxGtQ==",
"dev": true,
"license": "MIT" "license": "MIT"
}, },
"node_modules/cross-spawn": { "node_modules/cross-spawn": {
@ -6016,7 +6010,6 @@
"version": "1.10.7", "version": "1.10.7",
"resolved": "https://verdaccio.lossless.one/dayjs/-/dayjs-1.10.7.tgz", "resolved": "https://verdaccio.lossless.one/dayjs/-/dayjs-1.10.7.tgz",
"integrity": "sha512-P6twpd70BcPK34K26uJ1KT3wlhpuOAPoMwJzpsIWUxHZ7wpmbdZL/hQqBDfz7hGurYSa5PhzdhDHtt319hL3ig==", "integrity": "sha512-P6twpd70BcPK34K26uJ1KT3wlhpuOAPoMwJzpsIWUxHZ7wpmbdZL/hQqBDfz7hGurYSa5PhzdhDHtt319hL3ig==",
"dev": true,
"license": "MIT" "license": "MIT"
}, },
"node_modules/deasync": { "node_modules/deasync": {
@ -6135,7 +6128,6 @@
"version": "1.1.3", "version": "1.1.3",
"resolved": "https://verdaccio.lossless.one/define-properties/-/define-properties-1.1.3.tgz", "resolved": "https://verdaccio.lossless.one/define-properties/-/define-properties-1.1.3.tgz",
"integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
"dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"object-keys": "^1.0.12" "object-keys": "^1.0.12"
@ -6683,7 +6675,6 @@
"version": "4.0.0", "version": "4.0.0",
"resolved": "https://verdaccio.lossless.one/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", "resolved": "https://verdaccio.lossless.one/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
"integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
"dev": true,
"license": "MIT", "license": "MIT",
"engines": { "engines": {
"node": ">=10" "node": ">=10"
@ -7471,7 +7462,6 @@
"version": "1.1.1", "version": "1.1.1",
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
"integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
"dev": true,
"license": "MIT" "license": "MIT"
}, },
"node_modules/gensync": { "node_modules/gensync": {
@ -7508,7 +7498,6 @@
"version": "1.1.1", "version": "1.1.1",
"resolved": "https://verdaccio.lossless.one/get-intrinsic/-/get-intrinsic-1.1.1.tgz", "resolved": "https://verdaccio.lossless.one/get-intrinsic/-/get-intrinsic-1.1.1.tgz",
"integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==",
"dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"function-bind": "^1.1.1", "function-bind": "^1.1.1",
@ -7733,7 +7722,6 @@
"version": "1.0.3", "version": "1.0.3",
"resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
"integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
"dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"function-bind": "^1.1.1" "function-bind": "^1.1.1"
@ -7796,7 +7784,6 @@
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://verdaccio.lossless.one/has-symbols/-/has-symbols-1.0.2.tgz", "resolved": "https://verdaccio.lossless.one/has-symbols/-/has-symbols-1.0.2.tgz",
"integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==",
"dev": true,
"license": "MIT", "license": "MIT",
"engines": { "engines": {
"node": ">= 0.4" "node": ">= 0.4"
@ -8724,7 +8711,6 @@
"version": "1.3.2", "version": "1.3.2",
"resolved": "https://verdaccio.lossless.one/is-nan/-/is-nan-1.3.2.tgz", "resolved": "https://verdaccio.lossless.one/is-nan/-/is-nan-1.3.2.tgz",
"integrity": "sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==", "integrity": "sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==",
"dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"call-bind": "^1.0.0", "call-bind": "^1.0.0",
@ -9623,7 +9609,6 @@
"version": "3.0.0", "version": "3.0.0",
"resolved": "https://verdaccio.lossless.one/matcher/-/matcher-3.0.0.tgz", "resolved": "https://verdaccio.lossless.one/matcher/-/matcher-3.0.0.tgz",
"integrity": "sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==", "integrity": "sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==",
"dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"escape-string-regexp": "^4.0.0" "escape-string-regexp": "^4.0.0"
@ -10289,7 +10274,6 @@
"version": "1.1.1", "version": "1.1.1",
"resolved": "https://verdaccio.lossless.one/object-keys/-/object-keys-1.1.1.tgz", "resolved": "https://verdaccio.lossless.one/object-keys/-/object-keys-1.1.1.tgz",
"integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
"dev": true,
"license": "MIT", "license": "MIT",
"engines": { "engines": {
"node": ">= 0.4" "node": ">= 0.4"
@ -10947,7 +10931,6 @@
"version": "2.1.0", "version": "2.1.0",
"resolved": "https://verdaccio.lossless.one/parse-ms/-/parse-ms-2.1.0.tgz", "resolved": "https://verdaccio.lossless.one/parse-ms/-/parse-ms-2.1.0.tgz",
"integrity": "sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==", "integrity": "sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==",
"dev": true,
"license": "MIT", "license": "MIT",
"engines": { "engines": {
"node": ">=6" "node": ">=6"
@ -11907,7 +11890,6 @@
"version": "7.0.1", "version": "7.0.1",
"resolved": "https://verdaccio.lossless.one/pretty-ms/-/pretty-ms-7.0.1.tgz", "resolved": "https://verdaccio.lossless.one/pretty-ms/-/pretty-ms-7.0.1.tgz",
"integrity": "sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==", "integrity": "sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==",
"dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"parse-ms": "^2.1.0" "parse-ms": "^2.1.0"
@ -12925,7 +12907,6 @@
"version": "6.6.7", "version": "6.6.7",
"resolved": "https://verdaccio.lossless.one/rxjs/-/rxjs-6.6.7.tgz", "resolved": "https://verdaccio.lossless.one/rxjs/-/rxjs-6.6.7.tgz",
"integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==",
"dev": true,
"license": "Apache-2.0", "license": "Apache-2.0",
"dependencies": { "dependencies": {
"tslib": "^1.9.0" "tslib": "^1.9.0"
@ -14092,7 +14073,6 @@
"version": "3.2.4", "version": "3.2.4",
"resolved": "https://verdaccio.lossless.one/symbol-tree/-/symbol-tree-3.2.4.tgz", "resolved": "https://verdaccio.lossless.one/symbol-tree/-/symbol-tree-3.2.4.tgz",
"integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==",
"dev": true,
"license": "MIT" "license": "MIT"
}, },
"node_modules/systeminformation": { "node_modules/systeminformation": {
@ -14494,7 +14474,6 @@
"version": "1.13.0", "version": "1.13.0",
"resolved": "https://verdaccio.lossless.one/tslib/-/tslib-1.13.0.tgz", "resolved": "https://verdaccio.lossless.one/tslib/-/tslib-1.13.0.tgz",
"integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==", "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==",
"dev": true,
"license": "0BSD" "license": "0BSD"
}, },
"node_modules/tslint": { "node_modules/tslint": {
@ -16963,7 +16942,6 @@
"version": "5.0.0", "version": "5.0.0",
"resolved": "https://verdaccio.lossless.one/@pushrocks%2flik/-/lik-5.0.0.tgz", "resolved": "https://verdaccio.lossless.one/@pushrocks%2flik/-/lik-5.0.0.tgz",
"integrity": "sha512-vHgbXXw4LEyZIe+o1b5DkAzo7Kch7QHfwCzJDVdCfihR6aHSN7+T1aSI/mL3A7IiGhvc9ZeGdcvafEIB12rSkQ==", "integrity": "sha512-vHgbXXw4LEyZIe+o1b5DkAzo7Kch7QHfwCzJDVdCfihR6aHSN7+T1aSI/mL3A7IiGhvc9ZeGdcvafEIB12rSkQ==",
"dev": true,
"requires": { "requires": {
"@pushrocks/smartdelay": "^2.0.13", "@pushrocks/smartdelay": "^2.0.13",
"@pushrocks/smartmatch": "^1.0.7", "@pushrocks/smartmatch": "^1.0.7",
@ -17035,7 +17013,6 @@
"version": "2.0.13", "version": "2.0.13",
"resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartdelay/-/smartdelay-2.0.13.tgz", "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartdelay/-/smartdelay-2.0.13.tgz",
"integrity": "sha512-s6Wh0BHWMfZ5VYONQwpxOYX1JeC9RKA0O9TxEzfZ6FCw2oNQb2QUPCixT9rsceKwva4+atKRw/RfU+Z7aJDmsA==", "integrity": "sha512-s6Wh0BHWMfZ5VYONQwpxOYX1JeC9RKA0O9TxEzfZ6FCw2oNQb2QUPCixT9rsceKwva4+atKRw/RfU+Z7aJDmsA==",
"dev": true,
"requires": { "requires": {
"@pushrocks/smartpromise": "^3.0.6" "@pushrocks/smartpromise": "^3.0.6"
} }
@ -17268,7 +17245,6 @@
"version": "1.0.7", "version": "1.0.7",
"resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartmatch/-/smartmatch-1.0.7.tgz", "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartmatch/-/smartmatch-1.0.7.tgz",
"integrity": "sha512-D+lK5HIKO4Kj1Jm/ycKvy1VzDJ3V6ucHqmf5DMBFdm18BrMj2Zb6M7wN8HUKtkfHvOI7ig85JMuANSEyO7kAPg==", "integrity": "sha512-D+lK5HIKO4Kj1Jm/ycKvy1VzDJ3V6ucHqmf5DMBFdm18BrMj2Zb6M7wN8HUKtkfHvOI7ig85JMuANSEyO7kAPg==",
"dev": true,
"requires": { "requires": {
"matcher": "^3.0.0" "matcher": "^3.0.0"
} }
@ -17372,7 +17348,6 @@
"version": "2.0.19", "version": "2.0.19",
"resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartrx/-/smartrx-2.0.19.tgz", "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartrx/-/smartrx-2.0.19.tgz",
"integrity": "sha512-xKuN2qKpewq4LLwQfGRv6+hG+gFjzoKB6uij3M0NpaPcj/BbO3afnbOv+sczGThf/goMxTTKdQRPXYOp8Rt+Cw==", "integrity": "sha512-xKuN2qKpewq4LLwQfGRv6+hG+gFjzoKB6uij3M0NpaPcj/BbO3afnbOv+sczGThf/goMxTTKdQRPXYOp8Rt+Cw==",
"dev": true,
"requires": { "requires": {
"@pushrocks/lik": "^4.0.17", "@pushrocks/lik": "^4.0.17",
"@pushrocks/smartpromise": "^3.0.6", "@pushrocks/smartpromise": "^3.0.6",
@ -17383,7 +17358,6 @@
"version": "4.0.22", "version": "4.0.22",
"resolved": "https://verdaccio.lossless.one/@pushrocks%2flik/-/lik-4.0.22.tgz", "resolved": "https://verdaccio.lossless.one/@pushrocks%2flik/-/lik-4.0.22.tgz",
"integrity": "sha512-dg6Du7nr/SLU80yJw7a0zk2xX9Vc8SCLZaQMmSRBlsnL1/Z7qpWDOtpRC9VlL9vTLenbvwGTvPWMpOKyyNbiiA==", "integrity": "sha512-dg6Du7nr/SLU80yJw7a0zk2xX9Vc8SCLZaQMmSRBlsnL1/Z7qpWDOtpRC9VlL9vTLenbvwGTvPWMpOKyyNbiiA==",
"dev": true,
"requires": { "requires": {
"@pushrocks/smartdelay": "^2.0.13", "@pushrocks/smartdelay": "^2.0.13",
"@pushrocks/smartmatch": "^1.0.7", "@pushrocks/smartmatch": "^1.0.7",
@ -17495,7 +17469,6 @@
"version": "3.0.43", "version": "3.0.43",
"resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmarttime/-/smarttime-3.0.43.tgz", "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmarttime/-/smarttime-3.0.43.tgz",
"integrity": "sha512-d+/2G9gkDNlG6bfBNISMTK1bQnOekt6xu4xiDLPG492aFwTaexASjn2+4OKB3oMa9hNONLcDVvhD+Nywwi74Rw==", "integrity": "sha512-d+/2G9gkDNlG6bfBNISMTK1bQnOekt6xu4xiDLPG492aFwTaexASjn2+4OKB3oMa9hNONLcDVvhD+Nywwi74Rw==",
"dev": true,
"requires": { "requires": {
"@pushrocks/lik": "^5.0.0", "@pushrocks/lik": "^5.0.0",
"@pushrocks/smartdelay": "^2.0.13", "@pushrocks/smartdelay": "^2.0.13",
@ -18968,7 +18941,6 @@
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://verdaccio.lossless.one/call-bind/-/call-bind-1.0.2.tgz", "resolved": "https://verdaccio.lossless.one/call-bind/-/call-bind-1.0.2.tgz",
"integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
"dev": true,
"requires": { "requires": {
"function-bind": "^1.1.1", "function-bind": "^1.1.1",
"get-intrinsic": "^1.0.2" "get-intrinsic": "^1.0.2"
@ -19628,8 +19600,7 @@
"croner": { "croner": {
"version": "4.0.77", "version": "4.0.77",
"resolved": "https://verdaccio.lossless.one/croner/-/croner-4.0.77.tgz", "resolved": "https://verdaccio.lossless.one/croner/-/croner-4.0.77.tgz",
"integrity": "sha512-fq8WXxovsl0HsqY5SMoyc4gU635LAnQzXLHSM/Pq5MSHnlGPj9gzmkIsdeAELsvex9wjhdVoQMk8EmuKxDxGtQ==", "integrity": "sha512-fq8WXxovsl0HsqY5SMoyc4gU635LAnQzXLHSM/Pq5MSHnlGPj9gzmkIsdeAELsvex9wjhdVoQMk8EmuKxDxGtQ=="
"dev": true
}, },
"cross-spawn": { "cross-spawn": {
"version": "6.0.5", "version": "6.0.5",
@ -20031,8 +20002,7 @@
"dayjs": { "dayjs": {
"version": "1.10.7", "version": "1.10.7",
"resolved": "https://verdaccio.lossless.one/dayjs/-/dayjs-1.10.7.tgz", "resolved": "https://verdaccio.lossless.one/dayjs/-/dayjs-1.10.7.tgz",
"integrity": "sha512-P6twpd70BcPK34K26uJ1KT3wlhpuOAPoMwJzpsIWUxHZ7wpmbdZL/hQqBDfz7hGurYSa5PhzdhDHtt319hL3ig==", "integrity": "sha512-P6twpd70BcPK34K26uJ1KT3wlhpuOAPoMwJzpsIWUxHZ7wpmbdZL/hQqBDfz7hGurYSa5PhzdhDHtt319hL3ig=="
"dev": true
}, },
"deasync": { "deasync": {
"version": "0.1.24", "version": "0.1.24",
@ -20115,7 +20085,6 @@
"version": "1.1.3", "version": "1.1.3",
"resolved": "https://verdaccio.lossless.one/define-properties/-/define-properties-1.1.3.tgz", "resolved": "https://verdaccio.lossless.one/define-properties/-/define-properties-1.1.3.tgz",
"integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
"dev": true,
"requires": { "requires": {
"object-keys": "^1.0.12" "object-keys": "^1.0.12"
} }
@ -20526,8 +20495,7 @@
"escape-string-regexp": { "escape-string-regexp": {
"version": "4.0.0", "version": "4.0.0",
"resolved": "https://verdaccio.lossless.one/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", "resolved": "https://verdaccio.lossless.one/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
"integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA=="
"dev": true
}, },
"escodegen": { "escodegen": {
"version": "1.9.1", "version": "1.9.1",
@ -21105,8 +21073,7 @@
"function-bind": { "function-bind": {
"version": "1.1.1", "version": "1.1.1",
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
"integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
"dev": true
}, },
"gensync": { "gensync": {
"version": "1.0.0-beta.2", "version": "1.0.0-beta.2",
@ -21130,7 +21097,6 @@
"version": "1.1.1", "version": "1.1.1",
"resolved": "https://verdaccio.lossless.one/get-intrinsic/-/get-intrinsic-1.1.1.tgz", "resolved": "https://verdaccio.lossless.one/get-intrinsic/-/get-intrinsic-1.1.1.tgz",
"integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==",
"dev": true,
"requires": { "requires": {
"function-bind": "^1.1.1", "function-bind": "^1.1.1",
"has": "^1.0.3", "has": "^1.0.3",
@ -21299,7 +21265,6 @@
"version": "1.0.3", "version": "1.0.3",
"resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
"integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
"dev": true,
"requires": { "requires": {
"function-bind": "^1.1.1" "function-bind": "^1.1.1"
} }
@ -21342,8 +21307,7 @@
"has-symbols": { "has-symbols": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://verdaccio.lossless.one/has-symbols/-/has-symbols-1.0.2.tgz", "resolved": "https://verdaccio.lossless.one/has-symbols/-/has-symbols-1.0.2.tgz",
"integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw=="
"dev": true
}, },
"has-tostringtag": { "has-tostringtag": {
"version": "1.0.0", "version": "1.0.0",
@ -21989,7 +21953,6 @@
"version": "1.3.2", "version": "1.3.2",
"resolved": "https://verdaccio.lossless.one/is-nan/-/is-nan-1.3.2.tgz", "resolved": "https://verdaccio.lossless.one/is-nan/-/is-nan-1.3.2.tgz",
"integrity": "sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==", "integrity": "sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==",
"dev": true,
"requires": { "requires": {
"call-bind": "^1.0.0", "call-bind": "^1.0.0",
"define-properties": "^1.1.3" "define-properties": "^1.1.3"
@ -22657,7 +22620,6 @@
"version": "3.0.0", "version": "3.0.0",
"resolved": "https://verdaccio.lossless.one/matcher/-/matcher-3.0.0.tgz", "resolved": "https://verdaccio.lossless.one/matcher/-/matcher-3.0.0.tgz",
"integrity": "sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==", "integrity": "sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==",
"dev": true,
"requires": { "requires": {
"escape-string-regexp": "^4.0.0" "escape-string-regexp": "^4.0.0"
} }
@ -23154,8 +23116,7 @@
"object-keys": { "object-keys": {
"version": "1.1.1", "version": "1.1.1",
"resolved": "https://verdaccio.lossless.one/object-keys/-/object-keys-1.1.1.tgz", "resolved": "https://verdaccio.lossless.one/object-keys/-/object-keys-1.1.1.tgz",
"integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA=="
"dev": true
}, },
"object-visit": { "object-visit": {
"version": "1.0.1", "version": "1.0.1",
@ -23662,8 +23623,7 @@
"parse-ms": { "parse-ms": {
"version": "2.1.0", "version": "2.1.0",
"resolved": "https://verdaccio.lossless.one/parse-ms/-/parse-ms-2.1.0.tgz", "resolved": "https://verdaccio.lossless.one/parse-ms/-/parse-ms-2.1.0.tgz",
"integrity": "sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==", "integrity": "sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA=="
"dev": true
}, },
"parse5": { "parse5": {
"version": "5.1.0", "version": "5.1.0",
@ -24384,7 +24344,6 @@
"version": "7.0.1", "version": "7.0.1",
"resolved": "https://verdaccio.lossless.one/pretty-ms/-/pretty-ms-7.0.1.tgz", "resolved": "https://verdaccio.lossless.one/pretty-ms/-/pretty-ms-7.0.1.tgz",
"integrity": "sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==", "integrity": "sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==",
"dev": true,
"requires": { "requires": {
"parse-ms": "^2.1.0" "parse-ms": "^2.1.0"
} }
@ -25102,7 +25061,6 @@
"version": "6.6.7", "version": "6.6.7",
"resolved": "https://verdaccio.lossless.one/rxjs/-/rxjs-6.6.7.tgz", "resolved": "https://verdaccio.lossless.one/rxjs/-/rxjs-6.6.7.tgz",
"integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==",
"dev": true,
"requires": { "requires": {
"tslib": "^1.9.0" "tslib": "^1.9.0"
} }
@ -26020,8 +25978,7 @@
"symbol-tree": { "symbol-tree": {
"version": "3.2.4", "version": "3.2.4",
"resolved": "https://verdaccio.lossless.one/symbol-tree/-/symbol-tree-3.2.4.tgz", "resolved": "https://verdaccio.lossless.one/symbol-tree/-/symbol-tree-3.2.4.tgz",
"integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw=="
"dev": true
}, },
"systeminformation": { "systeminformation": {
"version": "5.9.15", "version": "5.9.15",
@ -26298,8 +26255,7 @@
"tslib": { "tslib": {
"version": "1.13.0", "version": "1.13.0",
"resolved": "https://verdaccio.lossless.one/tslib/-/tslib-1.13.0.tgz", "resolved": "https://verdaccio.lossless.one/tslib/-/tslib-1.13.0.tgz",
"integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==", "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q=="
"dev": true
}, },
"tslint": { "tslint": {
"version": "6.1.3", "version": "6.1.3",

View File

@ -1,7 +1,7 @@
{ {
"name": "@pushrocks/smartfile", "name": "@pushrocks/smartfile",
"private": false, "private": false,
"version": "8.0.11", "version": "9.0.6",
"description": "offers smart ways to work with files in nodejs", "description": "offers smart ways to work with files in nodejs",
"main": "dist_ts/index.js", "main": "dist_ts/index.js",
"typings": "dist_ts/index.d.ts", "typings": "dist_ts/index.d.ts",
@ -24,6 +24,8 @@
}, },
"homepage": "https://gitlab.com/pushrocks/smartfile", "homepage": "https://gitlab.com/pushrocks/smartfile",
"dependencies": { "dependencies": {
"@pushrocks/lik": "^5.0.0",
"@pushrocks/smartdelay": "^2.0.13",
"@pushrocks/smartfile-interfaces": "^1.0.7", "@pushrocks/smartfile-interfaces": "^1.0.7",
"@pushrocks/smarthash": "^2.1.10", "@pushrocks/smarthash": "^2.1.10",
"@pushrocks/smartjson": "^4.0.6", "@pushrocks/smartjson": "^4.0.6",

View File

@ -169,21 +169,6 @@ tap.test(
} }
); );
tap.test('.remote.toString() -> should load a remote file to a variable', async () => {
const responseString = await smartfile.remote.toString(
'https://raw.githubusercontent.com/pushrocks/smartfile/master/test/testassets/mytest.txt'
);
expect(responseString).to.equal('Some TestString &&%$');
});
tap.test('.remote.toString() -> should reject a Promise when the link is false', async (tools) => {
await smartfile.remote.toString('https://push.rocks/doesnotexist.txt').catch((err) => {
return expect(err.message).to.equal(
'could not get remote file from https://push.rocks/doesnotexist.txt'
);
});
});
// --------------------------- // ---------------------------
// smartfile.Smartfile // smartfile.Smartfile
// --------------------------- // ---------------------------
@ -228,4 +213,8 @@ tap.test('should create, store and retrieve valid smartfiles', async () => {
expect(retrievedString).to.equal(fileString); expect(retrievedString).to.equal(fileString);
}); });
tap.test('should wait for file to be ready', async () => {
await smartfile.fs.waitForFileToBeReady('./test/testassets/mytest.json');
});
tap.start(); tap.start();

View File

@ -12,4 +12,4 @@ tap.test('should write to a directory', async () => {
virtualDir.saveToDisk('./test/testassets/test'); virtualDir.saveToDisk('./test/testassets/test');
}); });
tap.start(); tap.start();

View File

@ -1,13 +1,11 @@
import * as plugins from './smartfile.plugins'; import * as plugins from './smartfile.plugins';
import * as SmartfileFs from './smartfile.fs'; import * as fsMod from './smartfile.fs';
import * as SmartfileInterpreter from './smartfile.interpreter'; import * as interpreterMod from './smartfile.interpreter';
import * as SmartfileMemory from './smartfile.memory'; import * as memoryMod from './smartfile.memory';
import * as SmartfileRemote from './smartfile.remote';
export { Smartfile, ISmartfileConstructorOptions } from './smartfile.classes.smartfile'; export { Smartfile, ISmartfileConstructorOptions } from './smartfile.classes.smartfile';
export { VirtualDirectory } from './smartfile.classes.virtualdirectory'; export { VirtualDirectory } from './smartfile.classes.virtualdirectory';
export let fs = SmartfileFs; export let fs = fsMod;
export let interpreter = SmartfileInterpreter; export let interpreter = interpreterMod;
export let memory = SmartfileMemory; export let memory = memoryMod;
export let remote = SmartfileRemote;

View File

@ -3,9 +3,9 @@ import * as fs from './smartfile.fs';
import * as memory from './smartfile.memory'; import * as memory from './smartfile.memory';
export interface ISmartfileConstructorOptions { export interface ISmartfileConstructorOptions {
path?: string; path: string;
contentBuffer?: Buffer; contentBuffer: Buffer;
base?: string; base: string;
} }
/** /**
@ -21,20 +21,26 @@ export class Smartfile extends plugins.smartjson.Smartjson {
* creates a Smartfile from a filePath * creates a Smartfile from a filePath
* @param filePath * @param filePath
*/ */
public static async fromFilePath(filePath: string) { public static async fromFilePath(filePath: string, baseArg: string = process.cwd()) {
filePath = plugins.path.resolve(filePath); filePath = plugins.path.resolve(filePath);
const fileBuffer = fs.toBufferSync(filePath); const fileBuffer = fs.toBufferSync(filePath);
const smartfile = new Smartfile({ const smartfile = new Smartfile({
path: filePath,
contentBuffer: fileBuffer, contentBuffer: fileBuffer,
base: baseArg,
path: plugins.path.relative(baseArg, filePath),
}); });
return smartfile; return smartfile;
} }
public static async fromBuffer(filePath: string, contentBufferArg: Buffer) { public static async fromBuffer(
filePath: string,
contentBufferArg: Buffer,
baseArg: string = process.cwd()
) {
const smartfile = new Smartfile({ const smartfile = new Smartfile({
contentBuffer: contentBufferArg, contentBuffer: contentBufferArg,
path: filePath, base: baseArg,
path: plugins.path.relative(baseArg, filePath),
}); });
return smartfile; return smartfile;
@ -43,11 +49,13 @@ export class Smartfile extends plugins.smartjson.Smartjson {
public static async fromString( public static async fromString(
filePath: string, filePath: string,
contentStringArg: string, contentStringArg: string,
encodingArg: 'utf8' | 'binary' encodingArg: 'utf8' | 'binary',
baseArg = process.cwd()
) { ) {
const smartfile = new Smartfile({ const smartfile = new Smartfile({
contentBuffer: Buffer.from(contentStringArg, encodingArg), contentBuffer: Buffer.from(contentStringArg, encodingArg),
path: filePath, base: baseArg,
path: plugins.path.relative(baseArg, filePath),
}); });
return smartfile; return smartfile;
@ -61,7 +69,7 @@ export class Smartfile extends plugins.smartjson.Smartjson {
// INSTANCE // INSTANCE
// ======== // ========
/** /**
* the full path of the file on disk * the relative path of the file
*/ */
@plugins.smartjson.foldDec() @plugins.smartjson.foldDec()
public path: string; public path: string;
@ -69,8 +77,16 @@ export class Smartfile extends plugins.smartjson.Smartjson {
/** /**
* a parsed path * a parsed path
*/ */
@plugins.smartjson.foldDec() public get parsedPath(): plugins.path.ParsedPath {
public parsedPath: plugins.path.ParsedPath; return plugins.path.parse(this.path);
}
public get absolutePath() {
return plugins.path.join(this.base, this.path);
}
public get absoluteParsedPath() {
return plugins.path.parse(this.absolutePath);
}
/** /**
* the content of the file as Buffer * the content of the file as Buffer
@ -104,7 +120,6 @@ export class Smartfile extends plugins.smartjson.Smartjson {
console.log('created empty Smartfile?'); console.log('created empty Smartfile?');
} }
this.path = optionsArg.path; this.path = optionsArg.path;
this.parsedPath = plugins.path.parse(this.path);
this.base = optionsArg.base; this.base = optionsArg.base;
} }
@ -122,11 +137,12 @@ export class Smartfile extends plugins.smartjson.Smartjson {
* - no argument write to exactly where the file was picked up * - no argument write to exactly where the file was picked up
*/ */
public async write() { public async write() {
await memory.toFs(this.contentBuffer, this.path); await memory.toFs(this.contentBuffer, plugins.path.join(this.base, this.path));
} }
/** /**
* writes the file to path given as argument * writes the file to path given as argument
* note: if the path is not absolute, takes process.cwd() as base
* @param filePathArg * @param filePathArg
*/ */
public async writeToDiskAtPath(filePathArg: string) { public async writeToDiskAtPath(filePathArg: string) {
@ -152,14 +168,14 @@ export class Smartfile extends plugins.smartjson.Smartjson {
* read file from disk * read file from disk
*/ */
public async read() { public async read() {
this.contentBuffer = await fs.toBuffer(this.path); this.contentBuffer = await fs.toBuffer(plugins.path.join(this.base, this.path));
} }
/** /**
* deletes the file from disk at its original location * deletes the file from disk at its original location
*/ */
public async delete() { public async delete() {
await fs.remove(this.path); await fs.remove(plugins.path.join(this.base, this.path));
} }
// ----------------------------------------------- // -----------------------------------------------
@ -186,7 +202,7 @@ export class Smartfile extends plugins.smartjson.Smartjson {
* return relative path of file * return relative path of file
*/ */
public get relative(): string { public get relative(): string {
return plugins.path.relative(this.base, this.path); return this.path;
} }
/** /**

View File

@ -42,7 +42,7 @@ export class VirtualDirectory {
public async toVirtualDirTransferableObject(): Promise<plugins.smartfileInterfaces.VirtualDirTransferableObject> { public async toVirtualDirTransferableObject(): Promise<plugins.smartfileInterfaces.VirtualDirTransferableObject> {
return { return {
files: this.smartfileArray.map(smartfileArg => smartfileArg.foldToJson()) files: this.smartfileArray.map((smartfileArg) => smartfileArg.foldToJson()),
}; };
} }

View File

@ -373,3 +373,29 @@ export const listFileTree = async (
return fileList; return fileList;
}; };
/**
* checks wether a file is ready for processing
*/
export const waitForFileToBeReady = async (filePathArg: string): Promise<void> => {
if (!plugins.path.isAbsolute(filePathArg)) {
filePathArg = plugins.path.resolve(filePathArg);
}
const limitedArray = new plugins.lik.LimitedArray<number>(3);
let fileReady = false;
while (!fileReady) {
const stats = await plugins.fsExtra.stat(filePathArg);
limitedArray.addOne(stats.size);
if (
limitedArray.array.length < 3 ||
!(
limitedArray.array[0] === limitedArray.array[1] &&
limitedArray.array[1] === limitedArray.array[2]
)
) {
await plugins.smartdelay.delayFor(5000);
} else {
fileReady = true;
}
}
};

View File

@ -5,7 +5,9 @@ import * as path from 'path';
export { fs, path }; export { fs, path };
// @pushrocks scope // @pushrocks scope
import * as lik from '@pushrocks/lik';
import * as smartfileInterfaces from '@pushrocks/smartfile-interfaces'; import * as smartfileInterfaces from '@pushrocks/smartfile-interfaces';
import * as smartdelay from '@pushrocks/smartdelay';
import * as smarthash from '@pushrocks/smarthash'; import * as smarthash from '@pushrocks/smarthash';
import * as smartjson from '@pushrocks/smartjson'; import * as smartjson from '@pushrocks/smartjson';
import * as smartmime from '@pushrocks/smartmime'; import * as smartmime from '@pushrocks/smartmime';
@ -13,7 +15,17 @@ import * as smartpath from '@pushrocks/smartpath';
import * as smartpromise from '@pushrocks/smartpromise'; import * as smartpromise from '@pushrocks/smartpromise';
import * as smartrequest from '@pushrocks/smartrequest'; import * as smartrequest from '@pushrocks/smartrequest';
export { smartfileInterfaces, smarthash, smartjson, smartmime, smartpath, smartpromise, smartrequest }; export {
lik,
smartfileInterfaces,
smartdelay,
smarthash,
smartjson,
smartmime,
smartpath,
smartpromise,
smartrequest,
};
// third party scope // third party scope
import * as fsExtra from 'fs-extra'; import * as fsExtra from 'fs-extra';

View File

@ -1,51 +0,0 @@
import plugins = require('./smartfile.plugins');
import SmartfileInterpreter = require('./smartfile.interpreter');
/* export let toFs = function (from: string, toPath: string) {
let done = plugins.q.defer()
let stream = plugins.smartrequest(from).pipe(plugins.fsExtra.createWriteStream(toPath))
stream.on('finish', function () {
done.resolve(toPath)
})
return done.promise
} */
/**
*
* @param fromArg
* @returns {any}
*/
export let toObject = (fromArg: string) => {
const done = plugins.smartpromise.defer();
plugins.smartrequest
.request(fromArg, {
method: 'get',
})
.then((res: any) => {
if (res.statusCode === 200) {
done.resolve(res.body);
} else {
console.log('could not get remote file from ' + fromArg);
done.reject(new Error('could not get remote file from ' + fromArg));
}
});
return done.promise;
};
/**
*
* @param fromArg
* @returns {any}
*/
export let toString = (fromArg: string): Promise<string> => {
const done = plugins.smartpromise.defer<string>();
plugins.smartrequest.getBinary(fromArg).then((res: any) => {
if (res.statusCode === 200) {
const encoding = plugins.smartmime.getEncoding(fromArg);
done.resolve(res.body.toString(encoding));
} else {
done.reject(new Error('could not get remote file from ' + fromArg));
}
});
return done.promise;
};