diff --git a/package.json b/package.json index f0c483e08b19dad192f5be825c69508848166381..16d5c4780eb45c0158b81597bba3e969a1e8c90f 100644 --- a/package.json +++ b/package.json @@ -71,6 +71,7 @@ "@vitejs/plugin-vue2": "^1.1.2", "@vue/eslint-config-prettier": "^7.0.0", "@vue/eslint-config-typescript": "^11.0.0", + "@vue/runtime-dom": "^3.2.40", "conventional-changelog-eslint": "^3.0.9", "eslint": "^8.23.0", "eslint-config-prettier": "^8.5.0", diff --git a/src/modules/resource/store.ts b/src/modules/resource/store.ts index f5cc989fcfd2d23412afb43c6a3e6436402915d2..3c229ed19bac85e158783478b0aa3c533803877b 100644 --- a/src/modules/resource/store.ts +++ b/src/modules/resource/store.ts @@ -18,7 +18,11 @@ import type { ProjectObject } from "@coscine/api-client/dist/types/Coscine.Api.P import type { AxiosError } from "axios"; import type { QuotaDimObject } from "@coscine/api-client/dist/types/Coscine.Api.Admin"; import useNotificationStore from "@/store/notification"; -import { parseRDFDefinition, serializeRDFDefinition } from "./utils/linkedData"; +import { + parseRDFDefinition, + resolveImports, + serializeRDFDefinition, +} from "./utils/linkedData"; import factory from "rdf-ext"; import { useLocalStorage } from "@vueuse/core"; /* @@ -114,11 +118,15 @@ export const useResourceStore = defineStore({ const apiResponse = await MetadataApi.metadataGetProfile( resource.applicationProfile ); - resource.fullApplicationProfile = await parseRDFDefinition( + resource.rawApplicationProfile = await parseRDFDefinition( JSON.stringify(apiResponse.data), "application/ld+json", resource.applicationProfile ); + resource.fullApplicationProfile = await resolveImports( + resource.applicationProfile, + resource.rawApplicationProfile + ); } else { console.error("Resource's application profile may be undefined."); } @@ -128,17 +136,27 @@ export const useResourceStore = defineStore({ } }, - async getApplicationProfile(applicationProfile: string): Promise<Dataset> { + async getApplicationProfile( + applicationProfile: string, + doResolveImports = true + ): Promise<Dataset> { const notificationStore = useNotificationStore(); try { const apiResponse = await MetadataApi.metadataGetProfile( applicationProfile ); - return await parseRDFDefinition( + let returnApplicationProfile = await parseRDFDefinition( JSON.stringify(apiResponse.data), "application/ld+json", applicationProfile ); + if (doResolveImports) { + returnApplicationProfile = await resolveImports( + applicationProfile, + returnApplicationProfile + ); + } + return returnApplicationProfile; } catch (error) { // Handle other Status Codes notificationStore.postApiErrorNotification(error as AxiosError); diff --git a/src/modules/resource/types.ts b/src/modules/resource/types.ts index 77a1e9e74c9827ecf4d94db985638c6e1fb20334..70cb09393f48110b3ed2461a31e4e904d45d35bf 100644 --- a/src/modules/resource/types.ts +++ b/src/modules/resource/types.ts @@ -7,6 +7,7 @@ import type { import type { Dataset } from "@rdfjs/types"; export interface VisitedResourceObject extends ResourceObject { + rawApplicationProfile: Dataset | null; fullApplicationProfile: Dataset | null; usedQuota: QuotaDimObject | null | undefined; storedColumns: string | null; diff --git a/src/modules/resource/utils/linkedData.ts b/src/modules/resource/utils/linkedData.ts index d91bcccb4c820feb8b9ca9f9f239fdbe72cba250..01e2c799f5e481f3d9d0cc1f0b80a846076f413f 100644 --- a/src/modules/resource/utils/linkedData.ts +++ b/src/modules/resource/utils/linkedData.ts @@ -4,6 +4,8 @@ import rdfParser from "rdf-parse"; import type { Dataset } from "@rdfjs/types"; import { serializers } from "@rdfjs-elements/formats-pretty"; import stringifyStream from "stream-to-string"; +import { MetadataApi } from "@coscine/api-client"; +import type DatasetExt from "rdf-ext/lib/Dataset"; export async function parseRDFDefinition( definition: string, @@ -41,3 +43,61 @@ export async function serializeRDFDefinition( } return await stringifyStream(output as NodeJS.ReadableStream); } + +/** + * Deals with import statements and create a full application profile + * @param baseUrl Base Url of the starting dataset + * @param dataset The starting dataset + * @returns Full Dataset with every imported dataset + */ +export async function resolveImports( + baseUrl: string, + dataset: Dataset +): Promise<Dataset> { + let fullApplicationProfile = dataset; + + const toScanAPs = [dataset]; + const owlImportsNode = factory.namedNode( + "http://www.w3.org/2002/07/owl#imports" + ); + const visitedAPs = [baseUrl]; + while (toScanAPs.length > 0) { + const dataset = toScanAPs.pop(); + if (dataset) { + const importedAPs = Array.from( + dataset.match(null, owlImportsNode, null) + ).map((quad) => quad.object); + for (const importedAP of importedAPs) { + if ( + importedAP.termType === "NamedNode" && + !visitedAPs.includes(importedAP.value) + ) { + try { + const importedApiResponse = await MetadataApi.metadataGetProfile( + importedAP.value + ); + const importedApplicationProfile = await parseRDFDefinition( + JSON.stringify(importedApiResponse.data), + "application/ld+json", + importedAP.value + ); + fullApplicationProfile = ( + fullApplicationProfile as unknown as DatasetExt + ).merge( + importedApplicationProfile as unknown as DatasetExt + ) as unknown as Dataset; + toScanAPs.push(importedApplicationProfile); + } catch { + console.error( + `The application profile ${importedAP.value} is not accessible.` + ); + } finally { + visitedAPs.push(importedAP.value); + } + } + } + } + } + + return fullApplicationProfile; +} diff --git a/vite.config.js b/vite.config.js index 342e79f4ffa809566806af502b736df2ce26e013..11d6e41030270de0cae6a4bd8be947abe012b6f5 100644 --- a/vite.config.js +++ b/vite.config.js @@ -146,12 +146,8 @@ const config = defineConfig({ ], server: { - hmr: { - clientPort: 443, - }, host: true, port: 9234, - strictPort: true, }, }); diff --git a/yarn.lock-workspace b/yarn.lock-workspace index 158312bf18cc240346ca49e7d33aa2a198f817ad..79875d9b2883a64d3da7e9970947a54bb10671be 100644 --- a/yarn.lock-workspace +++ b/yarn.lock-workspace @@ -624,14 +624,37 @@ __metadata: languageName: node linkType: hard -"@npmcli/ci-detect@npm:*, @npmcli/ci-detect@npm:^2.0.0": +"@npmcli/ci-detect@npm:*": + version: 3.0.0 + resolution: "@npmcli/ci-detect@npm:3.0.0" + checksum: 3f02fb38a3070d7a8cf934ca1122b734b5817812afbc11291f8d2d53a4293ce50475cf803c969f5cf16a875b5823c53d0bdb990ae0c3af08d838c82e9bd7970d + languageName: node + linkType: hard + +"@npmcli/ci-detect@npm:^2.0.0": version: 2.0.0 resolution: "@npmcli/ci-detect@npm:2.0.0" checksum: 26e964eca908706c1a612915cbc5614860ac7dbfacbb07870396c82b1377794f123a7aaa821c4a68575b67ff7e3ad170e296d3aa6a5e03dbab9b3f1e61491812 languageName: node linkType: hard -"@npmcli/config@npm:*, @npmcli/config@npm:^4.2.1": +"@npmcli/config@npm:*": + version: 5.0.0 + resolution: "@npmcli/config@npm:5.0.0" + dependencies: + "@npmcli/map-workspaces": ^2.0.2 + ini: ^3.0.0 + mkdirp-infer-owner: ^2.0.0 + nopt: ^6.0.0 + proc-log: ^2.0.0 + read-package-json-fast: ^2.0.3 + semver: ^7.3.5 + walk-up-path: ^1.0.0 + checksum: 39f4fdef86d29704ce67a3420c9d3f83d85408aa0fbaf51b8d6e6e24a6f5756d15d94b144b5b8a7ab9b08fcd4878bb5dd2dfddae57f521dc8ad570bb5c976324 + languageName: node + linkType: hard + +"@npmcli/config@npm:^4.2.1": version: 4.2.2 resolution: "@npmcli/config@npm:4.2.2" dependencies: @@ -1597,9 +1620,9 @@ __metadata: linkType: hard "@types/lodash@npm:^4.14.178": - version: 4.14.185 - resolution: "@types/lodash@npm:4.14.185" - checksum: f81d13da5ecab110ca9c5c7cc2bedc3c9802a6acf668576aecd1b8f4b134ed81d06c15f1e600fb08f05975098280a0d97d30cddfc2cb39ec1c6b56e971ca53b3 + version: 4.14.186 + resolution: "@types/lodash@npm:4.14.186" + checksum: ee0c1368a8100bb6efb88335107473a41928fc307ff1ef4ff1278868ccddba9c04c68c36d1ffe3a0392ef4a956e1955f7de3203ec09df4f1655dd1b88485c549 languageName: node linkType: hard @@ -2061,10 +2084,21 @@ __metadata: languageName: node linkType: hard -"@vue/devtools-api@npm:^6.2.1": - version: 6.2.1 - resolution: "@vue/devtools-api@npm:6.2.1" - checksum: 34765af0be9b0cc7e3def73b2792b1514e3c348852c5a7503fe07d013f0e907af6c27c0a32c0637dd748caf37c075af8e53ca3220433e0bd34b6f3405f358272 +"@vue/compiler-sfc@npm:2.7.11": + version: 2.7.11 + resolution: "@vue/compiler-sfc@npm:2.7.11" + dependencies: + "@babel/parser": ^7.18.4 + postcss: ^8.4.14 + source-map: ^0.6.1 + checksum: 83b54c7a3e6b5702b981b77b2bfbf848595a3fa342e503fce5708b4c9cd55e921675fe2df99fa75ddb8b0b998bad6ecd7525ae341919a3cadeb95887502b545e + languageName: node + linkType: hard + +"@vue/devtools-api@npm:^6.4.4": + version: 6.4.4 + resolution: "@vue/devtools-api@npm:6.4.4" + checksum: d4d1079202579eceb8efb503b695dead39d2da4d693419a4a3f4e1823358726325bc2912e15c580ef94128ed61f42be0ce6a23ac013967e04d971b0a7158a263 languageName: node linkType: hard @@ -2099,6 +2133,43 @@ __metadata: languageName: node linkType: hard +"@vue/reactivity@npm:3.2.40": + version: 3.2.40 + resolution: "@vue/reactivity@npm:3.2.40" + dependencies: + "@vue/shared": 3.2.40 + checksum: 927d22b424b63a14234810a3b8e4e9127b7238a7cb2fbd749180279048a109348a29fc724fd9d636a6e09b5f4c902f71c789f081d3ab9b4473faedc6a03d7865 + languageName: node + linkType: hard + +"@vue/runtime-core@npm:3.2.40": + version: 3.2.40 + resolution: "@vue/runtime-core@npm:3.2.40" + dependencies: + "@vue/reactivity": 3.2.40 + "@vue/shared": 3.2.40 + checksum: 47c4918c1294a3dc9b50effac8fb0af4ae34476a9bf443774f66cd18230e44b6b6d1cb49657ea5670f04691fc116a1040356492393dd43523b43fd90be81078a + languageName: node + linkType: hard + +"@vue/runtime-dom@npm:^3.2.40": + version: 3.2.40 + resolution: "@vue/runtime-dom@npm:3.2.40" + dependencies: + "@vue/runtime-core": 3.2.40 + "@vue/shared": 3.2.40 + csstype: ^2.6.8 + checksum: 4615d00cc4e2e19dc3e6e2baf5fa0cbab7d33fbbd7550b42264b6ef2e2ef5b750ef0d0c98591c10fea60d69fc33444ba4824954bce38abfa3473785a58d74c80 + languageName: node + linkType: hard + +"@vue/shared@npm:3.2.40": + version: 3.2.40 + resolution: "@vue/shared@npm:3.2.40" + checksum: d91a1e12ffb106a444dcb42c0a54d39f6688f98151dc3b77e8da1e7d3cfd09e1761268d11e7f920f233b43162e727d06f3af4408ef59c53ac2dce9c1d2881511 + languageName: node + linkType: hard + "@vuelidate/core@npm:^2.0.0-alpha.41": version: 2.0.0 resolution: "@vuelidate/core@npm:2.0.0" @@ -2805,10 +2876,10 @@ __metadata: languageName: node linkType: hard -"chalk@npm:*, chalk@npm:^5.0.0": - version: 5.0.1 - resolution: "chalk@npm:5.0.1" - checksum: 7b45300372b908f0471fbf7389ce2f5de8d85bb949026fd51a1b95b10d0ed32c7ed5aab36dd5e9d2bf3191867909b4404cef75c5f4d2d1daeeacd301dd280b76 +"chalk@npm:*": + version: 5.1.0 + resolution: "chalk@npm:5.1.0" + checksum: c1aa0bf0064a5a59bc06e3e385685fdcc5bb122159152bb57755fc48f9ef93c30cb3a36c9a2c39ead23e5261d787c87c4c097e1a889e1370478102a0112fe0e0 languageName: node linkType: hard @@ -2833,6 +2904,13 @@ __metadata: languageName: node linkType: hard +"chalk@npm:^5.0.0": + version: 5.0.1 + resolution: "chalk@npm:5.0.1" + checksum: 7b45300372b908f0471fbf7389ce2f5de8d85bb949026fd51a1b95b10d0ed32c7ed5aab36dd5e9d2bf3191867909b4404cef75c5f4d2d1daeeacd301dd280b76 + languageName: node + linkType: hard + "chokidar@npm:>=3.0.0 <4.0.0, chokidar@npm:^3.5.2, chokidar@npm:^3.5.3": version: 3.5.3 resolution: "chokidar@npm:3.5.3" @@ -3210,9 +3288,9 @@ __metadata: linkType: hard "core-js@npm:^3.21.1": - version: 3.25.3 - resolution: "core-js@npm:3.25.3" - checksum: 26ca0a5e575e6da03dc30099f48bc00db50a1c0a3f81299165f111cb163869ae453de5e345f2cb7bc8be85a9adcee11fca94f0fbdbdf6d483c68e1c55a9efc5a + version: 3.25.5 + resolution: "core-js@npm:3.25.5" + checksum: 208b308c49bc022f90d4349d4c99802a73c9d55053976b3c529f10014c1e37845926defad8c519f2c7f71ea0acf18d2b323ab6aaee34dc85b4c4b3ced0623f3f languageName: node linkType: hard @@ -3272,6 +3350,13 @@ __metadata: languageName: node linkType: hard +"csstype@npm:^2.6.8": + version: 2.6.21 + resolution: "csstype@npm:2.6.21" + checksum: 2ce8bc832375146eccdf6115a1f8565a27015b74cce197c35103b4494955e9516b246140425ad24103864076aa3e1257ac9bab25a06c8d931dd87a6428c9dccf + languageName: node + linkType: hard + "csstype@npm:^3.1.0": version: 3.1.0 resolution: "csstype@npm:3.1.0" @@ -5719,9 +5804,9 @@ __metadata: linkType: hard "jose@npm:^4.6.0": - version: 4.9.3 - resolution: "jose@npm:4.9.3" - checksum: 95865830768dcf82774d19e92dc854c5bc9dc5d9c9626a65a2974272e3aca5d2f56678611943f85802431d2d6d6f8bff9548b7cdb7578e6fe61529bd9c82e1d3 + version: 4.10.0 + resolution: "jose@npm:4.10.0" + checksum: c575bf2519b758592b3037cac0da34ff2641e56a050b156fe6ab18c03cd6c22e5338d28d1fe3dd997c9b3c0cc7deda72faca4a93ff41274a587850c6519852d0 languageName: node linkType: hard @@ -5771,7 +5856,14 @@ __metadata: languageName: node linkType: hard -"json-parse-even-better-errors@npm:*, json-parse-even-better-errors@npm:^2.3.0, json-parse-even-better-errors@npm:^2.3.1": +"json-parse-even-better-errors@npm:*, json-parse-even-better-errors@npm:^3.0.0": + version: 3.0.0 + resolution: "json-parse-even-better-errors@npm:3.0.0" + checksum: f1970b5220c7fa23d888565510752c3d5e863f93668a202fcaa719739fa41485dfc6a1db212f702ebd3c873851cc067aebc2917e3f79763cae2fdb95046f38f3 + languageName: node + linkType: hard + +"json-parse-even-better-errors@npm:^2.3.0, json-parse-even-better-errors@npm:^2.3.1": version: 2.3.1 resolution: "json-parse-even-better-errors@npm:2.3.1" checksum: 798ed4cf3354a2d9ccd78e86d2169515a0097a5c133337807cdf7f1fc32e1391d207ccfc276518cc1d7d8d4db93288b8a50ba4293d212ad1336e52a8ec0a941f @@ -6331,11 +6423,11 @@ __metadata: linkType: hard "magic-string@npm:^0.26.2": - version: 0.26.4 - resolution: "magic-string@npm:0.26.4" + version: 0.26.7 + resolution: "magic-string@npm:0.26.7" dependencies: sourcemap-codec: ^1.4.8 - checksum: dbb5d356361e5ff257e49e554d6a3b5a96019d0c1bcc0cf4f896cad27b6b6efcef0f58369757b3305653e1292c902d5831d16ae834d8285168b8303d04f188e9 + checksum: 89b0d60cbb32bbf3d1e23c46ea93db082d18a8230b972027aecb10a40bba51be519ecce0674f995571e3affe917b76b09f59d8dbc9a1b2c9c4102a2b6e8a2b01 languageName: node linkType: hard @@ -6835,7 +6927,27 @@ __metadata: languageName: node linkType: hard -"node-gyp@npm:*, node-gyp@npm:^9.0.0, node-gyp@npm:^9.1.0": +"node-gyp@npm:*": + version: 9.3.0 + resolution: "node-gyp@npm:9.3.0" + dependencies: + env-paths: ^2.2.0 + glob: ^7.1.4 + graceful-fs: ^4.2.6 + make-fetch-happen: ^10.0.3 + nopt: ^6.0.0 + npmlog: ^6.0.0 + rimraf: ^3.0.2 + semver: ^7.3.5 + tar: ^6.1.2 + which: ^2.0.2 + bin: + node-gyp: bin/node-gyp.js + checksum: 589ddd3ed967724ef425f9624bfa47cf73022640ab3eba6d556e92cdc4ddef33b63fce3a467c93b995a3f61df92eafd3c3d1e8dbe4a2c00c383334487dea99c3 + languageName: node + linkType: hard + +"node-gyp@npm:^9.0.0, node-gyp@npm:^9.1.0": version: 9.1.0 resolution: "node-gyp@npm:9.1.0" dependencies: @@ -7022,7 +7134,19 @@ __metadata: languageName: node linkType: hard -"npm-package-arg@npm:*, npm-package-arg@npm:^9.0.0, npm-package-arg@npm:^9.0.1, npm-package-arg@npm:^9.1.0": +"npm-package-arg@npm:*": + version: 9.1.2 + resolution: "npm-package-arg@npm:9.1.2" + dependencies: + hosted-git-info: ^5.0.0 + proc-log: ^2.0.1 + semver: ^7.3.5 + validate-npm-package-name: ^4.0.0 + checksum: 3793488843985ed71deb14fcba7c068d8ed03a18fd8f6b235c6a64465c9a25f60261598106d5cc8677c0bee9548e405c34c2e3c7a822e3113d3389351c745dfa + languageName: node + linkType: hard + +"npm-package-arg@npm:^9.0.0, npm-package-arg@npm:^9.0.1, npm-package-arg@npm:^9.1.0": version: 9.1.0 resolution: "npm-package-arg@npm:9.1.0" dependencies: @@ -7048,6 +7172,15 @@ __metadata: languageName: node linkType: hard +"npm-packlist@npm:^7.0.0": + version: 7.0.0 + resolution: "npm-packlist@npm:7.0.0" + dependencies: + ignore-walk: ^5.0.1 + checksum: 43bd3a822c9d68c327b16d595f4a0073af38d49357bcfecfca5999568b61d1e804c6f3ed1720a7b3e41ba0d0053d0b18e3c86922c91a33e7e84d60c33ef7e558 + languageName: node + linkType: hard + "npm-pick-manifest@npm:*, npm-pick-manifest@npm:^7.0.0, npm-pick-manifest@npm:^7.0.2": version: 7.0.2 resolution: "npm-pick-manifest@npm:7.0.2" @@ -7060,7 +7193,17 @@ __metadata: languageName: node linkType: hard -"npm-profile@npm:*, npm-profile@npm:^6.2.0": +"npm-profile@npm:*": + version: 7.0.0 + resolution: "npm-profile@npm:7.0.0" + dependencies: + npm-registry-fetch: ^13.0.1 + proc-log: ^2.0.0 + checksum: 39319e44b3942af08bdab1297ca4c5513411a381c7e5621000e4eea0346654db645aefb2adbe208ac965e13108315975372b8811f8fb90b79b7e8a7fe68a2464 + languageName: node + linkType: hard + +"npm-profile@npm:^6.2.0": version: 6.2.1 resolution: "npm-profile@npm:6.2.1" dependencies: @@ -7497,7 +7640,38 @@ __metadata: languageName: node linkType: hard -"pacote@npm:*, pacote@npm:^13.0.3, pacote@npm:^13.6.1, pacote@npm:^13.6.2": +"pacote@npm:*": + version: 14.0.0 + resolution: "pacote@npm:14.0.0" + dependencies: + "@npmcli/git": ^3.0.0 + "@npmcli/installed-package-contents": ^1.0.7 + "@npmcli/promise-spawn": ^3.0.0 + "@npmcli/run-script": ^4.1.0 + cacache: ^16.0.0 + chownr: ^2.0.0 + fs-minipass: ^2.1.0 + infer-owner: ^1.0.4 + minipass: ^3.1.6 + mkdirp: ^1.0.4 + npm-package-arg: ^9.0.0 + npm-packlist: ^7.0.0 + npm-pick-manifest: ^7.0.0 + npm-registry-fetch: ^13.0.1 + proc-log: ^2.0.0 + promise-retry: ^2.0.1 + read-package-json: ^5.0.0 + read-package-json-fast: ^2.0.3 + rimraf: ^3.0.2 + ssri: ^9.0.0 + tar: ^6.1.11 + bin: + pacote: lib/bin.js + checksum: 23d6b3a16668e6f3180b8bbf2c14f368683517bbc234da6eec105f85d34805178aad139fa60a146cffa4ac028adaccfa778274878e77ba4c5e54b4157518f8bf + languageName: node + linkType: hard + +"pacote@npm:^13.0.3, pacote@npm:^13.6.1, pacote@npm:^13.6.2": version: 13.6.2 resolution: "pacote@npm:13.6.2" dependencies: @@ -7673,10 +7847,10 @@ __metadata: linkType: hard "pinia@npm:^2.0.12": - version: 2.0.22 - resolution: "pinia@npm:2.0.22" + version: 2.0.23 + resolution: "pinia@npm:2.0.23" dependencies: - "@vue/devtools-api": ^6.2.1 + "@vue/devtools-api": ^6.4.4 vue-demi: "*" peerDependencies: "@vue/composition-api": ^1.4.0 @@ -7687,7 +7861,7 @@ __metadata: optional: true typescript: optional: true - checksum: 394906326758ac41acfdf4a29263c952c2cb7f35ebf87771a025ab492bdde7cf7fd87a49f82ec3a98bf8323ed2cb231f1ad272f7ea522694a9fab5a5cde3e727 + checksum: 004c76d80bc1127a25b26f92616f1243c570c6be90b04be83aa95108274036b64ed0678e537f3213c8b8f3dd7bcffb52e768e7445a1fd9378cb1db15ada92f83 languageName: node linkType: hard @@ -7736,14 +7910,14 @@ __metadata: languageName: node linkType: hard -"postcss@npm:^8.4.13, postcss@npm:^8.4.16": - version: 8.4.16 - resolution: "postcss@npm:8.4.16" +"postcss@npm:^8.4.13": + version: 8.4.17 + resolution: "postcss@npm:8.4.17" dependencies: nanoid: ^3.3.4 picocolors: ^1.0.0 source-map-js: ^1.0.2 - checksum: 10eee25efd77868036403858577da0cefaf2e0905feeaba5770d5438ccdddba3d01cba8063e96b8aac4c6daa0ed413dd5ae0554a433a3c4db38df1d134cffc1f + checksum: a6d9096dd711e17f7b1d18ff5dcb4fdedf3941d5a3dc8b0e4ea873b8f31972d57f73d6da9a8aed7ff389eb52190ed34f6a94f299a7f5ddc68b08a24a48f77eb9 languageName: node linkType: hard @@ -7758,6 +7932,17 @@ __metadata: languageName: node linkType: hard +"postcss@npm:^8.4.16": + version: 8.4.16 + resolution: "postcss@npm:8.4.16" + dependencies: + nanoid: ^3.3.4 + picocolors: ^1.0.0 + source-map-js: ^1.0.2 + checksum: 10eee25efd77868036403858577da0cefaf2e0905feeaba5770d5438ccdddba3d01cba8063e96b8aac4c6daa0ed413dd5ae0554a433a3c4db38df1d134cffc1f + languageName: node + linkType: hard + "prelude-ls@npm:^1.2.1": version: 1.2.1 resolution: "prelude-ls@npm:1.2.1" @@ -8102,7 +8287,32 @@ __metadata: languageName: node linkType: hard -"rdf-validate-shacl@npm:^0.4.3, rdf-validate-shacl@npm:^0.4.4": +"rdf-validate-datatype@npm:^0.1.5": + version: 0.1.5 + resolution: "rdf-validate-datatype@npm:0.1.5" + dependencies: + "@rdfjs/namespace": ^1.1.0 + "@rdfjs/to-ntriples": ^2.0.0 + checksum: b524c93e74f7d4a404650c074151f6866255f90bf33097ce6a029c8f74efc4f584b7f6e092b5ae5b887ee6bfe7356f52d69ba6a39466cd6b948137726d197747 + languageName: node + linkType: hard + +"rdf-validate-shacl@npm:^0.4.3": + version: 0.4.5 + resolution: "rdf-validate-shacl@npm:0.4.5" + dependencies: + "@rdfjs/dataset": ^1.1.1 + "@rdfjs/namespace": ^1.0.0 + "@rdfjs/term-set": ^1.1.0 + clownface: ^1.4.0 + debug: ^4.3.2 + rdf-literal: ^1.3.0 + rdf-validate-datatype: ^0.1.5 + checksum: 548b6c3fe89e358d8e57da0048a336356f1379b6e0edd238089d16f5bd46be5bac87454e795cf8791c71454ec08b29ca8aecf5b169e19a9a31a82ccd86b4b2fe + languageName: node + linkType: hard + +"rdf-validate-shacl@npm:^0.4.4": version: 0.4.4 resolution: "rdf-validate-shacl@npm:0.4.4" dependencies: @@ -8148,7 +8358,17 @@ __metadata: languageName: node linkType: hard -"read-package-json-fast@npm:*, read-package-json-fast@npm:^2.0.2, read-package-json-fast@npm:^2.0.3": +"read-package-json-fast@npm:*": + version: 3.0.0 + resolution: "read-package-json-fast@npm:3.0.0" + dependencies: + json-parse-even-better-errors: ^3.0.0 + npm-normalize-package-bin: ^2.0.0 + checksum: 025d3a917aacbaa4148b3561acdb208c053235b2dc32768b850ffa30243161d14f74418a8a47fae78f075c458ced88add998c7405b32812948d7efa3c4f1bc07 + languageName: node + linkType: hard + +"read-package-json-fast@npm:^2.0.2, read-package-json-fast@npm:^2.0.3": version: 2.0.3 resolution: "read-package-json-fast@npm:2.0.3" dependencies: @@ -8675,14 +8895,14 @@ __metadata: languageName: node linkType: hard -"semver@npm:*, semver@npm:^7.0.0, semver@npm:^7.1.1, semver@npm:^7.1.2, semver@npm:^7.3.2, semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.3.6, semver@npm:^7.3.7": - version: 7.3.7 - resolution: "semver@npm:7.3.7" +"semver@npm:*": + version: 7.3.8 + resolution: "semver@npm:7.3.8" dependencies: lru-cache: ^6.0.0 bin: semver: bin/semver.js - checksum: 2fa3e877568cd6ce769c75c211beaed1f9fce80b28338cadd9d0b6c40f2e2862bafd62c19a6cff42f3d54292b7c623277bcab8816a2b5521cf15210d43e75232 + checksum: ba9c7cbbf2b7884696523450a61fee1a09930d888b7a8d7579025ad93d459b2d1949ee5bbfeb188b2be5f4ac163544c5e98491ad6152df34154feebc2cc337c1 languageName: node linkType: hard @@ -8704,6 +8924,17 @@ __metadata: languageName: node linkType: hard +"semver@npm:^7.0.0, semver@npm:^7.1.1, semver@npm:^7.1.2, semver@npm:^7.3.2, semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.3.6, semver@npm:^7.3.7": + version: 7.3.7 + resolution: "semver@npm:7.3.7" + dependencies: + lru-cache: ^6.0.0 + bin: + semver: bin/semver.js + checksum: 2fa3e877568cd6ce769c75c211beaed1f9fce80b28338cadd9d0b6c40f2e2862bafd62c19a6cff42f3d54292b7c623277bcab8816a2b5521cf15210d43e75232 + languageName: node + linkType: hard + "set-blocking@npm:^2.0.0": version: 2.0.0 resolution: "set-blocking@npm:2.0.0" @@ -9467,6 +9698,7 @@ __metadata: "@vitejs/plugin-vue2": ^1.1.2 "@vue/eslint-config-prettier": ^7.0.0 "@vue/eslint-config-typescript": ^11.0.0 + "@vue/runtime-dom": ^3.2.40 "@vuelidate/core": ^2.0.0-alpha.41 "@vuelidate/validators": ^2.0.0-alpha.29 "@vueuse/core": ^9.3.0 @@ -9882,7 +10114,17 @@ __metadata: languageName: node linkType: hard -"vue@npm:^2.0.0, vue@npm:^2.5.21, vue@npm:^2.7.10": +"vue@npm:^2.0.0, vue@npm:^2.5.21": + version: 2.7.11 + resolution: "vue@npm:2.7.11" + dependencies: + "@vue/compiler-sfc": 2.7.11 + csstype: ^3.1.0 + checksum: 3333eec5d87f1a8310e578cc07cf0f078f2fe932e00a6c6482975d5c0579a3a421ef5a8c0cb344d6e8955005887989a3cc1322bbe86a6f558c722c97effe2316 + languageName: node + linkType: hard + +"vue@npm:^2.7.10": version: 2.7.10 resolution: "vue@npm:2.7.10" dependencies: