From 748476afbba1c0d342204310e3eebe378989c58c Mon Sep 17 00:00:00 2001 From: Ruben Taelman Date: Thu, 14 Jan 2021 11:42:57 +0100 Subject: [PATCH] refactor: Update to Components.js 4 --- .gitignore | 1 + config/config-default.json | 2 +- config/config-file.json | 2 +- config/config-path-routing.json | 2 +- config/config-rdf-to-sparql-endpoint.json | 2 +- config/config-sparql-endpoint.json | 2 +- config/presets/acl.json | 2 +- config/presets/cli-params.json | 2 +- config/presets/http.json | 2 +- config/presets/init.json | 2 +- config/presets/ldp.json | 2 +- config/presets/ldp/credentials-extractor.json | 2 +- config/presets/ldp/metadata-handler.json | 2 +- config/presets/ldp/operation-handler.json | 2 +- config/presets/ldp/permissions-extractor.json | 2 +- config/presets/ldp/request-parser.json | 2 +- config/presets/ldp/response-writer.json | 2 +- config/presets/ldp/websockets.json | 2 +- config/presets/logging.json | 2 +- config/presets/middleware.json | 2 +- config/presets/pod-management.json | 2 +- config/presets/representation-conversion.json | 2 +- config/presets/storage-wrapper.json | 2 +- .../storage/backend/storage-filesystem.json | 2 +- .../storage/backend/storage-memory.json | 2 +- .../backend/storage-sparql-endpoint.json | 2 +- .../storage/routing/quad-type-routing.json | 2 +- .../storage/routing/regex-routing.json | 2 +- package-lock.json | 499 ++++++++++++------ package.json | 12 +- src/init/CliRunner.ts | 23 +- test/integration/Config.ts | 8 +- test/integration/config/ldp-with-auth.json | 2 +- .../integration/config/server-middleware.json | 2 +- .../config/server-without-auth.json | 2 +- test/unit/init/CliRunner.test.ts | 85 +-- 36 files changed, 431 insertions(+), 257 deletions(-) diff --git a/.gitignore b/.gitignore index aade61304..ff67b53e8 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ docs node_modules .eslintcache tsconfig.tsbuildinfo +componentsjs-error-state.json diff --git a/config/config-default.json b/config/config-default.json index bd4f4fbc9..880e6f02b 100644 --- a/config/config-default.json +++ b/config/config-default.json @@ -1,5 +1,5 @@ { - "@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^1.0.0/components/context.jsonld", + "@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^0.0.0/components/context.jsonld", "import": [ "files-scs:config/presets/acl.json", "files-scs:config/presets/http.json", diff --git a/config/config-file.json b/config/config-file.json index 74945ce22..e002a8fbd 100644 --- a/config/config-file.json +++ b/config/config-file.json @@ -1,5 +1,5 @@ { - "@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^1.0.0/components/context.jsonld", + "@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^0.0.0/components/context.jsonld", "import": [ "files-scs:config/presets/acl.json", "files-scs:config/presets/http.json", diff --git a/config/config-path-routing.json b/config/config-path-routing.json index 4a26bc36b..8d9e8c7ab 100644 --- a/config/config-path-routing.json +++ b/config/config-path-routing.json @@ -1,5 +1,5 @@ { - "@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^1.0.0/components/context.jsonld", + "@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^0.0.0/components/context.jsonld", "import": [ "files-scs:config/presets/acl.json", "files-scs:config/presets/http.json", diff --git a/config/config-rdf-to-sparql-endpoint.json b/config/config-rdf-to-sparql-endpoint.json index d7c131fb5..9486c8e93 100644 --- a/config/config-rdf-to-sparql-endpoint.json +++ b/config/config-rdf-to-sparql-endpoint.json @@ -1,5 +1,5 @@ { - "@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^1.0.0/components/context.jsonld", + "@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^0.0.0/components/context.jsonld", "import": [ "files-scs:config/presets/acl.json", "files-scs:config/presets/http.json", diff --git a/config/config-sparql-endpoint.json b/config/config-sparql-endpoint.json index 7a14b124c..29609334e 100644 --- a/config/config-sparql-endpoint.json +++ b/config/config-sparql-endpoint.json @@ -1,5 +1,5 @@ { - "@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^1.0.0/components/context.jsonld", + "@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^0.0.0/components/context.jsonld", "import": [ "files-scs:config/presets/acl.json", "files-scs:config/presets/http.json", diff --git a/config/presets/acl.json b/config/presets/acl.json index 6af9d0983..80f03a32c 100644 --- a/config/presets/acl.json +++ b/config/presets/acl.json @@ -1,5 +1,5 @@ { - "@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^1.0.0/components/context.jsonld", + "@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^0.0.0/components/context.jsonld", "@graph": [ { "@id": "urn:solid-server:default:AclManager", diff --git a/config/presets/cli-params.json b/config/presets/cli-params.json index d5541b452..bfa7e602c 100644 --- a/config/presets/cli-params.json +++ b/config/presets/cli-params.json @@ -1,5 +1,5 @@ { - "@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^1.0.0/components/context.jsonld", + "@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^0.0.0/components/context.jsonld", "@graph": [ { "@id": "urn:solid-server:default:variable:port", diff --git a/config/presets/http.json b/config/presets/http.json index a67292862..e27281aaa 100644 --- a/config/presets/http.json +++ b/config/presets/http.json @@ -1,5 +1,5 @@ { - "@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^1.0.0/components/context.jsonld", + "@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^0.0.0/components/context.jsonld", "@graph": [ { "@id": "urn:solid-server:default:ServerFactory", diff --git a/config/presets/init.json b/config/presets/init.json index 9743df183..cc0b898de 100644 --- a/config/presets/init.json +++ b/config/presets/init.json @@ -1,5 +1,5 @@ { - "@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^1.0.0/components/context.jsonld", + "@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^0.0.0/components/context.jsonld", "@graph": [ { "@id": "urn:solid-server:default:Initializer", diff --git a/config/presets/ldp.json b/config/presets/ldp.json index f0957d262..3dd906c24 100644 --- a/config/presets/ldp.json +++ b/config/presets/ldp.json @@ -1,5 +1,5 @@ { - "@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^1.0.0/components/context.jsonld", + "@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^0.0.0/components/context.jsonld", "@graph": [ { "@id": "urn:solid-server:default:LdpHandler", diff --git a/config/presets/ldp/credentials-extractor.json b/config/presets/ldp/credentials-extractor.json index d9abee40c..35f5ecd0b 100644 --- a/config/presets/ldp/credentials-extractor.json +++ b/config/presets/ldp/credentials-extractor.json @@ -1,5 +1,5 @@ { - "@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^1.0.0/components/context.jsonld", + "@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^0.0.0/components/context.jsonld", "@graph": [ { "@id": "urn:solid-server:default:CredentialsExtractor", diff --git a/config/presets/ldp/metadata-handler.json b/config/presets/ldp/metadata-handler.json index 09e9247af..4bbca08cb 100644 --- a/config/presets/ldp/metadata-handler.json +++ b/config/presets/ldp/metadata-handler.json @@ -1,5 +1,5 @@ { - "@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^1.0.0/components/context.jsonld", + "@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^0.0.0/components/context.jsonld", "@graph": [ { "@id": "urn:solid-server:default:MetadataExtractor", diff --git a/config/presets/ldp/operation-handler.json b/config/presets/ldp/operation-handler.json index 2090c5a5c..9873521e3 100644 --- a/config/presets/ldp/operation-handler.json +++ b/config/presets/ldp/operation-handler.json @@ -1,5 +1,5 @@ { - "@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^1.0.0/components/context.jsonld", + "@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^0.0.0/components/context.jsonld", "@graph": [ { "@id": "urn:solid-server:default:OperationHandler", diff --git a/config/presets/ldp/permissions-extractor.json b/config/presets/ldp/permissions-extractor.json index f0b40f39b..46fc66b50 100644 --- a/config/presets/ldp/permissions-extractor.json +++ b/config/presets/ldp/permissions-extractor.json @@ -1,5 +1,5 @@ { - "@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^1.0.0/components/context.jsonld", + "@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^0.0.0/components/context.jsonld", "@graph": [ { "@id": "urn:solid-server:default:PermissionsExtractor", diff --git a/config/presets/ldp/request-parser.json b/config/presets/ldp/request-parser.json index f66c75884..a1717518c 100644 --- a/config/presets/ldp/request-parser.json +++ b/config/presets/ldp/request-parser.json @@ -1,5 +1,5 @@ { - "@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^1.0.0/components/context.jsonld", + "@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^0.0.0/components/context.jsonld", "@graph": [ { "@id": "urn:solid-server:default:RequestParser", diff --git a/config/presets/ldp/response-writer.json b/config/presets/ldp/response-writer.json index 2e26b1b12..71bb9f175 100644 --- a/config/presets/ldp/response-writer.json +++ b/config/presets/ldp/response-writer.json @@ -1,5 +1,5 @@ { - "@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^1.0.0/components/context.jsonld", + "@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^0.0.0/components/context.jsonld", "@graph": [ { "@id": "urn:solid-server:default:MetadataSerializer", diff --git a/config/presets/ldp/websockets.json b/config/presets/ldp/websockets.json index abf2d0903..9de15f77f 100644 --- a/config/presets/ldp/websockets.json +++ b/config/presets/ldp/websockets.json @@ -1,5 +1,5 @@ { - "@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^1.0.0/components/context.jsonld", + "@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^0.0.0/components/context.jsonld", "@graph": [ { "@id": "urn:solid-server:default:WebSocketHandler", diff --git a/config/presets/logging.json b/config/presets/logging.json index d13310afd..685251c4e 100644 --- a/config/presets/logging.json +++ b/config/presets/logging.json @@ -1,5 +1,5 @@ { - "@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^1.0.0/components/context.jsonld", + "@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^0.0.0/components/context.jsonld", "@graph": [ { "@id": "urn:solid-server:default:LoggerFactory", diff --git a/config/presets/middleware.json b/config/presets/middleware.json index 485c42038..24d7de715 100644 --- a/config/presets/middleware.json +++ b/config/presets/middleware.json @@ -1,5 +1,5 @@ { - "@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^1.0.0/components/context.jsonld", + "@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^0.0.0/components/context.jsonld", "@graph": [ { "@id": "urn:solid-server:default:Middleware", diff --git a/config/presets/pod-management.json b/config/presets/pod-management.json index 8df51e85a..9ce746377 100644 --- a/config/presets/pod-management.json +++ b/config/presets/pod-management.json @@ -1,5 +1,5 @@ { - "@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^1.0.0/components/context.jsonld", + "@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^0.0.0/components/context.jsonld", "@graph": [ { "@id": "urn:solid-server:default:ResourcesGenerator", diff --git a/config/presets/representation-conversion.json b/config/presets/representation-conversion.json index bf96e0c39..50c2ca579 100644 --- a/config/presets/representation-conversion.json +++ b/config/presets/representation-conversion.json @@ -1,5 +1,5 @@ { - "@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^1.0.0/components/context.jsonld", + "@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^0.0.0/components/context.jsonld", "@graph": [ { "@id": "urn:solid-server:default:RdfToQuadConverter", diff --git a/config/presets/storage-wrapper.json b/config/presets/storage-wrapper.json index e76a33e5a..ae1a7d455 100644 --- a/config/presets/storage-wrapper.json +++ b/config/presets/storage-wrapper.json @@ -1,5 +1,5 @@ { - "@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^1.0.0/components/context.jsonld", + "@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^0.0.0/components/context.jsonld", "@graph": [ { "@id": "urn:solid-server:default:ResourceStore", diff --git a/config/presets/storage/backend/storage-filesystem.json b/config/presets/storage/backend/storage-filesystem.json index 5b09bf56d..7d041eae8 100644 --- a/config/presets/storage/backend/storage-filesystem.json +++ b/config/presets/storage/backend/storage-filesystem.json @@ -1,5 +1,5 @@ { - "@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^1.0.0/components/context.jsonld", + "@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^0.0.0/components/context.jsonld", "@graph": [ { "@id": "urn:solid-server:default:FileIdentifierMapper", diff --git a/config/presets/storage/backend/storage-memory.json b/config/presets/storage/backend/storage-memory.json index ef8d090eb..31fdea201 100644 --- a/config/presets/storage/backend/storage-memory.json +++ b/config/presets/storage/backend/storage-memory.json @@ -1,5 +1,5 @@ { - "@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^1.0.0/components/context.jsonld", + "@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^0.0.0/components/context.jsonld", "@graph": [ { "@id": "urn:solid-server:default:MemoryDataAccessor", diff --git a/config/presets/storage/backend/storage-sparql-endpoint.json b/config/presets/storage/backend/storage-sparql-endpoint.json index b547f31af..ba7883c8f 100644 --- a/config/presets/storage/backend/storage-sparql-endpoint.json +++ b/config/presets/storage/backend/storage-sparql-endpoint.json @@ -1,5 +1,5 @@ { - "@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^1.0.0/components/context.jsonld", + "@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^0.0.0/components/context.jsonld", "@graph": [ { "@id": "urn:solid-server:default:SparqlDataAccessor", diff --git a/config/presets/storage/routing/quad-type-routing.json b/config/presets/storage/routing/quad-type-routing.json index e7e4f01f9..74376da0d 100644 --- a/config/presets/storage/routing/quad-type-routing.json +++ b/config/presets/storage/routing/quad-type-routing.json @@ -1,5 +1,5 @@ { - "@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^1.0.0/components/context.jsonld", + "@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^0.0.0/components/context.jsonld", "@graph": [ { "@id": "urn:solid-server:default:PreferenceSupport", diff --git a/config/presets/storage/routing/regex-routing.json b/config/presets/storage/routing/regex-routing.json index 32be5c179..308335938 100644 --- a/config/presets/storage/routing/regex-routing.json +++ b/config/presets/storage/routing/regex-routing.json @@ -1,5 +1,5 @@ { - "@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^1.0.0/components/context.jsonld", + "@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^0.0.0/components/context.jsonld", "@graph": [ { "@id": "urn:solid-server:default:RegexRouterRule", diff --git a/package-lock.json b/package-lock.json index ad6289099..a76f1a98b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1485,11 +1485,6 @@ "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=", "dev": true }, - "@types/lodash": { - "version": "4.14.165", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.165.tgz", - "integrity": "sha512-tjSSOTHhI5mCHTy/OOXYIhi2Wt1qcbHmuXD1Ha7q70CgI/I71afO4XtLb/cVexki1oVYchpul/TOuu3Arcdxrg==" - }, "@types/lru-cache": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/@types/lru-cache/-/lru-cache-5.1.0.tgz", @@ -1582,6 +1577,11 @@ "@types/node": "*" } }, + "@types/semver": { + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.4.tgz", + "integrity": "sha512-+nVsLKlcUCeMzD2ufHEYuJ9a2ovstb6Dp52A5VsoKxDXgvE051XgHI/33I1EymwkRGQkwnA0LkhnUzituGs4EQ==" + }, "@types/serve-static": { "version": "1.13.6", "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.6.tgz", @@ -1805,19 +1805,19 @@ } }, "@typescript-eslint/visitor-keys": { - "version": "4.8.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.8.2.tgz", - "integrity": "sha512-Vg+/SJTMZJEKKGHW7YC21QxgKJrSbxoYYd3MEUGtW7zuytHuEcksewq0DUmo4eh/CTNrVJGSdIY9AtRb6riWFw==", + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.13.0.tgz", + "integrity": "sha512-6RoxWK05PAibukE7jElqAtNMq+RWZyqJ6Q/GdIxaiUj2Ept8jh8+FUVlbq9WxMYxkmEOPvCE5cRSyupMpwW31g==", "dev": true, "requires": { - "@typescript-eslint/types": "4.8.2", + "@typescript-eslint/types": "4.13.0", "eslint-visitor-keys": "^2.0.0" }, "dependencies": { "@typescript-eslint/types": { - "version": "4.8.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.8.2.tgz", - "integrity": "sha512-z1/AVcVF8ju5ObaHe2fOpZYEQrwHyZ7PTOlmjd3EoFeX9sv7UekQhfrCmgUO7PruLNfSHrJGQvrW3Q7xQ8EoAw==", + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.13.0.tgz", + "integrity": "sha512-/+aPaq163oX+ObOG00M0t9tKkOgdv9lq0IQv/y4SqGkAXmhFmCfgsELV7kOCTb2vVU5VOmVwXBXJTDr353C1rQ==", "dev": true } } @@ -1884,6 +1884,7 @@ "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, "requires": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -2098,6 +2099,7 @@ "version": "0.2.4", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "dev": true, "requires": { "safer-buffer": "~2.1.0" } @@ -2105,7 +2107,8 @@ "assert-plus": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true }, "assign-symbols": { "version": "1.0.0", @@ -2132,7 +2135,8 @@ "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true }, "at-least-node": { "version": "1.0.0", @@ -2149,12 +2153,14 @@ "aws-sign2": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "dev": true }, "aws4": { "version": "1.11.0", "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", - "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", + "dev": true }, "babel-eslint": { "version": "10.1.0", @@ -2323,6 +2329,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "dev": true, "requires": { "tweetnacl": "^0.14.3" } @@ -2538,7 +2545,8 @@ "caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true }, "chalk": { "version": "4.1.0", @@ -2712,6 +2720,7 @@ "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, "requires": { "delayed-stream": "~1.0.0" } @@ -2735,70 +2744,234 @@ "dev": true }, "componentsjs": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/componentsjs/-/componentsjs-3.6.1.tgz", - "integrity": "sha512-Qnnqo9Lx7yBhK8ttkwjFYAkY300P9gvr4S9q50tWU/O01dzSdBxX/rvvx9HBa3PxMOkV1UaBkmztU7Rmq92uZQ==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/componentsjs/-/componentsjs-4.0.1.tgz", + "integrity": "sha512-cIY0LmLvC2kWDIWucdFEH4ifVDYteCP1PANxcaJTtEXHibylxjzDpi33BLnd0P4TSpz4cUC0yEBdfi54lmpBGw==", "requires": { - "@types/lodash": "^4.14.56", "@types/minimist": "^1.2.0", - "@types/n3": "0.0.3", - "@types/node": "8.10.21", - "global-modules": "^1.0.0", - "jsonld": "^0.4.11", - "lodash": "^4.17.4", + "@types/node": "^14.14.7", + "@types/rdf-js": "*", + "@types/semver": "^7.3.4", + "jsonld-context-parser": "^2.1.1", "minimist": "^1.2.0", - "n3": "^0.9.1", - "requireg": "^0.1.7" + "rdf-data-factory": "^1.0.4", + "rdf-object": "^1.8.0", + "rdf-parse": "^1.6.0", + "rdf-quad": "^1.5.0", + "rdf-terms": "^1.6.2", + "semver": "^7.3.2", + "winston": "^3.3.3" }, "dependencies": { - "@types/n3": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/@types/n3/-/n3-0.0.3.tgz", - "integrity": "sha512-oqywrU7RdLKO0Ndnrue8smXR+oLW4EgFGrd/ewaYbkZjgr/eRpwpjsJk9D5Z8AF+cZKYbiQtR5BR6LNlLl0HPQ==", + "@comunica/actor-abstract-mediatyped": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-abstract-mediatyped/-/actor-abstract-mediatyped-1.18.1.tgz", + "integrity": "sha512-pjAf0agOpADEVBKp11XhFGH33FML4LTxO08JJmr6Qf6FlbMAhU3KFBrK34nYZ/5QNdhZwE2i8eFmjNC/2CbOKA==" + }, + "@comunica/actor-http-native": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-http-native/-/actor-http-native-1.18.1.tgz", + "integrity": "sha512-nQ7dlB3GkP46h28XVyOi43Q4fuc1pUaYWFz6YQeTOgyJMnm/fgNvu9ECsFdG4rYVo3377VVxpvCylGx936S+wQ==", "requires": { - "@types/node": "*" + "@types/parse-link-header": "^1.0.0", + "cross-fetch": "^3.0.5", + "follow-redirects": "^1.5.1", + "parse-link-header": "^1.0.1" } }, - "@types/node": { - "version": "8.10.21", - "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.21.tgz", - "integrity": "sha512-87XkD9qDXm8fIax+5y7drx84cXsu34ZZqfB7Cial3Q/2lxSoJ/+DRaWckkCbxP41wFSIrrb939VhzaNxj4eY1w==" + "@comunica/actor-rdf-parse-html": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-html/-/actor-rdf-parse-html-1.18.1.tgz", + "integrity": "sha512-Wx5c/4bN7ohJjsp397JeX8YTDZXMp3VWEFilIjl4/CtAoGV4BzYlHPFo3ZCuRjRpn2EPyJF0Itxedio0b30u3A==", + "requires": { + "@comunica/bus-rdf-parse-html": "^1.18.1", + "@types/rdf-js": "*", + "htmlparser2": "^5.0.0" + } }, - "n3": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/n3/-/n3-0.9.1.tgz", - "integrity": "sha1-QwtUfVjcc4FAjEV4TdgFgXGQOTI=" + "@comunica/actor-rdf-parse-html-rdfa": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-html-rdfa/-/actor-rdf-parse-html-rdfa-1.18.1.tgz", + "integrity": "sha512-c1ae+6F+ohTIAscItsVI/+dKY5tKx7sJwKrrznwgXoPlkFxk7aI9W03Du8X1FsT+spNlk3+CIA/lUPrZ53Lhhw==", + "requires": { + "rdfa-streaming-parser": "^1.4.0" + } + }, + "@comunica/actor-rdf-parse-html-script": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-html-script/-/actor-rdf-parse-html-script-1.18.1.tgz", + "integrity": "sha512-KI3h3Qb+/IibzFJjLWYVFn43pM0oyRaDovm9VzyGass4wbxmMUVm69lgOLTEcsmOVmTPNcvNI4dYa03g/zjwjA==", + "requires": { + "@comunica/bus-rdf-parse-html": "^1.18.1", + "@types/rdf-js": "*", + "relative-to-absolute-iri": "^1.0.5" + } + }, + "@comunica/actor-rdf-parse-jsonld": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-jsonld/-/actor-rdf-parse-jsonld-1.18.1.tgz", + "integrity": "sha512-3X3REVIqRTgjzWUsfVgJQsyZ75J/SSl7mHfFchNncxRdm14hq67RApO0gztdSLj4t4Kv1HtciEm/zs+nEuKmNw==", + "requires": { + "@types/rdf-js": "*", + "jsonld-context-parser": "^2.1.1", + "jsonld-streaming-parser": "^2.1.1", + "stream-to-string": "^1.2.0" + } + }, + "@comunica/actor-rdf-parse-n3": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-n3/-/actor-rdf-parse-n3-1.18.1.tgz", + "integrity": "sha512-5GQ+PaabjXSgu3mR8tN2ZWyy+pSaq6rIyHDNKAbh3AkG70j6tQWxfa4OZIk2+ImDEjtPVofYsJZnY5VSZhZEwg==", + "requires": { + "@types/n3": "^1.4.4", + "n3": "^1.6.3" + } + }, + "@comunica/actor-rdf-parse-rdfxml": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-rdfxml/-/actor-rdf-parse-rdfxml-1.18.1.tgz", + "integrity": "sha512-qCn8UovKW6xNCoYgR13MBPi8mOOSorRxPLpSOt7eVFEADFMkjzVJAbyExN+8EzHgrJj2DIwQixD2kYnGaEkz+Q==", + "requires": { + "rdfxml-streaming-parser": "^1.4.0" + } + }, + "@comunica/actor-rdf-parse-xml-rdfa": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-xml-rdfa/-/actor-rdf-parse-xml-rdfa-1.18.1.tgz", + "integrity": "sha512-99g5zw57ZbxSKiv0daZiEWhu70Efs0dqKQsf4hIHl+1mZJ7gjYdXrA1gSb2h/bnvezZKyiqjkc9VxzD+J7dv0A==", + "requires": { + "rdfa-streaming-parser": "^1.3.0" + } + }, + "@comunica/bus-http": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-http/-/bus-http-1.18.1.tgz", + "integrity": "sha512-ovEy1HEagq2cla3WSCLyrA6LGMsfNyc7sm9UBJUnaX4KnYlOoombibsCwqiJhGfvHHV019yFj1l7NDICF3ZD3Q==", + "requires": { + "is-stream": "^2.0.0", + "web-streams-node": "^0.4.0" + } + }, + "@comunica/bus-init": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-init/-/bus-init-1.18.1.tgz", + "integrity": "sha512-eXIfQM4cl3dKwSd5GVt2lxcTxiSqxZZ/u8rjQeS/vncdRDfIAY7WS1qBHARUXEgeLRu5LX5W4Bq13TGwn+dkNQ==" + }, + "@comunica/bus-rdf-parse": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-parse/-/bus-rdf-parse-1.18.1.tgz", + "integrity": "sha512-GNNCd1cEp+mjVeUG8eHI3u1x8+ic6MatHRET/ujMeouC0kI1jX31R57PoX9QWzopOx73tueI2i9E+5xLQDa29A==", + "requires": { + "@comunica/actor-abstract-mediatyped": "^1.18.1", + "@types/rdf-js": "*" + } + }, + "@comunica/bus-rdf-parse-html": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-parse-html/-/bus-rdf-parse-html-1.18.1.tgz", + "integrity": "sha512-bV4N7ABCshWi0S4VliibGLtazYGiToVyeMqhFBMyl/v8IaPOW+2QbE4JfXcen8+ieHqonFt28W/x9gbh7VEZeA==", + "requires": { + "@types/rdf-js": "*" + } + }, + "@comunica/core": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-1.18.1.tgz", + "integrity": "sha512-wXLOu/Wkt0zUy6XwI4W7IaXkcLmEkxs0P/xWY3huMdG5ixvFxVlOz+EuKz5sNCpeGiqZsMON4I9YvgiUlnZv0Q==", + "requires": { + "immutable": "^3.8.2" + } + }, + "@comunica/mediator-combine-union": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/@comunica/mediator-combine-union/-/mediator-combine-union-1.18.1.tgz", + "integrity": "sha512-w4S4WNwjh+8zjz154YaEL1p4VWYYD5yNhPTH/mIvk5IS2R6TLqTQ0qlk5JvOvDA5aL8IiOndG0rTPXxFS8dhxw==" + }, + "@comunica/mediator-number": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/@comunica/mediator-number/-/mediator-number-1.18.1.tgz", + "integrity": "sha512-nJNrMi01l9eLEttWlcIvabLoOEr31Dw19VoOClYvPC315e60DYuX4b5PTZNIuTTjv5x39DVRQ2qjFVMdFjn3sQ==" + }, + "@comunica/mediator-race": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/@comunica/mediator-race/-/mediator-race-1.18.1.tgz", + "integrity": "sha512-UN9yT62mHTbIvCxyMyMx63wbYVB2Z7tq0pzHrVOUTlx09QMHkyIr8wVkaAiTzXfm/PKTX9awNNpmXrAz9Sw8kA==" + }, + "@types/node": { + "version": "14.14.20", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.20.tgz", + "integrity": "sha512-Y93R97Ouif9JEOWPIUyU+eyIdyRqQR0I8Ez1dzku4hDx34NWh4HbtIc3WNzwB1Y9ULvNGeu5B8h8bVL5cAk4/A==" + }, + "htmlparser2": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-5.0.1.tgz", + "integrity": "sha512-vKZZra6CSe9qsJzh0BjBGXo8dvzNsq/oGvsjfRdOrrryfeD9UOBEEQdeoqCRmKZchF5h2zOBMQ6YuQ0uRUmdbQ==", + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^3.3.0", + "domutils": "^2.4.2", + "entities": "^2.0.0" + } + }, + "rdf-parse": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/rdf-parse/-/rdf-parse-1.6.1.tgz", + "integrity": "sha512-WBylJN11cuvo2GAvS/drqus+94tb9evl1QvUSbkNAVxYWUc5chnyV9ZpWPZW/F2pXJlPLqet9kE8U52eXKMo3Q==", + "requires": { + "@comunica/actor-http-native": "~1.18.0", + "@comunica/actor-rdf-parse-html": "~1.18.0", + "@comunica/actor-rdf-parse-html-microdata": "~1.18.0", + "@comunica/actor-rdf-parse-html-rdfa": "~1.18.0", + "@comunica/actor-rdf-parse-html-script": "~1.18.0", + "@comunica/actor-rdf-parse-jsonld": "~1.18.0", + "@comunica/actor-rdf-parse-n3": "~1.18.0", + "@comunica/actor-rdf-parse-rdfxml": "~1.18.0", + "@comunica/actor-rdf-parse-xml-rdfa": "~1.18.0", + "@comunica/bus-http": "~1.18.0", + "@comunica/bus-init": "~1.18.0", + "@comunica/bus-rdf-parse": "~1.18.0", + "@comunica/bus-rdf-parse-html": "~1.18.0", + "@comunica/core": "~1.18.0", + "@comunica/mediator-combine-union": "~1.18.0", + "@comunica/mediator-number": "~1.18.0", + "@comunica/mediator-race": "~1.18.0", + "@types/rdf-js": "*", + "stream-to-string": "^1.2.0" + } } } }, "componentsjs-generator": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/componentsjs-generator/-/componentsjs-generator-1.6.0.tgz", - "integrity": "sha512-RNcYj9tjqdXP2hFQDUmVKNdxER5wmMSSvLpuJ7/x0ZbjS/LNfKlP0e4WBW5HnTpzlLfjHjqgEgD2O67mhPeFpA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/componentsjs-generator/-/componentsjs-generator-2.0.0.tgz", + "integrity": "sha512-H7LyQfLrLJ916uZ4hyXmDaVryMktJVSFCIgm+Wc3vCl7SuMHLQ2+dHZQ4ywOCa1OKPyUwVGyiDSEWjBNStKMuA==", "dev": true, "requires": { "@types/lru-cache": "^5.1.0", + "@types/semver": "^7.3.4", "@typescript-eslint/typescript-estree": "^4.6.1", "comment-parser": "^0.7.6", + "componentsjs": "^4.0.0", "jsonld-context-parser": "^2.0.2", "lru-cache": "^6.0.0", - "minimist": "^1.2.5" + "minimist": "^1.2.5", + "semver": "^7.3.2" }, "dependencies": { "@typescript-eslint/types": { - "version": "4.8.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.8.2.tgz", - "integrity": "sha512-z1/AVcVF8ju5ObaHe2fOpZYEQrwHyZ7PTOlmjd3EoFeX9sv7UekQhfrCmgUO7PruLNfSHrJGQvrW3Q7xQ8EoAw==", + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.13.0.tgz", + "integrity": "sha512-/+aPaq163oX+ObOG00M0t9tKkOgdv9lq0IQv/y4SqGkAXmhFmCfgsELV7kOCTb2vVU5VOmVwXBXJTDr353C1rQ==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "4.8.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.8.2.tgz", - "integrity": "sha512-HToGNwI6fekH0dOw3XEVESUm71Onfam0AKin6f26S2FtUmO7o3cLlWgrIaT1q3vjB3wCTdww3Dx2iGq5wtUOCg==", + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.13.0.tgz", + "integrity": "sha512-9A0/DFZZLlGXn5XA349dWQFwPZxcyYyCFX5X88nWs2uachRDwGeyPz46oTsm9ZJE66EALvEns1lvBwa4d9QxMg==", "dev": true, "requires": { - "@typescript-eslint/types": "4.8.2", - "@typescript-eslint/visitor-keys": "4.8.2", + "@typescript-eslint/types": "4.13.0", + "@typescript-eslint/visitor-keys": "4.13.0", "debug": "^4.1.1", "globby": "^11.0.1", "is-glob": "^4.0.1", @@ -3014,6 +3187,7 @@ "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, "requires": { "assert-plus": "^1.0.0" } @@ -3085,7 +3259,8 @@ "deep-extend": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "dev": true }, "deep-is": { "version": "0.1.3", @@ -3158,7 +3333,8 @@ "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true }, "depd": { "version": "1.1.2", @@ -3269,6 +3445,7 @@ "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "dev": true, "requires": { "jsbn": "~0.1.0", "safer-buffer": "^2.1.0" @@ -3370,11 +3547,6 @@ "is-symbol": "^1.0.2" } }, - "es6-promise": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-2.3.0.tgz", - "integrity": "sha1-lu258v2wGZWCKyY92KratnSBgbw=" - }, "escalade": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", @@ -4107,14 +4279,6 @@ } } }, - "expand-tilde": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", - "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", - "requires": { - "homedir-polyfill": "^1.0.1" - } - }, "expect": { "version": "26.6.1", "resolved": "https://registry.npmjs.org/expect/-/expect-26.6.1.tgz", @@ -4181,7 +4345,8 @@ "extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true }, "extend-shallow": { "version": "3.0.2", @@ -4272,7 +4437,8 @@ "extsprintf": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true }, "fast-deep-equal": { "version": "3.1.3", @@ -4296,7 +4462,8 @@ "fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true }, "fast-levenshtein": { "version": "2.0.6", @@ -4462,12 +4629,14 @@ "forever-agent": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true }, "form-data": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, "requires": { "asynckit": "^0.4.0", "combined-stream": "^1.0.6", @@ -4595,6 +4764,7 @@ "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, "requires": { "assert-plus": "^1.0.0" } @@ -4871,28 +5041,6 @@ "ini": "^1.3.5" } }, - "global-modules": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", - "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", - "requires": { - "global-prefix": "^1.0.1", - "is-windows": "^1.0.1", - "resolve-dir": "^1.0.0" - } - }, - "global-prefix": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", - "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", - "requires": { - "expand-tilde": "^2.0.2", - "homedir-polyfill": "^1.0.1", - "ini": "^1.3.4", - "is-windows": "^1.0.1", - "which": "^1.2.14" - } - }, "globals": { "version": "12.4.0", "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", @@ -4970,12 +5118,14 @@ "har-schema": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true }, "har-validator": { "version": "5.1.5", "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "dev": true, "requires": { "ajv": "^6.12.3", "har-schema": "^2.0.0" @@ -5066,14 +5216,6 @@ "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==", "dev": true }, - "homedir-polyfill": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", - "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", - "requires": { - "parse-passwd": "^1.0.0" - } - }, "hosted-git-info": { "version": "2.8.8", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", @@ -5133,6 +5275,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, "requires": { "assert-plus": "^1.0.0", "jsprim": "^1.2.2", @@ -5272,7 +5415,8 @@ "ini": { "version": "1.3.8", "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true }, "internal-slot": { "version": "1.0.2", @@ -5543,12 +5687,14 @@ "is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true }, "is-windows": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true }, "is-wsl": { "version": "2.2.0", @@ -5574,7 +5720,8 @@ "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true }, "isobject": { "version": "3.0.1", @@ -5585,7 +5732,8 @@ "isstream": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true }, "istanbul-lib-coverage": { "version": "3.0.0", @@ -6313,7 +6461,8 @@ "jsbn": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true }, "jsdom": { "version": "16.4.0", @@ -6389,12 +6538,14 @@ "json-schema": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true }, "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true }, "json-stable-stringify-without-jsonify": { "version": "1.0.1", @@ -6405,7 +6556,8 @@ "json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true }, "json5": { "version": "1.0.1", @@ -6434,17 +6586,6 @@ } } }, - "jsonld": { - "version": "0.4.12", - "resolved": "https://registry.npmjs.org/jsonld/-/jsonld-0.4.12.tgz", - "integrity": "sha1-oC8gXVNBQU3xtthBTxuWenEgc+g=", - "requires": { - "es6-promise": "^2.0.0", - "pkginfo": "~0.4.0", - "request": "^2.61.0", - "xmldom": "0.1.19" - } - }, "jsonld-context-parser": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/jsonld-context-parser/-/jsonld-context-parser-2.1.1.tgz", @@ -6497,6 +6638,7 @@ "version": "1.4.1", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "dev": true, "requires": { "assert-plus": "1.0.0", "extsprintf": "1.3.0", @@ -6606,7 +6748,8 @@ "lodash": { "version": "4.17.20", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==" + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "dev": true }, "lodash._reinterpolate": { "version": "3.0.0", @@ -7036,11 +7179,6 @@ "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" }, - "nested-error-stacks": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/nested-error-stacks/-/nested-error-stacks-2.0.1.tgz", - "integrity": "sha512-SrQrok4CATudVzBS7coSz26QRSmlK9TzzoFbeKfcPBUFPjcQM9Rqvr/DlJkOrwI/0KcgvMub1n1g5Jt9EgRn4A==" - }, "nice-try": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", @@ -7246,7 +7384,8 @@ "oauth-sign": { "version": "0.9.0", "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "dev": true }, "object-assign": { "version": "4.1.1", @@ -7532,11 +7671,6 @@ "xtend": "~4.0.1" } }, - "parse-passwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", - "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=" - }, "parse5": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", @@ -7575,7 +7709,8 @@ "path-parse": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "dev": true }, "path-to-regexp": { "version": "0.1.7", @@ -7591,7 +7726,8 @@ "performance-now": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true }, "picomatch": { "version": "2.2.2", @@ -7674,11 +7810,6 @@ } } }, - "pkginfo": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.4.1.tgz", - "integrity": "sha1-tUGO8EOd5UJfxJlQQtztFPsqhP8=" - }, "please-upgrade-node": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz", @@ -7781,7 +7912,8 @@ "psl": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", - "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", + "dev": true }, "pstree.remy": { "version": "1.1.8", @@ -7802,7 +7934,8 @@ "punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true }, "pupa": { "version": "2.1.1", @@ -7816,7 +7949,8 @@ "qs": { "version": "6.5.2", "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "dev": true }, "queue-microtask": { "version": "1.2.2", @@ -7855,6 +7989,7 @@ "version": "1.2.8", "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dev": true, "requires": { "deep-extend": "^0.6.0", "ini": "~1.3.0", @@ -7920,6 +8055,26 @@ "rdf-terms": "^1.6.2" } }, + "rdf-literal": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/rdf-literal/-/rdf-literal-1.2.0.tgz", + "integrity": "sha512-N7nyfp/xzoiUuJt0xZ80BvBGkCPwWejgVDkCxWDSuooXKSows4ToW+KouYkMHLcoFzGg1Rlw2lk6btjMJg5aSA==", + "requires": { + "@types/rdf-js": "*", + "rdf-data-factory": "^1.0.1" + } + }, + "rdf-object": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/rdf-object/-/rdf-object-1.8.0.tgz", + "integrity": "sha512-/yq5vk8eqspZwIcK1BS3wPcmv4kinooaPX5SRDpCnthCjOcDiyNgPnfXqMt5OpDWhykDkNJeTCvqQifFqZRPyw==", + "requires": { + "jsonld-context-parser": "^2.0.2", + "rdf-data-factory": "^1.0.3", + "rdf-string": "^1.5.0", + "streamify-array": "^1.0.1" + } + }, "rdf-parse": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/rdf-parse/-/rdf-parse-1.5.0.tgz", @@ -7955,6 +8110,16 @@ } } }, + "rdf-quad": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/rdf-quad/-/rdf-quad-1.5.0.tgz", + "integrity": "sha512-LnCYx8XbRVW1wr6UiZPSy2Tv7bXAtEwuyck/68dANhFu8VMnGS+QfUNP3b9YI6p4Bfd/fyDx5E3x81IxGV6BzA==", + "requires": { + "rdf-data-factory": "^1.0.1", + "rdf-literal": "^1.2.0", + "rdf-string": "^1.5.0" + } + }, "rdf-serialize": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/rdf-serialize/-/rdf-serialize-1.0.0.tgz", @@ -8201,6 +8366,7 @@ "version": "2.88.2", "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "dev": true, "requires": { "aws-sign2": "~0.7.0", "aws4": "^1.8.0", @@ -8227,7 +8393,8 @@ "uuid": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "dev": true } } }, @@ -8262,16 +8429,6 @@ "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", "dev": true }, - "requireg": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/requireg/-/requireg-0.1.8.tgz", - "integrity": "sha512-qjbwnviLXg4oZiAFEr1ExbevkUPaEiP1uPGSoFCVgCCcbo4PXv9SmiJpXNYmgTBCZ8fY1Jy+sk7F9/kPNepeDw==", - "requires": { - "nested-error-stacks": "~2.0.1", - "rc": "~1.2.7", - "resolve": "~1.7.1" - } - }, "requireindex": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/requireindex/-/requireindex-1.2.0.tgz", @@ -8288,6 +8445,7 @@ "version": "1.7.1", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.7.1.tgz", "integrity": "sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==", + "dev": true, "requires": { "path-parse": "^1.0.5" } @@ -8309,15 +8467,6 @@ } } }, - "resolve-dir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", - "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", - "requires": { - "expand-tilde": "^2.0.0", - "global-modules": "^1.0.0" - } - }, "resolve-from": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", @@ -8558,8 +8707,7 @@ "semver": { "version": "7.3.2", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", - "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", - "dev": true + "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==" }, "semver-compare": { "version": "1.0.0", @@ -9089,6 +9237,7 @@ "version": "1.16.1", "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "dev": true, "requires": { "asn1": "~0.2.3", "assert-plus": "^1.0.0", @@ -9312,7 +9461,8 @@ "strip-json-comments": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true }, "superagent": { "version": "6.1.0", @@ -9639,6 +9789,7 @@ "version": "2.5.0", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, "requires": { "psl": "^1.1.28", "punycode": "^2.1.1" @@ -9737,6 +9888,7 @@ "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, "requires": { "safe-buffer": "^5.0.1" } @@ -9744,7 +9896,8 @@ "tweetnacl": { "version": "0.14.5", "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true }, "type-check": { "version": "0.4.0", @@ -9940,6 +10093,7 @@ "version": "4.4.0", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz", "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==", + "dev": true, "requires": { "punycode": "^2.1.0" } @@ -10030,6 +10184,7 @@ "version": "1.10.0", "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, "requires": { "assert-plus": "^1.0.0", "core-util-is": "1.0.2", @@ -10127,6 +10282,7 @@ "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, "requires": { "isexe": "^2.0.0" } @@ -10277,11 +10433,6 @@ "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", "dev": true }, - "xmldom": { - "version": "0.1.19", - "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.19.tgz", - "integrity": "sha1-Yx/Ad3bv2EEYvyUXGzftTQdaCrw=" - }, "xtend": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", diff --git a/package.json b/package.json index b02e8aa5f..6c8361307 100644 --- a/package.json +++ b/package.json @@ -20,12 +20,12 @@ "lsd:module": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server", "lsd:components": "dist/components/components.jsonld", "lsd:contexts": { - "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^1.0.0/components/context.jsonld": "dist/components/context.jsonld" + "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^0.0.0/components/context.jsonld": "dist/components/context.jsonld" }, "lsd:importPaths": { - "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^1.0.0/components/": "dist/components/", - "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^1.0.0/config/": "config/", - "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^1.0.0/dist/": "dist/" + "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^0.0.0/components/": "dist/components/", + "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^0.0.0/config/": "config/", + "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^0.0.0/dist/": "dist/" }, "main": "./dist/index.js", "types": "./dist/index.d.ts", @@ -90,7 +90,7 @@ "@types/yargs": "^15.0.5", "arrayify-stream": "^1.0.0", "async-lock": "^1.2.4", - "componentsjs": "^3.6.1", + "componentsjs": "^4.0.1", "cors": "^2.8.5", "express": "^4.17.1", "fetch-sparql-endpoint": "^1.8.0", @@ -117,7 +117,7 @@ "@types/supertest": "^2.0.10", "@typescript-eslint/eslint-plugin": "^4.1.1", "@typescript-eslint/parser": "^4.1.1", - "componentsjs-generator": "^1.6.0", + "componentsjs-generator": "^2.0.0", "cross-fetch": "^3.0.6", "eslint": "^7.9.0", "eslint-config-es": "^3.20.3", diff --git a/src/init/CliRunner.ts b/src/init/CliRunner.ts index fdbc48c08..89cb1b7d6 100644 --- a/src/init/CliRunner.ts +++ b/src/init/CliRunner.ts @@ -1,8 +1,8 @@ /* eslint-disable unicorn/no-process-exit */ import type { ReadStream, WriteStream } from 'tty'; -import type { LoaderProperties } from 'componentsjs'; -import { Loader } from 'componentsjs'; +import type { IComponentsManagerBuilderOptions, LogLevel } from 'componentsjs'; +import { ComponentsManager } from 'componentsjs'; import yargs from 'yargs'; import { getLoggerFor } from '../logging/LogUtil'; import { joinFilePath, toSystemFilePath, ensureTrailingSlash } from '../util/PathUtil'; @@ -31,7 +31,6 @@ export class CliRunner { .options({ baseUrl: { type: 'string', alias: 'b' }, config: { type: 'string', alias: 'c' }, - globalModules: { type: 'boolean', alias: 'g' }, loggingLevel: { type: 'string', alias: 'l', default: 'info' }, mainModulePath: { type: 'string', alias: 'm' }, podTemplateFolder: { type: 'string', alias: 't' }, @@ -42,9 +41,10 @@ export class CliRunner { .help(); // Gather settings for instantiating the server - const loaderProperties: LoaderProperties = { + const loaderProperties: IComponentsManagerBuilderOptions = { mainModulePath: toSystemFilePath(this.resolveFilePath(params.mainModulePath)), - scanGlobal: params.globalModules, + dumpErrorState: true, + logLevel: params.loggingLevel as LogLevel, }; const configFile = this.resolveFilePath(params.config, 'config/config-default.json'); const variables = this.createVariables(params); @@ -95,12 +95,15 @@ export class CliRunner { /** * Creates the server initializer */ - protected async createInitializer(loaderProperties: LoaderProperties, configFile: string, - variables: Record): Promise { - const loader = new Loader(loaderProperties); - await loader.registerAvailableModuleResources(); + protected async createInitializer( + componentsProperties: IComponentsManagerBuilderOptions, + configFile: string, + variables: Record, + ): Promise { + const componentsManager = await ComponentsManager.build(componentsProperties); const initializer = 'urn:solid-server:default:Initializer'; - return await loader.instantiateFromUrl(initializer, configFile, undefined, { variables }) as Initializer; + await componentsManager.configRegistry.register(configFile); + return await componentsManager.instantiate(initializer, { variables }); } } diff --git a/test/integration/Config.ts b/test/integration/Config.ts index b1d1b395e..3d967800f 100644 --- a/test/integration/Config.ts +++ b/test/integration/Config.ts @@ -1,5 +1,5 @@ import { mkdirSync } from 'fs'; -import { Loader } from 'componentsjs'; +import { ComponentsManager } from 'componentsjs'; import * as rimraf from 'rimraf'; import { joinFilePath, toSystemFilePath } from '../../src/util/PathUtil'; @@ -12,12 +12,12 @@ export async function instantiateFromConfig(componentUrl: string, configFile: st variables?: Record): Promise { // Initialize the Components.js loader const mainModulePath = joinFilePath(__dirname, '../../'); - const loader = new Loader({ mainModulePath }); - await loader.registerAvailableModuleResources(); + const manager = await ComponentsManager.build({ mainModulePath, logLevel: 'error' }); // Instantiate the component from the config const configPath = toSystemFilePath(joinFilePath(__dirname, 'config', configFile)); - return loader.instantiateFromUrl(componentUrl, configPath, undefined, { variables }); + await manager.configRegistry.register(configPath); + return await manager.instantiate(componentUrl, { variables }); } export function getTestFolder(name: string): string { diff --git a/test/integration/config/ldp-with-auth.json b/test/integration/config/ldp-with-auth.json index 245abe00c..2d2457bd1 100644 --- a/test/integration/config/ldp-with-auth.json +++ b/test/integration/config/ldp-with-auth.json @@ -1,5 +1,5 @@ { - "@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^1.0.0/components/context.jsonld", + "@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^0.0.0/components/context.jsonld", "import": [ "files-scs:config/presets/acl.json", "files-scs:config/presets/init.json", diff --git a/test/integration/config/server-middleware.json b/test/integration/config/server-middleware.json index f67631ca0..11a9e357b 100644 --- a/test/integration/config/server-middleware.json +++ b/test/integration/config/server-middleware.json @@ -1,5 +1,5 @@ { - "@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^1.0.0/components/context.jsonld", + "@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^0.0.0/components/context.jsonld", "import": [ "files-scs:config/presets/http.json", "files-scs:config/presets/middleware.json", diff --git a/test/integration/config/server-without-auth.json b/test/integration/config/server-without-auth.json index 52d700041..1e215c9af 100644 --- a/test/integration/config/server-without-auth.json +++ b/test/integration/config/server-without-auth.json @@ -1,5 +1,5 @@ { - "@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^1.0.0/components/context.jsonld", + "@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^0.0.0/components/context.jsonld", "import": [ "files-scs:config/presets/http.json", "files-scs:config/presets/ldp/credentials-extractor.json", diff --git a/test/unit/init/CliRunner.test.ts b/test/unit/init/CliRunner.test.ts index e024d6d54..121eb5acf 100644 --- a/test/unit/init/CliRunner.test.ts +++ b/test/unit/init/CliRunner.test.ts @@ -1,4 +1,4 @@ -import { Loader } from 'componentsjs'; +import { ComponentsManager } from 'componentsjs'; import { CliRunner } from '../../../src/init/CliRunner'; import type { Initializer } from '../../../src/init/Initializer'; import { joinFilePath, toSystemFilePath } from '../../../src/util/PathUtil'; @@ -7,14 +7,18 @@ const initializer: jest.Mocked = { handleSafe: jest.fn(), } as any; -const loader: jest.Mocked = { - instantiateFromUrl: jest.fn(async(): Promise => initializer), - registerAvailableModuleResources: jest.fn(), +const manager: jest.Mocked> = { + instantiate: jest.fn(async(): Promise => initializer), + configRegistry: { + register: jest.fn(), + }, } as any; jest.mock('componentsjs', (): any => ({ // eslint-disable-next-line @typescript-eslint/naming-convention - Loader: jest.fn((): Loader => loader), + ComponentsManager: { + build: jest.fn(async(): Promise> => manager), + }, })); jest.spyOn(process, 'cwd').mockReturnValue('/var/cwd'); @@ -30,17 +34,24 @@ describe('CliRunner', (): void => { new CliRunner().run({ argv: [ 'node', 'script' ], }); - await initializer.handleSafe(); - expect(Loader).toHaveBeenCalledTimes(1); - expect(Loader).toHaveBeenCalledWith({ + // Wait until initializer has been called, because we can't await CliRunner.run. + await new Promise((resolve): void => { + setImmediate(resolve); + }); + + expect(ComponentsManager.build).toHaveBeenCalledTimes(1); + expect(ComponentsManager.build).toHaveBeenCalledWith({ + dumpErrorState: true, + logLevel: 'info', mainModulePath: toSystemFilePath(joinFilePath(__dirname, '../../../')), }); - expect(loader.instantiateFromUrl).toHaveBeenCalledTimes(1); - expect(loader.instantiateFromUrl).toHaveBeenCalledWith( + expect(manager.configRegistry.register).toHaveBeenCalledTimes(1); + expect(manager.configRegistry.register) + .toHaveBeenCalledWith(toSystemFilePath(joinFilePath(__dirname, '/../../../config/config-default.json'))); + expect(manager.instantiate).toHaveBeenCalledTimes(1); + expect(manager.instantiate).toHaveBeenCalledWith( 'urn:solid-server:default:Initializer', - toSystemFilePath(joinFilePath(__dirname, '/../../../config/config-default.json')), - undefined, { variables: { 'urn:solid-server:default:variable:port': 3000, @@ -52,8 +63,6 @@ describe('CliRunner', (): void => { }, }, ); - expect(loader.registerAvailableModuleResources).toHaveBeenCalledTimes(1); - expect(loader.registerAvailableModuleResources).toHaveBeenCalledWith(); expect(initializer.handleSafe).toHaveBeenCalledTimes(1); expect(initializer.handleSafe).toHaveBeenCalledWith(); }); @@ -65,7 +74,6 @@ describe('CliRunner', (): void => { '-b', 'http://pod.example/', '-c', 'myconfig.json', '-f', '/root', - '-g', '-l', 'debug', '-m', 'module/path', '-p', '4000', @@ -73,17 +81,23 @@ describe('CliRunner', (): void => { '-t', 'templates', ], }); - await initializer.handleSafe(); - expect(Loader).toHaveBeenCalledTimes(1); - expect(Loader).toHaveBeenCalledWith({ - mainModulePath: toSystemFilePath('/var/cwd/module/path'), - scanGlobal: true, + // Wait until initializer has been called, because we can't await CliRunner.run. + await new Promise((resolve): void => { + setImmediate(resolve); }); - expect(loader.instantiateFromUrl).toHaveBeenCalledWith( + + expect(ComponentsManager.build).toHaveBeenCalledTimes(1); + expect(ComponentsManager.build).toHaveBeenCalledWith({ + dumpErrorState: true, + logLevel: 'debug', + mainModulePath: toSystemFilePath('/var/cwd/module/path'), + }); + expect(manager.configRegistry.register).toHaveBeenCalledTimes(1); + expect(manager.configRegistry.register) + .toHaveBeenCalledWith(toSystemFilePath('/var/cwd/myconfig.json')); + expect(manager.instantiate).toHaveBeenCalledWith( 'urn:solid-server:default:Initializer', - toSystemFilePath('/var/cwd/myconfig.json'), - undefined, { variables: { 'urn:solid-server:default:variable:baseUrl': 'http://pod.example/', @@ -103,7 +117,6 @@ describe('CliRunner', (): void => { 'node', 'script', '--baseUrl', 'http://pod.example/', '--config', 'myconfig.json', - '--globalModules', '--loggingLevel', 'debug', '--mainModulePath', 'module/path', '--podTemplateFolder', 'templates', @@ -112,17 +125,23 @@ describe('CliRunner', (): void => { '--sparqlEndpoint', 'http://localhost:5000/sparql', ], }); - await initializer.handleSafe(); - expect(Loader).toHaveBeenCalledTimes(1); - expect(Loader).toHaveBeenCalledWith({ - mainModulePath: toSystemFilePath('/var/cwd/module/path'), - scanGlobal: true, + // Wait until initializer has been called, because we can't await CliRunner.run. + await new Promise((resolve): void => { + setImmediate(resolve); }); - expect(loader.instantiateFromUrl).toHaveBeenCalledWith( + + expect(ComponentsManager.build).toHaveBeenCalledTimes(1); + expect(ComponentsManager.build).toHaveBeenCalledWith({ + dumpErrorState: true, + logLevel: 'debug', + mainModulePath: toSystemFilePath('/var/cwd/module/path'), + }); + expect(manager.configRegistry.register).toHaveBeenCalledTimes(1); + expect(manager.configRegistry.register) + .toHaveBeenCalledWith(toSystemFilePath('/var/cwd/myconfig.json')); + expect(manager.instantiate).toHaveBeenCalledWith( 'urn:solid-server:default:Initializer', - toSystemFilePath('/var/cwd/myconfig.json'), - undefined, { variables: { 'urn:solid-server:default:variable:baseUrl': 'http://pod.example/', @@ -137,7 +156,7 @@ describe('CliRunner', (): void => { }); it('exits with output to stderr when instantiation fails.', async(): Promise => { - loader.instantiateFromUrl.mockRejectedValueOnce(new Error('Fatal')); + manager.instantiate.mockRejectedValueOnce(new Error('Fatal')); new CliRunner().run(); await new Promise((resolve): any => setImmediate(resolve));