aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--package-lock.json354
-rw-r--r--package.json22
-rw-r--r--src/internal-server/app/Controllers/Http/ServiceController.js2
-rw-r--r--src/internal-server/app/Controllers/Http/UserController.js2
-rw-r--r--src/internal-server/app/Controllers/Http/WorkspaceController.js59
-rw-r--r--src/webview/notifications.js20
-rw-r--r--tsconfig.json2
-rw-r--r--uidev/src/stories/input.stories.tsx66
-rw-r--r--uidev/src/stories/select.stories.tsx31
-rw-r--r--uidev/src/stories/textarea.stories.tsx25
-rw-r--r--uidev/src/stories/toggle.stories.tsx46
11 files changed, 325 insertions, 304 deletions
diff --git a/package-lock.json b/package-lock.json
index 9fd39c234..31652cb82 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -57,6 +57,13 @@
57 "ms": "^2.1.1", 57 "ms": "^2.1.1",
58 "resetable": "^1.0.3", 58 "resetable": "^1.0.3",
59 "uuid": "^3.3.2" 59 "uuid": "^3.3.2"
60 },
61 "dependencies": {
62 "uuid": {
63 "version": "3.4.0",
64 "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
65 "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A=="
66 }
60 } 67 }
61 }, 68 },
62 "@adonisjs/bodyparser": { 69 "@adonisjs/bodyparser": {
@@ -243,6 +250,11 @@
243 "jsonfile": "^4.0.0", 250 "jsonfile": "^4.0.0",
244 "universalify": "^0.1.0" 251 "universalify": "^0.1.0"
245 } 252 }
253 },
254 "uuid": {
255 "version": "3.4.0",
256 "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
257 "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A=="
246 } 258 }
247 } 259 }
248 }, 260 },
@@ -257,6 +269,13 @@
257 "node-csp": "^1.0.1", 269 "node-csp": "^1.0.1",
258 "node-guard": "^1.0.0", 270 "node-guard": "^1.0.0",
259 "uuid": "^3.3.2" 271 "uuid": "^3.3.2"
272 },
273 "dependencies": {
274 "uuid": {
275 "version": "3.4.0",
276 "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
277 "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A=="
278 }
260 } 279 }
261 }, 280 },
262 "@adonisjs/validator": { 281 "@adonisjs/validator": {
@@ -7009,9 +7028,9 @@
7009 } 7028 }
7010 }, 7029 },
7011 "@types/uuid": { 7030 "@types/uuid": {
7012 "version": "3.4.9", 7031 "version": "8.3.1",
7013 "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-3.4.9.tgz", 7032 "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.1.tgz",
7014 "integrity": "sha512-XDwyIlt/47l2kWLTzw/mtrpLdB+GPSskR2n/PIcPn+VYhVO77rGhRncIR5GPU0KRzXuqkDO+J5qqrG0Y8P6jzQ==", 7033 "integrity": "sha512-Y2mHTRAbqfFkpjldbkHGY8JIzRN6XqYRliG8/24FcHm2D2PwW24fl5xMRTVGdrb7iMrwCaIEbLWerGIkXuFWVg==",
7015 "dev": true 7034 "dev": true
7016 }, 7035 },
7017 "@types/validator": { 7036 "@types/validator": {
@@ -7094,13 +7113,13 @@
7094 "dev": true 7113 "dev": true
7095 }, 7114 },
7096 "@typescript-eslint/eslint-plugin": { 7115 "@typescript-eslint/eslint-plugin": {
7097 "version": "4.30.0", 7116 "version": "4.31.2",
7098 "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.30.0.tgz", 7117 "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.31.2.tgz",
7099 "integrity": "sha512-NgAnqk55RQ/SD+tZFD9aPwNSeHmDHHe5rtUyhIq0ZeCWZEvo4DK9rYz7v9HDuQZFvn320Ot+AikaCKMFKLlD0g==", 7118 "integrity": "sha512-w63SCQ4bIwWN/+3FxzpnWrDjQRXVEGiTt9tJTRptRXeFvdZc/wLiz3FQUwNQ2CVoRGI6KUWMNUj/pk63noUfcA==",
7100 "dev": true, 7119 "dev": true,
7101 "requires": { 7120 "requires": {
7102 "@typescript-eslint/experimental-utils": "4.30.0", 7121 "@typescript-eslint/experimental-utils": "4.31.2",
7103 "@typescript-eslint/scope-manager": "4.30.0", 7122 "@typescript-eslint/scope-manager": "4.31.2",
7104 "debug": "^4.3.1", 7123 "debug": "^4.3.1",
7105 "functional-red-black-tree": "^1.0.1", 7124 "functional-red-black-tree": "^1.0.1",
7106 "regexpp": "^3.1.0", 7125 "regexpp": "^3.1.0",
@@ -7109,43 +7128,43 @@
7109 }, 7128 },
7110 "dependencies": { 7129 "dependencies": {
7111 "@typescript-eslint/experimental-utils": { 7130 "@typescript-eslint/experimental-utils": {
7112 "version": "4.30.0", 7131 "version": "4.31.2",
7113 "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.30.0.tgz", 7132 "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.31.2.tgz",
7114 "integrity": "sha512-K8RNIX9GnBsv5v4TjtwkKtqMSzYpjqAQg/oSphtxf3xxdt6T0owqnpojztjjTcatSteH3hLj3t/kklKx87NPqw==", 7133 "integrity": "sha512-3tm2T4nyA970yQ6R3JZV9l0yilE2FedYg8dcXrTar34zC9r6JB7WyBQbpIVongKPlhEMjhQ01qkwrzWy38Bk1Q==",
7115 "dev": true, 7134 "dev": true,
7116 "requires": { 7135 "requires": {
7117 "@types/json-schema": "^7.0.7", 7136 "@types/json-schema": "^7.0.7",
7118 "@typescript-eslint/scope-manager": "4.30.0", 7137 "@typescript-eslint/scope-manager": "4.31.2",
7119 "@typescript-eslint/types": "4.30.0", 7138 "@typescript-eslint/types": "4.31.2",
7120 "@typescript-eslint/typescript-estree": "4.30.0", 7139 "@typescript-eslint/typescript-estree": "4.31.2",
7121 "eslint-scope": "^5.1.1", 7140 "eslint-scope": "^5.1.1",
7122 "eslint-utils": "^3.0.0" 7141 "eslint-utils": "^3.0.0"
7123 } 7142 }
7124 }, 7143 },
7125 "@typescript-eslint/scope-manager": { 7144 "@typescript-eslint/scope-manager": {
7126 "version": "4.30.0", 7145 "version": "4.31.2",
7127 "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.30.0.tgz", 7146 "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.31.2.tgz",
7128 "integrity": "sha512-VJ/jAXovxNh7rIXCQbYhkyV2Y3Ac/0cVHP/FruTJSAUUm4Oacmn/nkN5zfWmWFEanN4ggP0vJSHOeajtHq3f8A==", 7147 "integrity": "sha512-2JGwudpFoR/3Czq6mPpE8zBPYdHWFGL6lUNIGolbKQeSNv4EAiHaR5GVDQaLA0FwgcdcMtRk+SBJbFGL7+La5w==",
7129 "dev": true, 7148 "dev": true,
7130 "requires": { 7149 "requires": {
7131 "@typescript-eslint/types": "4.30.0", 7150 "@typescript-eslint/types": "4.31.2",
7132 "@typescript-eslint/visitor-keys": "4.30.0" 7151 "@typescript-eslint/visitor-keys": "4.31.2"
7133 } 7152 }
7134 }, 7153 },
7135 "@typescript-eslint/types": { 7154 "@typescript-eslint/types": {
7136 "version": "4.30.0", 7155 "version": "4.31.2",
7137 "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.30.0.tgz", 7156 "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.31.2.tgz",
7138 "integrity": "sha512-YKldqbNU9K4WpTNwBqtAerQKLLW/X2A/j4yw92e3ZJYLx+BpKLeheyzoPfzIXHfM8BXfoleTdiYwpsvVPvHrDw==", 7157 "integrity": "sha512-kWiTTBCTKEdBGrZKwFvOlGNcAsKGJSBc8xLvSjSppFO88AqGxGNYtF36EuEYG6XZ9vT0xX8RNiHbQUKglbSi1w==",
7139 "dev": true 7158 "dev": true
7140 }, 7159 },
7141 "@typescript-eslint/typescript-estree": { 7160 "@typescript-eslint/typescript-estree": {
7142 "version": "4.30.0", 7161 "version": "4.31.2",
7143 "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.30.0.tgz", 7162 "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.31.2.tgz",
7144 "integrity": "sha512-6WN7UFYvykr/U0Qgy4kz48iGPWILvYL34xXJxvDQeiRE018B7POspNRVtAZscWntEPZpFCx4hcz/XBT+erenfg==", 7163 "integrity": "sha512-ieBq8U9at6PvaC7/Z6oe8D3czeW5d//Fo1xkF/s9394VR0bg/UaMYPdARiWyKX+lLEjY3w/FNZJxitMsiWv+wA==",
7145 "dev": true, 7164 "dev": true,
7146 "requires": { 7165 "requires": {
7147 "@typescript-eslint/types": "4.30.0", 7166 "@typescript-eslint/types": "4.31.2",
7148 "@typescript-eslint/visitor-keys": "4.30.0", 7167 "@typescript-eslint/visitor-keys": "4.31.2",
7149 "debug": "^4.3.1", 7168 "debug": "^4.3.1",
7150 "globby": "^11.0.3", 7169 "globby": "^11.0.3",
7151 "is-glob": "^4.0.1", 7170 "is-glob": "^4.0.1",
@@ -7154,12 +7173,12 @@
7154 } 7173 }
7155 }, 7174 },
7156 "@typescript-eslint/visitor-keys": { 7175 "@typescript-eslint/visitor-keys": {
7157 "version": "4.30.0", 7176 "version": "4.31.2",
7158 "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.30.0.tgz", 7177 "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.31.2.tgz",
7159 "integrity": "sha512-pNaaxDt/Ol/+JZwzP7MqWc8PJQTUhZwoee/PVlQ+iYoYhagccvoHnC9e4l+C/krQYYkENxznhVSDwClIbZVxRw==", 7178 "integrity": "sha512-PrBId7EQq2Nibns7dd/ch6S6/M4/iwLM9McbgeEbCXfxdwRUNxJ4UNreJ6Gh3fI2GNKNrWnQxKL7oCPmngKBug==",
7160 "dev": true, 7179 "dev": true,
7161 "requires": { 7180 "requires": {
7162 "@typescript-eslint/types": "4.30.0", 7181 "@typescript-eslint/types": "4.31.2",
7163 "eslint-visitor-keys": "^2.0.0" 7182 "eslint-visitor-keys": "^2.0.0"
7164 } 7183 }
7165 }, 7184 },
@@ -7189,41 +7208,41 @@
7189 } 7208 }
7190 }, 7209 },
7191 "@typescript-eslint/parser": { 7210 "@typescript-eslint/parser": {
7192 "version": "4.29.1", 7211 "version": "4.31.2",
7193 "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.29.1.tgz", 7212 "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.31.2.tgz",
7194 "integrity": "sha512-3fL5iN20hzX3Q4OkG7QEPFjZV2qsVGiDhEwwh+EkmE/w7oteiOvUNzmpu5eSwGJX/anCryONltJ3WDmAzAoCMg==", 7213 "integrity": "sha512-EcdO0E7M/sv23S/rLvenHkb58l3XhuSZzKf6DBvLgHqOYdL6YFMYVtreGFWirxaU2mS1GYDby3Lyxco7X5+Vjw==",
7195 "dev": true, 7214 "dev": true,
7196 "requires": { 7215 "requires": {
7197 "@typescript-eslint/scope-manager": "4.29.1", 7216 "@typescript-eslint/scope-manager": "4.31.2",
7198 "@typescript-eslint/types": "4.29.1", 7217 "@typescript-eslint/types": "4.31.2",
7199 "@typescript-eslint/typescript-estree": "4.29.1", 7218 "@typescript-eslint/typescript-estree": "4.31.2",
7200 "debug": "^4.3.1" 7219 "debug": "^4.3.1"
7201 }, 7220 },
7202 "dependencies": { 7221 "dependencies": {
7203 "@typescript-eslint/scope-manager": { 7222 "@typescript-eslint/scope-manager": {
7204 "version": "4.29.1", 7223 "version": "4.31.2",
7205 "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.29.1.tgz", 7224 "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.31.2.tgz",
7206 "integrity": "sha512-Hzv/uZOa9zrD/W5mftZa54Jd5Fed3tL6b4HeaOpwVSabJK8CJ+2MkDasnX/XK4rqP5ZTWngK1ZDeCi6EnxPQ7A==", 7225 "integrity": "sha512-2JGwudpFoR/3Czq6mPpE8zBPYdHWFGL6lUNIGolbKQeSNv4EAiHaR5GVDQaLA0FwgcdcMtRk+SBJbFGL7+La5w==",
7207 "dev": true, 7226 "dev": true,
7208 "requires": { 7227 "requires": {
7209 "@typescript-eslint/types": "4.29.1", 7228 "@typescript-eslint/types": "4.31.2",
7210 "@typescript-eslint/visitor-keys": "4.29.1" 7229 "@typescript-eslint/visitor-keys": "4.31.2"
7211 } 7230 }
7212 }, 7231 },
7213 "@typescript-eslint/types": { 7232 "@typescript-eslint/types": {
7214 "version": "4.29.1", 7233 "version": "4.31.2",
7215 "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.29.1.tgz", 7234 "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.31.2.tgz",
7216 "integrity": "sha512-Jj2yu78IRfw4nlaLtKjVaGaxh/6FhofmQ/j8v3NXmAiKafbIqtAPnKYrf0sbGjKdj0hS316J8WhnGnErbJ4RCA==", 7235 "integrity": "sha512-kWiTTBCTKEdBGrZKwFvOlGNcAsKGJSBc8xLvSjSppFO88AqGxGNYtF36EuEYG6XZ9vT0xX8RNiHbQUKglbSi1w==",
7217 "dev": true 7236 "dev": true
7218 }, 7237 },
7219 "@typescript-eslint/typescript-estree": { 7238 "@typescript-eslint/typescript-estree": {
7220 "version": "4.29.1", 7239 "version": "4.31.2",
7221 "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.29.1.tgz", 7240 "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.31.2.tgz",
7222 "integrity": "sha512-lIkkrR9E4lwZkzPiRDNq0xdC3f2iVCUjw/7WPJ4S2Sl6C3nRWkeE1YXCQ0+KsiaQRbpY16jNaokdWnm9aUIsfw==", 7241 "integrity": "sha512-ieBq8U9at6PvaC7/Z6oe8D3czeW5d//Fo1xkF/s9394VR0bg/UaMYPdARiWyKX+lLEjY3w/FNZJxitMsiWv+wA==",
7223 "dev": true, 7242 "dev": true,
7224 "requires": { 7243 "requires": {
7225 "@typescript-eslint/types": "4.29.1", 7244 "@typescript-eslint/types": "4.31.2",
7226 "@typescript-eslint/visitor-keys": "4.29.1", 7245 "@typescript-eslint/visitor-keys": "4.31.2",
7227 "debug": "^4.3.1", 7246 "debug": "^4.3.1",
7228 "globby": "^11.0.3", 7247 "globby": "^11.0.3",
7229 "is-glob": "^4.0.1", 7248 "is-glob": "^4.0.1",
@@ -7232,12 +7251,12 @@
7232 } 7251 }
7233 }, 7252 },
7234 "@typescript-eslint/visitor-keys": { 7253 "@typescript-eslint/visitor-keys": {
7235 "version": "4.29.1", 7254 "version": "4.31.2",
7236 "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.29.1.tgz", 7255 "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.31.2.tgz",
7237 "integrity": "sha512-zLqtjMoXvgdZY/PG6gqA73V8BjqPs4af1v2kiiETBObp+uC6gRYnJLmJHxC0QyUrrHDLJPIWNYxoBV3wbcRlag==", 7256 "integrity": "sha512-PrBId7EQq2Nibns7dd/ch6S6/M4/iwLM9McbgeEbCXfxdwRUNxJ4UNreJ6Gh3fI2GNKNrWnQxKL7oCPmngKBug==",
7238 "dev": true, 7257 "dev": true,
7239 "requires": { 7258 "requires": {
7240 "@typescript-eslint/types": "4.29.1", 7259 "@typescript-eslint/types": "4.31.2",
7241 "eslint-visitor-keys": "^2.0.0" 7260 "eslint-visitor-keys": "^2.0.0"
7242 } 7261 }
7243 }, 7262 },
@@ -12100,24 +12119,6 @@
12100 "uid-safe": "2.1.5" 12119 "uid-safe": "2.1.5"
12101 } 12120 }
12102 }, 12121 },
12103 "css": {
12104 "version": "2.2.4",
12105 "resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz",
12106 "integrity": "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==",
12107 "requires": {
12108 "inherits": "^2.0.3",
12109 "source-map": "^0.6.1",
12110 "source-map-resolve": "^0.5.2",
12111 "urix": "^0.1.0"
12112 },
12113 "dependencies": {
12114 "source-map": {
12115 "version": "0.6.1",
12116 "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
12117 "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
12118 }
12119 }
12120 },
12121 "css-select": { 12122 "css-select": {
12122 "version": "4.1.3", 12123 "version": "4.1.3",
12123 "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.1.3.tgz", 12124 "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.1.3.tgz",
@@ -14132,15 +14133,10 @@
14132 } 14133 }
14133 }, 14134 },
14134 "eslint-config-airbnb-typescript": { 14135 "eslint-config-airbnb-typescript": {
14135 "version": "12.3.1", 14136 "version": "14.0.0",
14136 "resolved": "https://registry.npmjs.org/eslint-config-airbnb-typescript/-/eslint-config-airbnb-typescript-12.3.1.tgz", 14137 "resolved": "https://registry.npmjs.org/eslint-config-airbnb-typescript/-/eslint-config-airbnb-typescript-14.0.0.tgz",
14137 "integrity": "sha512-ql/Pe6/hppYuRp4m3iPaHJqkBB7dgeEmGPQ6X0UNmrQOfTF+dXw29/ZjU2kQ6RDoLxaxOA+Xqv07Vbef6oVTWw==", 14138 "integrity": "sha512-d2Nit2ByZARGRYK6tgSNl3nnmGZPyvsgbsKFcmm+nAhvT8VjVpifG5jI4tzObUUPb0sWw0E1oO/0pSpBD/pIuQ==",
14138 "dev": true, 14139 "dev": true
14139 "requires": {
14140 "@typescript-eslint/parser": "^4.4.1",
14141 "eslint-config-airbnb": "^18.2.0",
14142 "eslint-config-airbnb-base": "^14.2.0"
14143 }
14144 }, 14140 },
14145 "eslint-config-prettier": { 14141 "eslint-config-prettier": {
14146 "version": "8.3.0", 14142 "version": "8.3.0",
@@ -14428,9 +14424,9 @@
14428 } 14424 }
14429 }, 14425 },
14430 "eslint-plugin-prettier": { 14426 "eslint-plugin-prettier": {
14431 "version": "3.4.0", 14427 "version": "4.0.0",
14432 "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.4.0.tgz", 14428 "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.0.0.tgz",
14433 "integrity": "sha512-UDK6rJT6INSfcOo545jiaOwB701uAIt2/dR7WnFQoGCVl1/EMqdANBmwUaqqQ45aXprsTGzSa39LI1PyuRBxxw==", 14429 "integrity": "sha512-98MqmCJ7vJodoQK359bqQWaxOE0CS8paAz/GgjaZLyex4TTk3g9HugoO89EqWCrFiOqn9EVvcoo7gZzONCWVwQ==",
14434 "dev": true, 14430 "dev": true,
14435 "requires": { 14431 "requires": {
14436 "prettier-linter-helpers": "^1.0.0" 14432 "prettier-linter-helpers": "^1.0.0"
@@ -20215,6 +20211,12 @@
20215 "punycode": "^2.1.1", 20211 "punycode": "^2.1.1",
20216 "universalify": "^0.1.2" 20212 "universalify": "^0.1.2"
20217 } 20213 }
20214 },
20215 "ws": {
20216 "version": "7.5.5",
20217 "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.5.tgz",
20218 "integrity": "sha512-BAkMFcAzl8as1G/hArkxOxq3G7pjUqQ3gzYbLL0/5zNkph70e+lCoxBGnm6AW1+/aiNeV4fnKqZ8m4GZewmH2w==",
20219 "dev": true
20218 } 20220 }
20219 } 20221 }
20220 }, 20222 },
@@ -20609,6 +20611,11 @@
20609 "version": "2.0.0", 20611 "version": "2.0.0",
20610 "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 20612 "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
20611 "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" 20613 "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
20614 },
20615 "uuid": {
20616 "version": "3.4.0",
20617 "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
20618 "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A=="
20612 } 20619 }
20613 } 20620 }
20614 }, 20621 },
@@ -21408,11 +21415,6 @@
21408 "object-visit": "^1.0.0" 21415 "object-visit": "^1.0.0"
21409 } 21416 }
21410 }, 21417 },
21411 "marked": {
21412 "version": "0.7.0",
21413 "resolved": "https://registry.npmjs.org/marked/-/marked-0.7.0.tgz",
21414 "integrity": "sha512-c+yYdCZJQrsRjTPhUx7VKkApw9bwDkNbHUKo1ovgcfDjb2kc8rLuRbIFyXL5WOEUwzSSKo3IXpph2K6DqB/KZg=="
21415 },
21416 "matchdep": { 21418 "matchdep": {
21417 "version": "2.0.0", 21419 "version": "2.0.0",
21418 "resolved": "https://registry.npmjs.org/matchdep/-/matchdep-2.0.0.tgz", 21420 "resolved": "https://registry.npmjs.org/matchdep/-/matchdep-2.0.0.tgz",
@@ -22651,23 +22653,6 @@
22651 "lower-case": "^1.1.1" 22653 "lower-case": "^1.1.1"
22652 } 22654 }
22653 }, 22655 },
22654 "node-abi": {
22655 "version": "2.30.0",
22656 "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.30.0.tgz",
22657 "integrity": "sha512-g6bZh3YCKQRdwuO/tSZZYJAw622SjsRfJ2X0Iy4sSOHZ34/sPPdVBn8fev2tj7njzLwuqPw9uMtGsGkO5kIQvg==",
22658 "dev": true,
22659 "requires": {
22660 "semver": "^5.4.1"
22661 },
22662 "dependencies": {
22663 "semver": {
22664 "version": "5.7.1",
22665 "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
22666 "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
22667 "dev": true
22668 }
22669 }
22670 },
22671 "node-addon-api": { 22656 "node-addon-api": {
22672 "version": "4.0.0", 22657 "version": "4.0.0",
22673 "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-4.0.0.tgz", 22658 "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-4.0.0.tgz",
@@ -22935,10 +22920,34 @@
22935 "glob": "^7.1.3" 22920 "glob": "^7.1.3"
22936 } 22921 }
22937 }, 22922 },
22923 "safe-buffer": {
22924 "version": "5.2.1",
22925 "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
22926 "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="
22927 },
22938 "semver": { 22928 "semver": {
22939 "version": "5.7.1", 22929 "version": "5.7.1",
22940 "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", 22930 "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
22941 "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" 22931 "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
22932 },
22933 "tar": {
22934 "version": "4.4.19",
22935 "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.19.tgz",
22936 "integrity": "sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA==",
22937 "requires": {
22938 "chownr": "^1.1.4",
22939 "fs-minipass": "^1.2.7",
22940 "minipass": "^2.9.0",
22941 "minizlib": "^1.3.3",
22942 "mkdirp": "^0.5.5",
22943 "safe-buffer": "^5.2.1",
22944 "yallist": "^3.1.1"
22945 }
22946 },
22947 "yallist": {
22948 "version": "3.1.1",
22949 "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
22950 "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="
22942 } 22951 }
22943 } 22952 }
22944 }, 22953 },
@@ -23121,6 +23130,21 @@
23121 "requires": { 23130 "requires": {
23122 "glob": "^7.1.3" 23131 "glob": "^7.1.3"
23123 } 23132 }
23133 },
23134 "tar": {
23135 "version": "4.4.19",
23136 "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.19.tgz",
23137 "integrity": "sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA==",
23138 "dev": true,
23139 "requires": {
23140 "chownr": "^1.1.4",
23141 "fs-minipass": "^1.2.7",
23142 "minipass": "^2.9.0",
23143 "minizlib": "^1.3.3",
23144 "mkdirp": "^0.5.5",
23145 "safe-buffer": "^5.2.1",
23146 "yallist": "^3.1.1"
23147 }
23124 } 23148 }
23125 } 23149 }
23126 }, 23150 },
@@ -23140,11 +23164,23 @@
23140 "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", 23164 "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
23141 "dev": true 23165 "dev": true
23142 }, 23166 },
23167 "safe-buffer": {
23168 "version": "5.2.1",
23169 "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
23170 "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
23171 "dev": true
23172 },
23143 "semver": { 23173 "semver": {
23144 "version": "5.7.1", 23174 "version": "5.7.1",
23145 "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", 23175 "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
23146 "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", 23176 "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
23147 "dev": true 23177 "dev": true
23178 },
23179 "yallist": {
23180 "version": "3.1.1",
23181 "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
23182 "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
23183 "dev": true
23148 } 23184 }
23149 } 23185 }
23150 }, 23186 },
@@ -26263,6 +26299,11 @@
26263 "version": "6.5.2", 26299 "version": "6.5.2",
26264 "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", 26300 "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
26265 "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" 26301 "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA=="
26302 },
26303 "uuid": {
26304 "version": "3.4.0",
26305 "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
26306 "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A=="
26266 } 26307 }
26267 } 26308 }
26268 }, 26309 },
@@ -28168,28 +28209,57 @@
28168 "dev": true 28209 "dev": true
28169 }, 28210 },
28170 "tar": { 28211 "tar": {
28171 "version": "4.4.18", 28212 "version": "6.1.11",
28172 "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.18.tgz", 28213 "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz",
28173 "integrity": "sha512-ZuOtqqmkV9RE1+4odd+MhBpibmCxNP6PJhH/h2OqNuotTX7/XHPZQJv2pKvWMplFH9SIZZhitehh6vBH6LO8Pg==", 28214 "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==",
28174 "requires": { 28215 "requires": {
28175 "chownr": "^1.1.4", 28216 "chownr": "^2.0.0",
28176 "fs-minipass": "^1.2.7", 28217 "fs-minipass": "^2.0.0",
28177 "minipass": "^2.9.0", 28218 "minipass": "^3.0.0",
28178 "minizlib": "^1.3.3", 28219 "minizlib": "^2.1.1",
28179 "mkdirp": "^0.5.5", 28220 "mkdirp": "^1.0.3",
28180 "safe-buffer": "^5.2.1", 28221 "yallist": "^4.0.0"
28181 "yallist": "^3.1.1"
28182 }, 28222 },
28183 "dependencies": { 28223 "dependencies": {
28184 "safe-buffer": { 28224 "chownr": {
28185 "version": "5.2.1", 28225 "version": "2.0.0",
28186 "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", 28226 "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
28187 "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" 28227 "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ=="
28228 },
28229 "fs-minipass": {
28230 "version": "2.1.0",
28231 "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz",
28232 "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==",
28233 "requires": {
28234 "minipass": "^3.0.0"
28235 }
28236 },
28237 "minipass": {
28238 "version": "3.1.5",
28239 "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.5.tgz",
28240 "integrity": "sha512-+8NzxD82XQoNKNrl1d/FSi+X8wAEWR+sbYAfIvub4Nz0d22plFG72CEVVaufV8PNf4qSslFTD8VMOxNVhHCjTw==",
28241 "requires": {
28242 "yallist": "^4.0.0"
28243 }
28244 },
28245 "minizlib": {
28246 "version": "2.1.2",
28247 "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz",
28248 "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==",
28249 "requires": {
28250 "minipass": "^3.0.0",
28251 "yallist": "^4.0.0"
28252 }
28253 },
28254 "mkdirp": {
28255 "version": "1.0.4",
28256 "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
28257 "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw=="
28188 }, 28258 },
28189 "yallist": { 28259 "yallist": {
28190 "version": "3.1.1", 28260 "version": "4.0.0",
28191 "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", 28261 "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
28192 "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" 28262 "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
28193 } 28263 }
28194 } 28264 }
28195 }, 28265 },
@@ -28247,6 +28317,12 @@
28247 "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz", 28317 "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz",
28248 "integrity": "sha1-CnwOom06Oa+n4OvqnB/AvE2qAR0=", 28318 "integrity": "sha1-CnwOom06Oa+n4OvqnB/AvE2qAR0=",
28249 "dev": true 28319 "dev": true
28320 },
28321 "uuid": {
28322 "version": "3.4.0",
28323 "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
28324 "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
28325 "dev": true
28250 } 28326 }
28251 } 28327 }
28252 }, 28328 },
@@ -28258,6 +28334,14 @@
28258 "requires": { 28334 "requires": {
28259 "temp-dir": "^2.0.0", 28335 "temp-dir": "^2.0.0",
28260 "uuid": "^3.3.2" 28336 "uuid": "^3.3.2"
28337 },
28338 "dependencies": {
28339 "uuid": {
28340 "version": "3.4.0",
28341 "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
28342 "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
28343 "dev": true
28344 }
28261 } 28345 }
28262 }, 28346 },
28263 "terminal-link": { 28347 "terminal-link": {
@@ -29616,9 +29700,9 @@
29616 "dev": true 29700 "dev": true
29617 }, 29701 },
29618 "uuid": { 29702 "uuid": {
29619 "version": "3.3.3", 29703 "version": "8.3.2",
29620 "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz", 29704 "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
29621 "integrity": "sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==" 29705 "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg=="
29622 }, 29706 },
29623 "v8-compile-cache": { 29707 "v8-compile-cache": {
29624 "version": "2.3.0", 29708 "version": "2.3.0",
@@ -29673,9 +29757,9 @@
29673 } 29757 }
29674 }, 29758 },
29675 "validator": { 29759 "validator": {
29676 "version": "11.0.0", 29760 "version": "13.6.0",
29677 "resolved": "https://registry.npmjs.org/validator/-/validator-11.0.0.tgz", 29761 "resolved": "https://registry.npmjs.org/validator/-/validator-13.6.0.tgz",
29678 "integrity": "sha512-+wnGLYqaKV2++nUv60uGzUJyJQwYVOin6pn1tgEiFCeCQO60yeu3Og9/yPccbBX574kxIcEJicogkzx6s6eyag==" 29762 "integrity": "sha512-gVgKbdbHgtxpRyR8K0O6oFZPhhB5tT1jeEHZR0Znr9Svg03U0+r9DXWMrnRAB+HtCStDQKlaIZm42tVsVjqtjg=="
29679 }, 29763 },
29680 "value-or-function": { 29764 "value-or-function": {
29681 "version": "3.0.0", 29765 "version": "3.0.0",
@@ -30649,6 +30733,12 @@
30649 "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", 30733 "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz",
30650 "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==", 30734 "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==",
30651 "dev": true 30735 "dev": true
30736 },
30737 "uuid": {
30738 "version": "3.4.0",
30739 "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
30740 "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
30741 "dev": true
30652 } 30742 }
30653 } 30743 }
30654 }, 30744 },
@@ -31069,9 +31159,9 @@
31069 } 31159 }
31070 }, 31160 },
31071 "ws": { 31161 "ws": {
31072 "version": "7.4.6", 31162 "version": "8.2.2",
31073 "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", 31163 "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.2.tgz",
31074 "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==" 31164 "integrity": "sha512-Q6B6H2oc8QY3llc3cB8kVmQ6pnJWVQbP7Q5algTcIxx7YEpc0oU4NBVHlztA7Ekzfhw2r0rPducMUiCGWKQRzw=="
31075 }, 31165 },
31076 "xdg-basedir": { 31166 "xdg-basedir": {
31077 "version": "4.0.0", 31167 "version": "4.0.0",
diff --git a/package.json b/package.json
index bcbad8c79..fa4be8274 100644
--- a/package.json
+++ b/package.json
@@ -70,13 +70,11 @@
70 "@meetfranz/theme": "file:packages/theme", 70 "@meetfranz/theme": "file:packages/theme",
71 "@meetfranz/ui": "file:packages/ui", 71 "@meetfranz/ui": "file:packages/ui",
72 "@sentry/electron": "2.5.3", 72 "@sentry/electron": "2.5.3",
73 "atob": "2.1.2",
74 "auto-launch": "5.0.5", 73 "auto-launch": "5.0.5",
75 "btoa": "1.2.1", 74 "btoa": "1.2.1",
76 "classnames": "2.3.1", 75 "classnames": "2.3.1",
77 "cld": "2.7.0", 76 "cld": "2.7.0",
78 "color": "4.0.1", 77 "color": "4.0.1",
79 "css": "2.2.4",
80 "csstype": "3.0.8", 78 "csstype": "3.0.8",
81 "darkreader": "4.9.34", 79 "darkreader": "4.9.34",
82 "dbus-next": "0.9.2", 80 "dbus-next": "0.9.2",
@@ -95,7 +93,6 @@
95 "lodash": "4.17.21", 93 "lodash": "4.17.21",
96 "macos-notification-state": "1.3.6", 94 "macos-notification-state": "1.3.6",
97 "macos-version": "5.2.1", 95 "macos-version": "5.2.1",
98 "marked": "0.7.0",
99 "mime-types": "2.1.32", 96 "mime-types": "2.1.32",
100 "minimist": "1.2.5", 97 "minimist": "1.2.5",
101 "mobx": "5.15.0", 98 "mobx": "5.15.0",
@@ -127,12 +124,12 @@
127 "route-parser": "0.0.5", 124 "route-parser": "0.0.5",
128 "semver": "7.3.5", 125 "semver": "7.3.5",
129 "sqlite3": "5.0.0", 126 "sqlite3": "5.0.0",
130 "tar": "4.4.18", 127 "tar": "6.1.11",
131 "tslib": "2.3.1", 128 "tslib": "2.3.1",
132 "useragent-generator": "1.1.1-amkt-22079-finish.0", 129 "useragent-generator": "1.1.1-amkt-22079-finish.0",
133 "uuid": "3.3.3", 130 "uuid": "8.3.2",
134 "validator": "11.0.0", 131 "validator": "13.6.0",
135 "ws": "7.4.6" 132 "ws": "8.2.2"
136 }, 133 },
137 "devDependencies": { 134 "devDependencies": {
138 "@babel/cli": "7.14.8", 135 "@babel/cli": "7.14.8",
@@ -163,10 +160,10 @@
163 "@types/react-dom": "16.9.13", 160 "@types/react-dom": "16.9.13",
164 "@types/route-parser": "0.1.3", 161 "@types/route-parser": "0.1.3",
165 "@types/tar": "4.0.5", 162 "@types/tar": "4.0.5",
166 "@types/uuid": "3.4.9", 163 "@types/uuid": "8.3.1",
167 "@types/validator": "13.6.3", 164 "@types/validator": "13.6.3",
168 "@typescript-eslint/eslint-plugin": "4.30.0", 165 "@typescript-eslint/eslint-plugin": "4.31.2",
169 "@typescript-eslint/parser": "4.29.1", 166 "@typescript-eslint/parser": "4.31.2",
170 "all-contributors-cli": "6.20.0", 167 "all-contributors-cli": "6.20.0",
171 "babel-plugin-formatjs": "10.3.8", 168 "babel-plugin-formatjs": "10.3.8",
172 "commitizen": "4.2.4", 169 "commitizen": "4.2.4",
@@ -180,12 +177,12 @@
180 "electron-notarize": "1.1.0", 177 "electron-notarize": "1.1.0",
181 "eslint": "7.32.0", 178 "eslint": "7.32.0",
182 "eslint-config-airbnb": "18.2.1", 179 "eslint-config-airbnb": "18.2.1",
183 "eslint-config-airbnb-typescript": "12.3.1", 180 "eslint-config-airbnb-typescript": "14.0.0",
184 "eslint-config-prettier": "8.3.0", 181 "eslint-config-prettier": "8.3.0",
185 "eslint-plugin-import": "2.24.2", 182 "eslint-plugin-import": "2.24.2",
186 "eslint-plugin-jest": "24.4.0", 183 "eslint-plugin-jest": "24.4.0",
187 "eslint-plugin-jsx-a11y": "6.4.1", 184 "eslint-plugin-jsx-a11y": "6.4.1",
188 "eslint-plugin-prettier": "3.4.0", 185 "eslint-plugin-prettier": "4.0.0",
189 "eslint-plugin-react": "7.25.1", 186 "eslint-plugin-react": "7.25.1",
190 "eslint-plugin-react-hooks": "4.2.0", 187 "eslint-plugin-react-hooks": "4.2.0",
191 "eslint-plugin-unicorn": "36.0.0", 188 "eslint-plugin-unicorn": "36.0.0",
@@ -208,7 +205,6 @@
208 "kebab-case": "1.0.1", 205 "kebab-case": "1.0.1",
209 "lerna": "4.0.0", 206 "lerna": "4.0.0",
210 "mocha": "9.1.1", 207 "mocha": "9.1.1",
211 "node-abi": "2.30.0",
212 "prettier": "2.3.2", 208 "prettier": "2.3.2",
213 "preval-build-info": "1.0.3", 209 "preval-build-info": "1.0.3",
214 "rimraf": "3.0.2", 210 "rimraf": "3.0.2",
diff --git a/src/internal-server/app/Controllers/Http/ServiceController.js b/src/internal-server/app/Controllers/Http/ServiceController.js
index ae463617d..133473b68 100644
--- a/src/internal-server/app/Controllers/Http/ServiceController.js
+++ b/src/internal-server/app/Controllers/Http/ServiceController.js
@@ -2,7 +2,7 @@ const Service = use('App/Models/Service');
2const { validateAll } = use('Validator'); 2const { validateAll } = use('Validator');
3const Env = use('Env'); 3const Env = use('Env');
4 4
5const uuid = require('uuid/v4'); 5const { v4: uuid } = require('uuid');
6const path = require('path'); 6const path = require('path');
7const fs = require('fs-extra'); 7const fs = require('fs-extra');
8const { LOCAL_HOSTNAME, DEFAULT_SERVICE_ORDER } = require('../../../../config'); 8const { LOCAL_HOSTNAME, DEFAULT_SERVICE_ORDER } = require('../../../../config');
diff --git a/src/internal-server/app/Controllers/Http/UserController.js b/src/internal-server/app/Controllers/Http/UserController.js
index 7b71aac14..747606da7 100644
--- a/src/internal-server/app/Controllers/Http/UserController.js
+++ b/src/internal-server/app/Controllers/Http/UserController.js
@@ -5,7 +5,7 @@ const { validateAll } = use('Validator');
5 5
6const btoa = require('btoa'); 6const btoa = require('btoa');
7const fetch = require('node-fetch'); 7const fetch = require('node-fetch');
8const uuid = require('uuid/v4'); 8const { v4: uuid } = require('uuid');
9const crypto = require('crypto'); 9const crypto = require('crypto');
10const { 10const {
11 DEFAULT_APP_SETTINGS, 11 DEFAULT_APP_SETTINGS,
diff --git a/src/internal-server/app/Controllers/Http/WorkspaceController.js b/src/internal-server/app/Controllers/Http/WorkspaceController.js
index 773312a0b..9d461135e 100644
--- a/src/internal-server/app/Controllers/Http/WorkspaceController.js
+++ b/src/internal-server/app/Controllers/Http/WorkspaceController.js
@@ -1,16 +1,11 @@
1const Workspace = use('App/Models/Workspace'); 1const Workspace = use('App/Models/Workspace');
2const { 2const { validateAll } = use('Validator');
3 validateAll,
4} = use('Validator');
5 3
6const uuid = require('uuid/v4'); 4const { v4: uuid } = require('uuid');
7 5
8class WorkspaceController { 6class WorkspaceController {
9 // Create a new workspace for user 7 // Create a new workspace for user
10 async create({ 8 async create({ request, response }) {
11 request,
12 response,
13 }) {
14 // Validate user input 9 // Validate user input
15 const validation = await validateAll(request.all(), { 10 const validation = await validateAll(request.all(), {
16 name: 'required', 11 name: 'required',
@@ -29,10 +24,13 @@ class WorkspaceController {
29 let workspaceId; 24 let workspaceId;
30 do { 25 do {
31 workspaceId = uuid(); 26 workspaceId = uuid();
32 } while ((await Workspace.query().where('workspaceId', workspaceId).fetch()).rows.length > 0); // eslint-disable-line no-await-in-loop 27 } while (
28 (await Workspace.query().where('workspaceId', workspaceId).fetch()).rows
29 .length > 0
30 ); // eslint-disable-line no-await-in-loop
33 31
34 const order = (await Workspace.all()).rows.length; 32 const order = (await Workspace.all()).rows.length;
35 const name = data.name; 33 const { name } = data;
36 delete data.name; 34 delete data.name;
37 35
38 await Workspace.create({ 36 await Workspace.create({
@@ -52,11 +50,7 @@ class WorkspaceController {
52 }); 50 });
53 } 51 }
54 52
55 async edit({ 53 async edit({ request, response, params }) {
56 request,
57 response,
58 params,
59 }) {
60 // Validate user input 54 // Validate user input
61 const validation = await validateAll(request.all(), { 55 const validation = await validateAll(request.all(), {
62 name: 'required', 56 name: 'required',
@@ -71,20 +65,19 @@ class WorkspaceController {
71 } 65 }
72 66
73 const data = request.all(); 67 const data = request.all();
74 const { 68 const { id } = params;
75 id,
76 } = params;
77 69
78 // Update data in database 70 // Update data in database
79 await (Workspace.query() 71 await Workspace.query()
80 .where('workspaceId', id)).update({ 72 .where('workspaceId', id)
81 name: data.name, 73 .update({
82 services: JSON.stringify(data.services), 74 name: data.name,
83 }); 75 services: JSON.stringify(data.services),
76 });
84 77
85 // Get updated row 78 // Get updated row
86 const workspace = (await Workspace.query() 79 const workspace = (await Workspace.query().where('workspaceId', id).fetch())
87 .where('workspaceId', id).fetch()).rows[0]; 80 .rows[0];
88 81
89 return response.send({ 82 return response.send({
90 id: workspace.workspaceId, 83 id: workspace.workspaceId,
@@ -113,13 +106,10 @@ class WorkspaceController {
113 }); 106 });
114 } 107 }
115 108
116 const { 109 const { id } = params;
117 id,
118 } = params;
119 110
120 // Update data in database 111 // Update data in database
121 await (Workspace.query() 112 await Workspace.query().where('workspaceId', id).delete();
122 .where('workspaceId', id)).delete();
123 113
124 return response.send({ 114 return response.send({
125 message: 'Successfully deleted workspace', 115 message: 'Successfully deleted workspace',
@@ -127,9 +117,7 @@ class WorkspaceController {
127 } 117 }
128 118
129 // List all workspaces a user has created 119 // List all workspaces a user has created
130 async list({ 120 async list({ response }) {
131 response,
132 }) {
133 const workspaces = (await Workspace.all()).rows; 121 const workspaces = (await Workspace.all()).rows;
134 // Convert to array with all data Franz wants 122 // Convert to array with all data Franz wants
135 let workspacesArray = []; 123 let workspacesArray = [];
@@ -138,7 +126,10 @@ class WorkspaceController {
138 id: workspace.workspaceId, 126 id: workspace.workspaceId,
139 name: workspace.name, 127 name: workspace.name,
140 order: workspace.order, 128 order: workspace.order,
141 services: typeof workspace.services === 'string' ? JSON.parse(workspace.services) : workspace.services, 129 services:
130 typeof workspace.services === 'string'
131 ? JSON.parse(workspace.services)
132 : workspace.services,
142 userId: 1, 133 userId: 1,
143 })); 134 }));
144 } 135 }
diff --git a/src/webview/notifications.js b/src/webview/notifications.js
index 205a3220c..22960d818 100644
--- a/src/webview/notifications.js
+++ b/src/webview/notifications.js
@@ -1,22 +1,26 @@
1import { ipcRenderer } from 'electron'; 1import { ipcRenderer } from 'electron';
2import uuidV1 from 'uuid/v1'; 2
3import { v1 as uuidV1 } from 'uuid';
3 4
4const debug = require('debug')('Ferdi:Notifications'); 5const debug = require('debug')('Ferdi:Notifications');
5 6
6export class NotificationsHandler { 7export class NotificationsHandler {
7 onNotify = (data) => data; 8 onNotify = data => data;
8 9
9 displayNotification(title, options) { 10 displayNotification(title, options) {
10 return new Promise((resolve) => { 11 return new Promise(resolve => {
11 debug('New notification', title, options); 12 debug('New notification', title, options);
12 13
13 const notificationId = uuidV1(); 14 const notificationId = uuidV1();
14 15
15 ipcRenderer.sendToHost('notification', this.onNotify({ 16 ipcRenderer.sendToHost(
16 title, 17 'notification',
17 options, 18 this.onNotify({
18 notificationId, 19 title,
19 })); 20 options,
21 notificationId,
22 }),
23 );
20 24
21 ipcRenderer.once(`notification-onclick:${notificationId}`, () => { 25 ipcRenderer.once(`notification-onclick:${notificationId}`, () => {
22 resolve(); 26 resolve();
diff --git a/tsconfig.json b/tsconfig.json
index c01c40f68..2d9889286 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -10,7 +10,7 @@
10 "jsx": "react", 10 "jsx": "react",
11 "typeRoots": ["@types", "node_modules/@types"], 11 "typeRoots": ["@types", "node_modules/@types"],
12 "moduleResolution": "node", 12 "moduleResolution": "node",
13 "types": ["node"], 13 "types": ["node", "mocha"],
14 "sourceMap": true, 14 "sourceMap": true,
15 "skipLibCheck": true, 15 "skipLibCheck": true,
16 "noImplicitAny": false, // TODO: Need to switch 16 "noImplicitAny": false, // TODO: Need to switch
diff --git a/uidev/src/stories/input.stories.tsx b/uidev/src/stories/input.stories.tsx
index 889539266..c92ebb36a 100644
--- a/uidev/src/stories/input.stories.tsx
+++ b/uidev/src/stories/input.stories.tsx
@@ -1,7 +1,7 @@
1import React from 'react'; 1import React from 'react';
2import uuid from 'uuid/v4';
3 2
4import { Input } from '@meetfranz/forms'; 3import { Input } from '@meetfranz/forms';
4import { v4 as uuid } from 'uuid';
5import { storiesOf } from '../stores/stories'; 5import { storiesOf } from '../stores/stories';
6 6
7const defaultProps = () => { 7const defaultProps = () => {
@@ -10,7 +10,8 @@ const defaultProps = () => {
10 label: 'Label', 10 label: 'Label',
11 id: `test-${id}`, 11 id: `test-${id}`,
12 name: `test-${id}`, 12 name: `test-${id}`,
13 onChange: (e: React.ChangeEvent<HTMLInputElement>) => console.log('changed event', e), 13 onChange: (e: React.ChangeEvent<HTMLInputElement>) =>
14 console.log('changed event', e),
14 }; 15 };
15}; 16};
16 17
@@ -21,44 +22,23 @@ const defaultPasswordProps = () => {
21 id: `test-${id}`, 22 id: `test-${id}`,
22 name: `test-${id}`, 23 name: `test-${id}`,
23 type: 'password', 24 type: 'password',
24 onChange: (e: React.ChangeEvent<HTMLInputElement>) => console.log('changed event', e), 25 onChange: (e: React.ChangeEvent<HTMLInputElement>) =>
26 console.log('changed event', e),
25 }; 27 };
26}; 28};
27 29
28storiesOf('Input') 30storiesOf('Input')
29 .add('Basic', () => ( 31 .add('Basic', () => (
30 <Input 32 <Input {...defaultProps()} placeholder="Placeholder text" />
31 {...defaultProps()}
32 placeholder="Placeholder text"
33 />
34 ))
35 .add('Without Label', () => (
36 <Input
37 {...defaultProps()}
38 showLabel={false}
39 />
40 ))
41 .add('Disabled', () => (
42 <Input {...defaultProps()} disabled />
43 ))
44 .add('With prefix', () => (
45 <Input
46 {...defaultProps()}
47 prefix="https://"
48 />
49 )) 33 ))
34 .add('Without Label', () => <Input {...defaultProps()} showLabel={false} />)
35 .add('Disabled', () => <Input {...defaultProps()} disabled />)
36 .add('With prefix', () => <Input {...defaultProps()} prefix="https://" />)
50 .add('With suffix', () => ( 37 .add('With suffix', () => (
51 <Input 38 <Input {...defaultProps()} suffix=".meetfranz.com" />
52 {...defaultProps()}
53 suffix=".meetfranz.com"
54 />
55 )) 39 ))
56 .add('With pre-suffix', () => ( 40 .add('With pre-suffix', () => (
57 <Input 41 <Input {...defaultProps()} prefix="https://" suffix=".meetfranz.com" />
58 {...defaultProps()}
59 prefix="https://"
60 suffix=".meetfranz.com"
61 />
62 )) 42 ))
63 .add('With error', () => ( 43 .add('With error', () => (
64 <Input 44 <Input
@@ -68,32 +48,16 @@ storiesOf('Input')
68 /> 48 />
69 )) 49 ))
70 .add('Type number with min & max', () => ( 50 .add('Type number with min & max', () => (
71 <Input 51 <Input {...defaultProps()} type="number" min={1} max={10} />
72 {...defaultProps()}
73 type="number"
74 min={1}
75 max={10}
76 />
77 )); 52 ));
78 53
79storiesOf('Password') 54storiesOf('Password')
80 .add('Basic', () => ( 55 .add('Basic', () => <Input {...defaultPasswordProps()} />)
81 <Input
82 {...defaultPasswordProps()}
83 />
84 ))
85 .add('Show password toggle', () => ( 56 .add('Show password toggle', () => (
86 <Input 57 <Input {...defaultPasswordProps()} showPasswordToggle />
87 {...defaultPasswordProps()}
88 showPasswordToggle
89 />
90 )) 58 ))
91 .add('Score password', () => ( 59 .add('Score password', () => (
92 <Input 60 <Input {...defaultPasswordProps()} showPasswordToggle scorePassword />
93 {...defaultPasswordProps()}
94 showPasswordToggle
95 scorePassword
96 />
97 )) 61 ))
98 .add('Score password with error', () => ( 62 .add('Score password with error', () => (
99 <Input 63 <Input
diff --git a/uidev/src/stories/select.stories.tsx b/uidev/src/stories/select.stories.tsx
index 51ec6ed88..93e072cd9 100644
--- a/uidev/src/stories/select.stories.tsx
+++ b/uidev/src/stories/select.stories.tsx
@@ -1,5 +1,5 @@
1import React from 'react'; 1import React from 'react';
2import uuid from 'uuid/v4'; 2import { v4 as uuid } from 'uuid';
3 3
4import { Select } from '@meetfranz/forms'; 4import { Select } from '@meetfranz/forms';
5import { storiesOf } from '../stores/stories'; 5import { storiesOf } from '../stores/stories';
@@ -282,35 +282,18 @@ const defaultProps = () => {
282 }, 282 },
283 actionText: 'Select country', 283 actionText: 'Select country',
284 // defaultValue: 'AT', 284 // defaultValue: 'AT',
285 onChange: (e: React.ChangeEvent<HTMLInputElement>) => console.log('changed event', e), 285 onChange: (e: React.ChangeEvent<HTMLInputElement>) =>
286 console.log('changed event', e),
286 }; 287 };
287}; 288};
288 289
289storiesOf('Select') 290storiesOf('Select')
290 .add('Basic', () => ( 291 .add('Basic', () => <Select {...defaultProps()} />)
291 <Select
292 {...defaultProps()}
293 />
294 ))
295 .add('With preselection', () => ( 292 .add('With preselection', () => (
296 <Select 293 <Select {...defaultProps()} defaultValue="AT" />
297 {...defaultProps()}
298 defaultValue="AT"
299 />
300 ))
301 .add('With search', () => (
302 <Select
303 {...defaultProps()}
304 showSearch
305 />
306 ))
307 .add('Disabled', () => (
308 <Select
309 {...defaultProps()}
310 showSearch
311 disabled
312 />
313 )) 294 ))
295 .add('With search', () => <Select {...defaultProps()} showSearch />)
296 .add('Disabled', () => <Select {...defaultProps()} showSearch disabled />)
314 .add('With error', () => ( 297 .add('With error', () => (
315 <Select 298 <Select
316 {...defaultProps()} 299 {...defaultProps()}
diff --git a/uidev/src/stories/textarea.stories.tsx b/uidev/src/stories/textarea.stories.tsx
index 1ab21820b..09b9fef70 100644
--- a/uidev/src/stories/textarea.stories.tsx
+++ b/uidev/src/stories/textarea.stories.tsx
@@ -1,5 +1,5 @@
1import React from 'react'; 1import React from 'react';
2import uuid from 'uuid/v4'; 2import { v4 as uuid } from 'uuid';
3 3
4import { Textarea } from '@meetfranz/forms'; 4import { Textarea } from '@meetfranz/forms';
5import { storiesOf } from '../stores/stories'; 5import { storiesOf } from '../stores/stories';
@@ -11,7 +11,8 @@ const defaultProps = () => {
11 id: `test-${id}`, 11 id: `test-${id}`,
12 name: `test-${id}`, 12 name: `test-${id}`,
13 rows: 5, 13 rows: 5,
14 onChange: (e: React.ChangeEvent<HTMLInputElement>) => console.log('changed event', e), 14 onChange: (e: React.ChangeEvent<HTMLInputElement>) =>
15 console.log('changed event', e),
15 }; 16 };
16}; 17};
17 18
@@ -22,22 +23,8 @@ storiesOf('Textarea')
22 // placeholder="Placeholder text" 23 // placeholder="Placeholder text"
23 /> 24 />
24 )) 25 ))
25 .add('10 rows', () => ( 26 .add('10 rows', () => <Textarea {...defaultProps()} rows={10} />)
26 <Textarea
27 {...defaultProps()}
28 rows={10}
29 />
30 ))
31 .add('With error', () => ( 27 .add('With error', () => (
32 <Textarea 28 <Textarea {...defaultProps()} error="This is a generic error message." />
33 {...defaultProps()}
34 error="This is a generic error message."
35 />
36 )) 29 ))
37 .add('Disabled', () => ( 30 .add('Disabled', () => <Textarea {...defaultProps()} rows={2} disabled />);
38 <Textarea
39 {...defaultProps()}
40 rows={2}
41 disabled
42 />
43 ));
diff --git a/uidev/src/stories/toggle.stories.tsx b/uidev/src/stories/toggle.stories.tsx
index af6b282bc..f54e67596 100644
--- a/uidev/src/stories/toggle.stories.tsx
+++ b/uidev/src/stories/toggle.stories.tsx
@@ -1,7 +1,7 @@
1import { observable } from 'mobx'; 1import { observable } from 'mobx';
2import { observer } from 'mobx-react'; 2import { observer } from 'mobx-react';
3import React from 'react'; 3import React from 'react';
4import uuid from 'uuid/v4'; 4import { v4 as uuid } from 'uuid';
5 5
6import { Toggle } from '@meetfranz/forms'; 6import { Toggle } from '@meetfranz/forms';
7import { storiesOf } from '../stores/stories'; 7import { storiesOf } from '../stores/stories';
@@ -16,14 +16,17 @@ interface IStoreArgs {
16 error?: string; 16 error?: string;
17} 17}
18 18
19const createStore = (args?: IStoreArgs) => observable({ id: `element-${uuid()}`, 19const createStore = (args?: IStoreArgs) =>
20 observable({
21 id: `element-${uuid()}`,
20 name: 'toggle', 22 name: 'toggle',
21 label: 'Label', 23 label: 'Label',
22 value: true, 24 value: true,
23 checked: false, 25 checked: false,
24 disabled: false, 26 disabled: false,
25 error: '', 27 error: '',
26...args }); 28 ...args,
29 });
27 30
28const WithStoreToggle = observer(({ store }: { store: any }) => ( 31const WithStoreToggle = observer(({ store }: { store: any }) => (
29 <> 32 <>
@@ -35,37 +38,40 @@ const WithStoreToggle = observer(({ store }: { store: any }) => (
35 name={store.name} 38 name={store.name}
36 disabled={store.disabled} 39 disabled={store.disabled}
37 error={store.error} 40 error={store.error}
38 onChange={() => store.checked = !store.checked} 41 onChange={() => (store.checked = !store.checked)}
39 /> 42 />
40 </> 43 </>
41)); 44));
42 45
43storiesOf('Toggle') 46storiesOf('Toggle')
44 .add('Basic', () => ( 47 .add('Basic', () => <WithStoreToggle store={createStore()} />)
45 <WithStoreToggle store={createStore()} />
46 ))
47 .add('Checked', () => ( 48 .add('Checked', () => (
48 <WithStoreToggle store={createStore({ 49 <WithStoreToggle
49 checked: true, 50 store={createStore({
50 })} 51 checked: true,
52 })}
51 /> 53 />
52 )) 54 ))
53 .add('Disabled', () => ( 55 .add('Disabled', () => (
54 <WithStoreToggle store={createStore({ 56 <WithStoreToggle
55 checked: true, 57 store={createStore({
56 disabled: true, 58 checked: true,
57 })} 59 disabled: true,
60 })}
58 /> 61 />
59 )) 62 ))
60 .add('Long label', () => ( 63 .add('Long label', () => (
61 <WithStoreToggle store={createStore({ 64 <WithStoreToggle
62 label: 'Hello world, this is an insanely long label for this toggle. We need to make sure that it will be displayed correctly.', 65 store={createStore({
63 })} 66 label:
67 'Hello world, this is an insanely long label for this toggle. We need to make sure that it will be displayed correctly.',
68 })}
64 /> 69 />
65 )) 70 ))
66 .add('With error', () => ( 71 .add('With error', () => (
67 <WithStoreToggle store={createStore({ 72 <WithStoreToggle
68 error: 'Something went wrong', 73 store={createStore({
69 })} 74 error: 'Something went wrong',
75 })}
70 /> 76 />
71 )); 77 ));