Bläddra i källkod

Fix tests by pinning to latest @converse/skeletor

JC Brand 4 år sedan
förälder
incheckning
8b052e20b9
5 ändrade filer med 146 tillägg och 95 borttagningar
  1. 121 70
      package-lock.json
  2. 0 1
      package.json
  3. 2 2
      spec/bookmarks.js
  4. 21 21
      spec/roster.js
  5. 2 1
      src/headless/package.json

+ 121 - 70
package-lock.json

@@ -2867,9 +2867,8 @@
 			}
 		},
 		"@converse/skeletor": {
-			"version": "github:conversejs/skeletor#56a284bd36a07977d69c08d78e7c8c0fc9fc5c87",
-			"from": "github:conversejs/skeletor#56a284bd36a07977d69c08d78e7c8c0fc9fc5c87",
-			"dev": true,
+			"version": "github:conversejs/skeletor#cc542d7de6dd3d058552bc31ffa9d887d581f34d",
+			"from": "github:conversejs/skeletor#cc542d7de6dd3d058552bc31ffa9d887d581f34d",
 			"requires": {
 				"lit-html": "^1.2.1",
 				"lodash-es": "^4.17.15"
@@ -4449,21 +4448,21 @@
 			}
 		},
 		"@octokit/auth-token": {
-			"version": "2.4.4",
-			"resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.4.4.tgz",
-			"integrity": "sha512-LNfGu3Ro9uFAYh10MUZVaT7X2CnNm2C8IDQmabx+3DygYIQjs9FwzFAHN/0t6mu5HEPhxcb1XOuxdpY82vCg2Q==",
+			"version": "2.4.5",
+			"resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.4.5.tgz",
+			"integrity": "sha512-BpGYsPgJt05M7/L/5FoE1PiAbdxXFZkX/3kDYcsvd1v6UhlnE5e96dTDr0ezX/EFwciQxf3cNV0loipsURU+WA==",
 			"dev": true,
 			"requires": {
-				"@octokit/types": "^6.0.0"
+				"@octokit/types": "^6.0.3"
 			}
 		},
 		"@octokit/endpoint": {
-			"version": "6.0.10",
-			"resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.10.tgz",
-			"integrity": "sha512-9+Xef8nT7OKZglfkOMm7IL6VwxXUQyR7DUSU0LH/F7VNqs8vyd7es5pTfz9E7DwUIx7R3pGscxu1EBhYljyu7Q==",
+			"version": "6.0.11",
+			"resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.11.tgz",
+			"integrity": "sha512-fUIPpx+pZyoLW4GCs3yMnlj2LfoXTWDUVPTC4V3MUEKZm48W+XYpeWSZCv+vYF1ZABUm2CqnDVf1sFtIYrj7KQ==",
 			"dev": true,
 			"requires": {
-				"@octokit/types": "^6.0.0",
+				"@octokit/types": "^6.0.3",
 				"is-plain-object": "^5.0.0",
 				"universal-user-agent": "^6.0.0"
 			},
@@ -4483,9 +4482,9 @@
 			}
 		},
 		"@octokit/openapi-types": {
-			"version": "2.0.1",
-			"resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-2.0.1.tgz",
-			"integrity": "sha512-9AuC04PUnZrjoLiw3uPtwGh9FE4Q3rTqs51oNlQ0rkwgE8ftYsOC+lsrQyvCvWm85smBbSc0FNRKKumvGyb44Q==",
+			"version": "4.0.1",
+			"resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-4.0.1.tgz",
+			"integrity": "sha512-k2hRcfcLRyPJjtYfJLzg404n7HZ6sUpAWAR/uNI8tf96NgatWOpw1ocdF+WFfx/trO1ivBh7ckynO1rn+xAw/Q==",
 			"dev": true
 		},
 		"@octokit/plugin-enterprise-rest": {
@@ -4515,9 +4514,9 @@
 			}
 		},
 		"@octokit/plugin-request-log": {
-			"version": "1.0.2",
-			"resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.2.tgz",
-			"integrity": "sha512-oTJSNAmBqyDR41uSMunLQKMX0jmEXbwD1fpz8FG27lScV3RhtGfBa1/BBLym+PxcC16IBlF7KH9vP1BUYxA+Eg==",
+			"version": "1.0.3",
+			"resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.3.tgz",
+			"integrity": "sha512-4RFU4li238jMJAzLgAwkBAw+4Loile5haQMQr+uhFq27BmyJXcXSKvoQKqh0agsZEiUlW6iSv3FAgvmGkur7OQ==",
 			"dev": true
 		},
 		"@octokit/plugin-rest-endpoint-methods": {
@@ -4542,14 +4541,14 @@
 			}
 		},
 		"@octokit/request": {
-			"version": "5.4.12",
-			"resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.4.12.tgz",
-			"integrity": "sha512-MvWYdxengUWTGFpfpefBBpVmmEYfkwMoxonIB3sUGp5rhdgwjXL1ejo6JbgzG/QD9B/NYt/9cJX1pxXeSIUCkg==",
+			"version": "5.4.14",
+			"resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.4.14.tgz",
+			"integrity": "sha512-VkmtacOIQp9daSnBmDI92xNIeLuSRDOIuplp/CJomkvzt7M18NXgG044Cx/LFKLgjKt9T2tZR6AtJayba9GTSA==",
 			"dev": true,
 			"requires": {
 				"@octokit/endpoint": "^6.0.1",
 				"@octokit/request-error": "^2.0.0",
-				"@octokit/types": "^6.0.3",
+				"@octokit/types": "^6.7.1",
 				"deprecation": "^2.0.0",
 				"is-plain-object": "^5.0.0",
 				"node-fetch": "^2.6.1",
@@ -4558,12 +4557,12 @@
 			},
 			"dependencies": {
 				"@octokit/request-error": {
-					"version": "2.0.4",
-					"resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.0.4.tgz",
-					"integrity": "sha512-LjkSiTbsxIErBiRh5wSZvpZqT4t0/c9+4dOe0PII+6jXR+oj/h66s7E4a/MghV7iT8W9ffoQ5Skoxzs96+gBPA==",
+					"version": "2.0.5",
+					"resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.0.5.tgz",
+					"integrity": "sha512-T/2wcCFyM7SkXzNoyVNWjyVlUwBvW3igM3Btr/eKYiPmucXTtkxt2RBsf6gn3LTzaLSLTQtNmvg+dGsOxQrjZg==",
 					"dev": true,
 					"requires": {
-						"@octokit/types": "^6.0.0",
+						"@octokit/types": "^6.0.3",
 						"deprecation": "^2.0.0",
 						"once": "^1.4.0"
 					}
@@ -4629,12 +4628,12 @@
 			}
 		},
 		"@octokit/types": {
-			"version": "6.1.2",
-			"resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.1.2.tgz",
-			"integrity": "sha512-LPCpcLbcky7fWfHCTuc7tMiSHFpFlrThJqVdaHgowBTMS0ijlZFfonQC/C1PrZOjD4xRCYgBqH9yttEATGE/nw==",
+			"version": "6.8.2",
+			"resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.8.2.tgz",
+			"integrity": "sha512-RpG0NJd7OKSkWptiFhy1xCLkThs5YoDIKM21lEtDmUvSpbaIEfrxzckWLUGDFfF8RydSyngo44gDv8m2hHruUg==",
 			"dev": true,
 			"requires": {
-				"@octokit/openapi-types": "^2.0.1",
+				"@octokit/openapi-types": "^4.0.0",
 				"@types/node": ">= 8"
 			}
 		},
@@ -5947,9 +5946,9 @@
 			}
 		},
 		"before-after-hook": {
-			"version": "2.1.0",
-			"resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.1.0.tgz",
-			"integrity": "sha512-IWIbu7pMqyw3EAJHzzHbWa85b6oud/yfKYg5rqB5hNE8CeMi3nX+2C2sj0HswfblST86hpVEOAb9x34NZd6P7A==",
+			"version": "2.1.1",
+			"resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.1.1.tgz",
+			"integrity": "sha512-5ekuQOvO04MDj7kYZJaMab2S8SPjGJbotVNyv7QYFCOAwrGZs/YnoDNlh1U+m5hl7H2D/+n0taaAV/tfyd3KMA==",
 			"dev": true
 		},
 		"better-assert": {
@@ -8796,9 +8795,9 @@
 			"dev": true
 		},
 		"envinfo": {
-			"version": "7.7.3",
-			"resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.7.3.tgz",
-			"integrity": "sha512-46+j5QxbPWza0PB1i15nZx0xQ4I/EfQxg9J8Had3b408SV63nEtor2e+oiY63amTo9KTuh2a3XLObNwduxYwwA==",
+			"version": "7.7.4",
+			"resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.7.4.tgz",
+			"integrity": "sha512-TQXTYFVVwwluWSFis6K2XKxgrD22jEv0FTuLCQI+OjH7rn93+iY0fSSFM5lrSxFY+H1+B0/cvvlamr3UsBivdQ==",
 			"dev": true
 		},
 		"err-code": {
@@ -9789,6 +9788,12 @@
 				}
 			}
 		},
+		"filter-obj": {
+			"version": "1.1.0",
+			"resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz",
+			"integrity": "sha1-mzERErxsYSehbgFsbF1/GeCAXFs=",
+			"dev": true
+		},
 		"finalhandler": {
 			"version": "1.1.2",
 			"resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz",
@@ -11272,9 +11277,9 @@
 			}
 		},
 		"git-url-parse": {
-			"version": "11.4.3",
-			"resolved": "https://registry.npmjs.org/git-url-parse/-/git-url-parse-11.4.3.tgz",
-			"integrity": "sha512-LZTTk0nqJnKN48YRtOpR8H5SEfp1oM2tls90NuZmBxN95PnCvmuXGzqQ4QmVirBgKx2KPYfPGteX3/raWjKenQ==",
+			"version": "11.4.4",
+			"resolved": "https://registry.npmjs.org/git-url-parse/-/git-url-parse-11.4.4.tgz",
+			"integrity": "sha512-Y4o9o7vQngQDIU9IjyCmRJBin5iYjI5u9ZITnddRZpD7dcCFQj2sL2XuMNbLRE4b4B/4ENPsp2Q8P44fjAZ0Pw==",
 			"dev": true,
 			"requires": {
 				"git-up": "^4.0.0"
@@ -13316,8 +13321,7 @@
 		"lit-html": {
 			"version": "1.2.1",
 			"resolved": "https://registry.npmjs.org/lit-html/-/lit-html-1.2.1.tgz",
-			"integrity": "sha512-GSJHHXMGLZDzTRq59IUfL9FCdAlGfqNp/dEa7k7aBaaWD+JKaCjsAk9KYm2V12ItonVaYx2dprN66Zdm1AuBTQ==",
-			"dev": true
+			"integrity": "sha512-GSJHHXMGLZDzTRq59IUfL9FCdAlGfqNp/dEa7k7aBaaWD+JKaCjsAk9KYm2V12ItonVaYx2dprN66Zdm1AuBTQ=="
 		},
 		"load-json-file": {
 			"version": "5.3.0",
@@ -13333,9 +13337,9 @@
 			},
 			"dependencies": {
 				"graceful-fs": {
-					"version": "4.2.4",
-					"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz",
-					"integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==",
+					"version": "4.2.6",
+					"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz",
+					"integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==",
 					"dev": true
 				}
 			}
@@ -13365,6 +13369,20 @@
 				"lie": "3.1.1"
 			}
 		},
+		"localforage-driver-commons": {
+			"version": "1.0.3",
+			"resolved": "https://registry.npmjs.org/localforage-driver-commons/-/localforage-driver-commons-1.0.3.tgz",
+			"integrity": "sha512-K9PiNNXcyX98lQVyCADjv+QKxFD71y0DtVUhqMjwCkFY/d/g7GdJLPN9U92M7RUvfkL8mzPhC+mWEKo9tur5oQ=="
+		},
+		"localforage-driver-memory": {
+			"version": "1.0.5",
+			"resolved": "https://registry.npmjs.org/localforage-driver-memory/-/localforage-driver-memory-1.0.5.tgz",
+			"integrity": "sha512-m4v478ixdT3hA7gKv+pAxDIWgMKiUV2GuYem5jnpOBQFVJbrHU7jmNlrj8a0MfD9qff3i48E3Yfip5Eu1AN6Qg==",
+			"requires": {
+				"localforage-driver-commons": "^1.0.1",
+				"tslib": "^1.6.0"
+			}
+		},
 		"localforage-webextensionstorage-driver": {
 			"version": "2.0.0",
 			"resolved": "https://registry.npmjs.org/localforage-webextensionstorage-driver/-/localforage-webextensionstorage-driver-2.0.0.tgz",
@@ -13709,9 +13727,9 @@
 			}
 		},
 		"meow": {
-			"version": "8.1.0",
-			"resolved": "https://registry.npmjs.org/meow/-/meow-8.1.0.tgz",
-			"integrity": "sha512-fNWkgM1UVMey2kf24yLiccxLihc5W+6zVus3/N0b+VfnJgxV99E9u04X6NAiKdg6ED7DAQBX5sy36NM0QJZkWA==",
+			"version": "8.1.2",
+			"resolved": "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz",
+			"integrity": "sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==",
 			"dev": true,
 			"requires": {
 				"@types/minimist": "^1.2.0",
@@ -13738,9 +13756,9 @@
 					}
 				},
 				"hosted-git-info": {
-					"version": "3.0.7",
-					"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.7.tgz",
-					"integrity": "sha512-fWqc0IcuXs+BmE9orLDyVykAG9GJtGLGuZAAqgcckPgv5xad4AcXGIv8galtQvlwutxSlaMcdw7BUtq2EIvqCQ==",
+					"version": "3.0.8",
+					"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.8.tgz",
+					"integrity": "sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==",
 					"dev": true,
 					"requires": {
 						"lru-cache": "^6.0.0"
@@ -13786,9 +13804,9 @@
 					}
 				},
 				"parse-json": {
-					"version": "5.1.0",
-					"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.1.0.tgz",
-					"integrity": "sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ==",
+					"version": "5.2.0",
+					"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
+					"integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
 					"dev": true,
 					"requires": {
 						"@babel/code-frame": "^7.0.0",
@@ -14447,9 +14465,9 @@
 					}
 				},
 				"graceful-fs": {
-					"version": "4.2.4",
-					"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz",
-					"integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==",
+					"version": "4.2.6",
+					"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz",
+					"integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==",
 					"dev": true
 				},
 				"minipass": {
@@ -18466,9 +18484,9 @@
 			},
 			"dependencies": {
 				"graceful-fs": {
-					"version": "4.2.4",
-					"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz",
-					"integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==",
+					"version": "4.2.6",
+					"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz",
+					"integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==",
 					"dev": true
 				},
 				"which": {
@@ -19041,13 +19059,41 @@
 			"dev": true
 		},
 		"parse-path": {
-			"version": "4.0.2",
-			"resolved": "https://registry.npmjs.org/parse-path/-/parse-path-4.0.2.tgz",
-			"integrity": "sha512-HSqVz6iuXSiL8C1ku5Gl1Z5cwDd9Wo0q8CoffdAghP6bz8pJa1tcMC+m4N+z6VAS8QdksnIGq1TB6EgR4vPR6w==",
+			"version": "4.0.3",
+			"resolved": "https://registry.npmjs.org/parse-path/-/parse-path-4.0.3.tgz",
+			"integrity": "sha512-9Cepbp2asKnWTJ9x2kpw6Fe8y9JDbqwahGCTvklzd/cEq5C5JC59x2Xb0Kx+x0QZ8bvNquGO8/BWP0cwBHzSAA==",
 			"dev": true,
 			"requires": {
 				"is-ssh": "^1.3.0",
-				"protocols": "^1.4.0"
+				"protocols": "^1.4.0",
+				"qs": "^6.9.4",
+				"query-string": "^6.13.8"
+			},
+			"dependencies": {
+				"qs": {
+					"version": "6.9.6",
+					"resolved": "https://registry.npmjs.org/qs/-/qs-6.9.6.tgz",
+					"integrity": "sha512-TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ==",
+					"dev": true
+				},
+				"query-string": {
+					"version": "6.14.0",
+					"resolved": "https://registry.npmjs.org/query-string/-/query-string-6.14.0.tgz",
+					"integrity": "sha512-In3o+lUxlgejoVJgwEdYtdxrmlL0cQWJXj0+kkI7RWVo7hg5AhFtybeKlC9Dpgbr8eOC4ydpEh8017WwyfzqVQ==",
+					"dev": true,
+					"requires": {
+						"decode-uri-component": "^0.2.0",
+						"filter-obj": "^1.1.0",
+						"split-on-first": "^1.0.0",
+						"strict-uri-encode": "^2.0.0"
+					}
+				},
+				"strict-uri-encode": {
+					"version": "2.0.0",
+					"resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz",
+					"integrity": "sha1-ucczDHBChi9rFC3CdLvMWGbONUY=",
+					"dev": true
+				}
 			}
 		},
 		"parse-srcset": {
@@ -21916,6 +21962,12 @@
 				"through": "2"
 			}
 		},
+		"split-on-first": {
+			"version": "1.1.0",
+			"resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz",
+			"integrity": "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==",
+			"dev": true
+		},
 		"split-string": {
 			"version": "3.1.0",
 			"resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
@@ -22460,9 +22512,9 @@
 			},
 			"dependencies": {
 				"ws": {
-					"version": "7.4.2",
-					"resolved": "https://registry.npmjs.org/ws/-/ws-7.4.2.tgz",
-					"integrity": "sha512-T4tewALS3+qsrpGI/8dqNMLIVdq/g/85U98HPMa6F0m6xTbvhXU6RCQLqPH3+SlomNV/LdY6RXEbBpMH6EOJnA==",
+					"version": "7.4.3",
+					"resolved": "https://registry.npmjs.org/ws/-/ws-7.4.3.tgz",
+					"integrity": "sha512-hr6vCR76GsossIRsr8OLR9acVVm1jyfEWvhbNjtgPOrfvAlKzvyeg/P6r8RuDjRyrcQoPQT7K0DGEPc7Ae6jzA==",
 					"optional": true
 				}
 			}
@@ -22881,8 +22933,7 @@
 		"tslib": {
 			"version": "1.9.3",
 			"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz",
-			"integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==",
-			"dev": true
+			"integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ=="
 		},
 		"tsutils": {
 			"version": "3.17.1",
@@ -24096,9 +24147,9 @@
 			},
 			"dependencies": {
 				"graceful-fs": {
-					"version": "4.2.4",
-					"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz",
-					"integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==",
+					"version": "4.2.6",
+					"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz",
+					"integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==",
 					"dev": true
 				},
 				"make-dir": {

+ 0 - 1
package.json

@@ -71,7 +71,6 @@
     "@babel/plugin-syntax-dynamic-import": "^7.2.0",
     "@babel/preset-env": "^7.12.7",
     "@converse/headless": "file:src/headless",
-    "@converse/skeletor": "conversejs/skeletor#56a284bd36a07977d69c08d78e7c8c0fc9fc5c87",
     "@fortawesome/fontawesome-free": "5.14.0",
     "autoprefixer": "^9.8.6",
     "babel-eslint": "^10.1.0",

+ 2 - 2
spec/bookmarks.js

@@ -1,4 +1,4 @@
-/* global mock, converse, _ */
+/* global mock, converse */
 
 const { Strophe, u, sizzle, $iq } = converse.env;
 
@@ -161,7 +161,7 @@ describe("A chat room", function () {
             'nick': ' Othello'
         });
         await new Promise(resolve => _converse.api.listen.once('chatRoomViewInitialized', resolve));
-        expect(_.isUndefined(_converse.chatboxviews.get(jid))).toBeFalsy();
+        expect(!!_converse.chatboxviews.get(jid)).toBe(true);
 
         // Check that we don't auto-join if muc_respect_autojoin is false
         _converse.muc_respect_autojoin = false;

+ 21 - 21
spec/roster.js

@@ -303,7 +303,7 @@ describe("The Contacts Roster", function () {
             expect(_.includes(filter.classList, "x")).toBeFalsy();
             expect(u.hasClass('hidden', rosterview.querySelector('.roster-filter-form .clear-input'))).toBeTruthy();
 
-            const isHidden = _.partial(u.hasClass, 'hidden');
+            const isHidden = (el) => u.hasClass('hidden', el);
             await u.waitUntil(() => !isHidden(rosterview.querySelector('.roster-filter-form .clear-input')), 900);
             rosterview.querySelector('.clear-input').click();
             expect(document.querySelector('.roster-filter').value).toBe("");
@@ -461,8 +461,8 @@ describe("The Contacts Roster", function () {
             // requesting and pending contacts are last.
             let group_titles = await u.waitUntil(() => {
                 const toggles = sizzle('.roster-group a.group-toggle', rosterview);
-                if (_.reduce(toggles, (result, t) => result && u.isVisible(t), true)) {
-                    return _.map(toggles, o => o.textContent.trim());
+                if (toggles.reduce((result, t) => result && u.isVisible(t), true)) {
+                    return toggles.map(o => o.textContent.trim());
                 } else {
                     return false;
                 }
@@ -473,8 +473,8 @@ describe("The Contacts Roster", function () {
             contact.set({'groups': ['secondgroup']});
             group_titles = await u.waitUntil(() => {
                 const toggles = sizzle('.roster-group[data-group="secondgroup"] a.group-toggle', rosterview);
-                if (_.reduce(toggles, (result, t) => result && u.isVisible(t), true)) {
-                    return _.map(toggles, o => o.textContent.trim());
+                if (toggles.reduce((result, t) => result && u.isVisible(t), true)) {
+                    return toggles.map(o => o.textContent.trim());
                 } else {
                     return false;
                 }
@@ -501,7 +501,7 @@ describe("The Contacts Roster", function () {
             const rosterview = document.querySelector('converse-roster');
             await u.waitUntil(() => (sizzle('li', rosterview).filter(u.isVisible).length === 30));
             // Check that usernames appear alphabetically per group
-            _.each(groups, function (name) {
+            groups.forEach(name => {
                 const contacts = sizzle('.roster-group[data-group="'+name+'"] ul li', rosterview);
                 const names = contacts.map(o => o.textContent.trim());
                 expect(names).toEqual(_.clone(names).sort());
@@ -647,7 +647,7 @@ describe("The Contacts Roster", function () {
             const rosterview = document.querySelector('converse-roster');
             await u.waitUntil(() => {
                 const el = rosterview.querySelector(`ul[data-group="Pending contacts"]`);
-                return u.isVisible(el) && _.filter(el.querySelectorAll('li'), li => u.isVisible(li)).length;
+                return u.isVisible(el) && Array.from(el.querySelectorAll('li')).filter(li => u.isVisible(li)).length;
             }, 700)
 
             const remove_el = await u.waitUntil(() => sizzle(`.remove-xmpp-contact[title="Click to remove ${name} as a contact"]`, rosterview).pop());
@@ -709,7 +709,7 @@ describe("The Contacts Roster", function () {
             // Check that they are sorted alphabetically
             const el = await u.waitUntil(() => rosterview.querySelector(`ul[data-group="Pending contacts"]`));
             const spans = el.querySelectorAll('.pending-xmpp-contact span');
-            const t = Array.from(spans).reduce((result, value) => result + _.trim(value.textContent), '');
+            const t = Array.from(spans).reduce((result, value) => result + value.textContent?.trim(), '');
             expect(t).toEqual(mock.pend_names.slice(0,i+1).sort().join(''));
             done();
         }));
@@ -862,8 +862,8 @@ describe("The Contacts Roster", function () {
                 for (let j=0; j<groups.length; j++) {
                     const group = groups[j];
                     const groupname = groupnames[j];
-                    const els = group.querySelectorAll('.current-xmpp-contact.online a.open-chat');
-                    const t = _.reduce(els, (result, value) => result + _.trim(value.textContent), '');
+                    const els = [...group.querySelectorAll('.current-xmpp-contact.online a.open-chat')];
+                    const t = els.reduce((result, value) => result + value.textContent?.trim(), '');
                     expect(t).toEqual(mock.groups_map[groupname].slice(0, els.length).sort().join(''));
                 }
             }
@@ -889,8 +889,8 @@ describe("The Contacts Roster", function () {
                 for (let j=0; j<groups.length; j++) {
                     const group = groups[j];
                     const groupname = groupnames[j];
-                    const els = group.querySelectorAll('.current-xmpp-contact.dnd a.open-chat');
-                    const t = _.reduce(els, (result, value) => result + _.trim(value.textContent), '');
+                    const els = [...group.querySelectorAll('.current-xmpp-contact.dnd a.open-chat')];
+                    const t = els.reduce((result, value) => result + value.textContent.trim(), '');
                     expect(t).toEqual(mock.groups_map[groupname].slice(0, els.length).sort().join(''));
                 }
             }
@@ -916,8 +916,8 @@ describe("The Contacts Roster", function () {
                 for (let j=0; j<groups.length; j++) {
                     const group = groups[j];
                     const groupname = groupnames[j];
-                    const els = group.querySelectorAll('.current-xmpp-contact.away a.open-chat');
-                    const t = _.reduce(els, (result, value) => result + _.trim(value.textContent), '');
+                    const els = [...group.querySelectorAll('.current-xmpp-contact.away a.open-chat')];
+                    const t = els.reduce((result, value) => result + value.textContent.trim(), '');
                     expect(t).toEqual(mock.groups_map[groupname].slice(0, els.length).sort().join(''));
                 }
             }
@@ -943,8 +943,8 @@ describe("The Contacts Roster", function () {
                 for (let j=0; j<groups.length; j++) {
                     const group = groups[j];
                     const groupname = groupnames[j];
-                    const els = group.querySelectorAll('.current-xmpp-contact.xa a.open-chat');
-                    const t = _.reduce(els, (result, value) => result + _.trim(value.textContent), '');
+                    const els = [...group.querySelectorAll('.current-xmpp-contact.xa a.open-chat')];
+                    const t = els.reduce((result, value) => result + value.textContenc?.trim(), '');
                     expect(t).toEqual(mock.groups_map[groupname].slice(0, els.length).sort().join(''));
                 }
             }
@@ -970,8 +970,8 @@ describe("The Contacts Roster", function () {
                 for (let j=0; j<groups.length; j++) {
                     const group = groups[j];
                     const groupname = groupnames[j];
-                    const els = group.querySelectorAll('.current-xmpp-contact.unavailable a.open-chat');
-                    const t = _.reduce(els, (result, value) => result + _.trim(value.textContent), '');
+                    const els = [...group.querySelectorAll('.current-xmpp-contact.unavailable a.open-chat')];
+                    const t = els.reduce((result, value) => result + value.textContent.trim(), '');
                     expect(t).toEqual(mock.groups_map[groupname].slice(0, els.length).sort().join(''));
                 }
             }
@@ -1255,12 +1255,12 @@ describe("The Contacts Roster", function () {
             // have the same attributes values as the original ones.
             attrs = ['jid', 'fullname', 'subscription', 'ask'];
             for (var i=0; i<attrs.length; i++) {
-                new_attrs = _.map(_.map(new_roster.models, 'attributes'), attrs[i]);
-                old_attrs = _.map(_.map(_converse.roster.models, 'attributes'), attrs[i]);
+                new_attrs = new_roster.models.map(m => m.attributes[attrs[i]]); // eslint-disable-line
+                old_attrs = _converse.roster.models.map(m => m.attributes[attrs[i]]); // eslint-disable-line
                 // Roster items in storage are not necessarily sorted,
                 // so we have to sort them here to do a proper
                 // comparison
-                expect(_.isEqual(new_attrs.sort(), old_attrs.sort())).toEqual(true);
+                expect(new_attrs.sort()).toEqual(old_attrs.sort());
             }
             done();
         }));

+ 2 - 1
src/headless/package.json

@@ -36,10 +36,11 @@
   },
   "gitHead": "9641dcdc820e029b05930479c242d2b707bbe8e2",
   "devDependencies": {
-    "@converse/skeletor": "conversejs/skeletor#56a284bd36a07977d69c08d78e7c8c0fc9fc5c87",
+    "@converse/skeletor": "conversejs/skeletor#cc542d7de6dd3d058552bc31ffa9d887d581f34d",
     "filesize": "^6.1.0",
     "localforage": "^1.9.0",
     "localforage-webextensionstorage-driver": "^2.0.0",
+    "localforage-driver-memory": "^1.0.5",
     "lodash-es": "^4.17.15",
     "pluggable.js": "2.0.1",
     "sizzle": "^2.3.5",