diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 96ee59b0..8a643028 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -107,6 +107,14 @@ jobs: env: NODE_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}} + - run: npm publish packages/semcom-components + env: + NODE_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}} + + - run: npm publish packages/semcom-upload-component + env: + NODE_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}} + publish-docker: name: Publish Docker image needs: publish-npm diff --git a/.gitignore b/.gitignore index 8ac38d50..2afb3949 100644 --- a/.gitignore +++ b/.gitignore @@ -121,4 +121,7 @@ dist #*.npmrc coverage-summary.json -rundata/ \ No newline at end of file +rundata/ + +# OS file +.DS_store \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 3efcc0dd..d5a5c675 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,62 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.11.0](https://github.com/digita-ai/semcom/compare/v0.10.2...v0.11.0) (2022-01-28) + + +### **Bug Fixes** + +* start default in memory without sync ([#185](https://github.com/digita-ai/semcom/issues/185)) ([9c6688c](https://github.com/digita-ai/semcom/commit/9c6688c10dd74da05b3dc6669862b960abbe0085)) + + + +### [0.10.2](https://github.com/digita-ai/semcom/compare/v0.10.1...v0.10.2) (2022-01-22) + + +### **Bug Fixes** + +* component-shape corrections ([#216](https://github.com/digita-ai/semcom/issues/216)) ([8dff959](https://github.com/digita-ai/semcom/commit/8dff959751e5c67a67903dbec92512a16f2ae7d6)) + + + +### [0.10.1](https://github.com/digita-ai/semcom/compare/v0.10.0...v0.10.1) (2022-01-14) + +**Note:** Version bump only for package root + + + + + +## [0.10.0](https://github.com/digita-ai/semcom/compare/v0.9.8...v0.10.0) (2022-01-14) + +**Note:** Version bump only for package root + + + + + +### [0.9.8](https://github.com/digita-ai/semcom/compare/v0.9.7...v0.9.8) (2021-12-15) + +**Note:** Version bump only for package root + + + + + +### [0.9.7](https://github.com/digita-ai/semcom/compare/v0.9.6...v0.9.7) (2021-12-09) + + +### **Features** + +* add resourceShapeFromQuads to discovery ([#201](https://github.com/digita-ai/semcom/issues/201)) ([e6b863d](https://github.com/digita-ai/semcom/commit/e6b863dcde92e2950d5a516b5e898a8fe6bf68c4)) + + +### **Documentation** + +* complete-ts-docs ([#194](https://github.com/digita-ai/semcom/issues/194)) ([17a8415](https://github.com/digita-ai/semcom/commit/17a84154a5feaf960b70534a45c98c3bd048b95b)) + + + ### [0.9.6](https://github.com/digita-ai/semcom/compare/v0.9.5...v0.9.6) (2021-12-07) diff --git a/docs/antora.yml b/docs/antora.yml index ecf62544..0cc22ad4 100644 --- a/docs/antora.yml +++ b/docs/antora.yml @@ -1,6 +1,6 @@ name: semcom title: Semantic Components -version: master +version: main nav: - modules/ROOT/nav.adoc - modules/sdk/nav.adoc diff --git a/lerna.json b/lerna.json index 15ec668d..a10d7f5d 100644 --- a/lerna.json +++ b/lerna.json @@ -56,5 +56,5 @@ } } }, - "version": "0.9.6" + "version": "0.11.0" } diff --git a/package-lock.json b/package-lock.json index 90bcea7a..f20a38ad 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,8 +1,7 @@ { - "name": "@digita-ai/semcom", - "version": "0.0.12", - "lockfileVersion": 1, + "name": "root", "requires": true, + "lockfileVersion": 1, "dependencies": { "@babel/code-frame": { "version": "7.14.5", diff --git a/package.json b/package.json index b2d709d7..ba2c7fc7 100644 --- a/package.json +++ b/package.json @@ -2,8 +2,11 @@ "name": "root", "description": "", "main": "index.js", + "license": "agpl-3.0", "scripts": { - "clean": "rimraf ./dist && rimraf ./package-lock.json && rimraf ./node_modules", + "clean": "npm run clean:locks && npm run clean:modules", + "clean:locks": "npm i --package-locks-only && lerna exec 'npm i --package-locks-only'", + "clean:modules": "lerna clean && shx rm -rf ./node_modules/", "release": "lerna version", "release:docs": "echo \"$(yaml set docs/antora.yml version $(dot-json lerna.json version))\" > docs/antora.yml", "postinstall": "husky install", @@ -30,7 +33,6 @@ "url": "git+https://github.com/digita-ai/semcom.git" }, "author": "Wouter Janssens", - "license": "ISC", "bugs": { "url": "https://github.com/digita-ai/semcom/issues" }, diff --git a/packages/semcom-components/CHANGELOG.md b/packages/semcom-components/CHANGELOG.md index 9ad4c65f..dc26dc98 100644 --- a/packages/semcom-components/CHANGELOG.md +++ b/packages/semcom-components/CHANGELOG.md @@ -3,6 +3,57 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.11.0](https://github.com/digita-ai/semcom/compare/v0.10.2...v0.11.0) (2022-01-28) + + +### **Bug Fixes** + +* start default in memory without sync ([#185](https://github.com/digita-ai/semcom/issues/185)) ([9c6688c](https://github.com/digita-ai/semcom/commit/9c6688c10dd74da05b3dc6669862b960abbe0085)) + + + +### [0.10.2](https://github.com/digita-ai/semcom/compare/v0.10.1...v0.10.2) (2022-01-22) + + +### **Bug Fixes** + +* component-shape corrections ([#216](https://github.com/digita-ai/semcom/issues/216)) ([8dff959](https://github.com/digita-ai/semcom/commit/8dff959751e5c67a67903dbec92512a16f2ae7d6)) + + + +### [0.10.1](https://github.com/digita-ai/semcom/compare/v0.10.0...v0.10.1) (2022-01-14) + +**Note:** Version bump only for package @digita-ai/semcom-components + + + + + +## [0.10.0](https://github.com/digita-ai/semcom/compare/v0.9.8...v0.10.0) (2022-01-14) + +**Note:** Version bump only for package @digita-ai/semcom-components + + + + + +### [0.9.8](https://github.com/digita-ai/semcom/compare/v0.9.7...v0.9.8) (2021-12-15) + +**Note:** Version bump only for package @digita-ai/semcom-components + + + + + +### [0.9.7](https://github.com/digita-ai/semcom/compare/v0.9.6...v0.9.7) (2021-12-09) + + +### **Documentation** + +* complete-ts-docs ([#194](https://github.com/digita-ai/semcom/issues/194)) ([17a8415](https://github.com/digita-ai/semcom/commit/17a84154a5feaf960b70534a45c98c3bd048b95b)) + + + ### [0.9.6](https://github.com/digita-ai/semcom/compare/v0.9.5...v0.9.6) (2021-12-07) **Note:** Version bump only for package @digita-ai/semcom-components diff --git a/packages/semcom-components/LICENSE.md b/packages/semcom-components/LICENSE.md new file mode 100644 index 00000000..e24707ae --- /dev/null +++ b/packages/semcom-components/LICENSE.md @@ -0,0 +1,16 @@ + This program is offered under a commercial and under the AGPL license. + For commercial licensing, contact Digita at https://digita.ai. For AGPL licensing, see below. + + AGPL licensing: + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . \ No newline at end of file diff --git a/packages/semcom-components/lib/components/barcode.component.ts b/packages/semcom-components/lib/components/barcode.component.ts new file mode 100644 index 00000000..de9f7778 --- /dev/null +++ b/packages/semcom-components/lib/components/barcode.component.ts @@ -0,0 +1,133 @@ +/* eslint-disable no-console -- is a web component */ +import { Store } from 'n3'; +import { css, CSSResult, html, state, property, PropertyValues, query, TemplateResult, unsafeCSS } from 'lit-element'; +import { ComponentResponseEvent } from '@digita-ai/semcom-sdk'; +import { Theme, QR, Open } from '@digita-ai/dgt-theme'; +import JsBarcode from 'jsbarcode'; +import { unsafeSVG } from 'lit-html/directives/unsafe-svg'; +import { ComponentDataTypes } from '@digita-ai/semcom-core'; +import { BaseComponent } from './base.component'; + +export class BarcodeComponent extends BaseComponent { + + @state() cardNumber?: string; + @state() program?: string; + @state() hostingOrganization?: string; + @property({ type: Boolean }) hideProgram = false; + + @query('#barcode') barcodeSvg?: HTMLOrSVGElement; + + /** + * Handles a response event. + * Expects an event containing a detail object that contains a data object containing quads. Will take the first quad containing a membershipNumber it finds. + * Make sure to filter the quads you send it if you want a specific barcode. + * + * @param event The response event to handle. + */ + handleResponse(event: ComponentResponseEvent): void { + + console.log('handleResponse'); + + if (!event || !event.detail || !event.detail.data) { + + throw new Error('Arguments event, event.detail, and event.detail.data should be set.'); + + } + + const store = new Store(event.detail.data); + + const quad = store.getQuads(null, 'http://schema.org/membershipNumber', null, null)[0]; + + const program = store.getQuads(quad.subject, 'http://schema.org/programName', null, null)[0]; + const hostingOrganization = store.getQuads(quad.subject, 'http://schema.org/hostingOrganization', null, null)[0]; + + this.cardNumber = quad.object.value; + this.program = program.object.value; + this.hostingOrganization = hostingOrganization?.object?.value; + + } + + updated(changed: PropertyValues): void { + + if (changed.has('entry') && this.entry) this.readData(this.entry, 'quads'); + + if (this.barcodeSvg && this.cardNumber) { + + JsBarcode(this.barcodeSvg, this.cardNumber, { + background: 'none', + }); + + } + + super.updated(changed); + + } + + render(): TemplateResult { + + return html` + ${this.program && !this.hideProgram ? html` + +
${this.program}
+
This is your barcode
+
+ ${unsafeSVG(QR)} +
+
+
+ +
+ ${this.hostingOrganization ? html`${unsafeSVG(Open)}
More information
` : ``} +
+
+ ` : ''} + `; + + } + + static get styles(): CSSResult[] { + + return [ + unsafeCSS(Theme), + css` + div[slot="icon"] svg { + fill: var(--colors-foreground-normal); + } + + div[slot="content"] { + display: flex; + align-items: stretch; + flex-direction: column; + } + + a.btn { + display: flex; + align-items: center; + flex-direction: row; + margin-top: var(--gap-large); + justify-content: center; + } + + a.btn svg { + fill: var(--colors-foreground-inverse); + margin-right: var(--gap-normal); + } + + .barcode-container { + display: flex; + align-items: center; + flex-direction: column; + } + + .barcode-container #barcode { + width: 200px; + height: 110px; + } + `, + ]; + + } + +} + +export default BarcodeComponent; diff --git a/packages/semcom-components/lib/components/base.component.ts b/packages/semcom-components/lib/components/base.component.ts index eded2c69..49069394 100644 --- a/packages/semcom-components/lib/components/base.component.ts +++ b/packages/semcom-components/lib/components/base.component.ts @@ -1,17 +1,18 @@ /* eslint-disable no-console */ import { Component, ComponentDataTypes } from '@digita-ai/semcom-core'; import { ComponentAppendEvent, ComponentEventTypes, ComponentReadEvent, ComponentResponseEvent, ComponentWriteEvent } from '@digita-ai/semcom-sdk'; -import { LitElement, property } from 'lit-element'; +import { property } from 'lit-element'; +import { RxLitElement } from 'rx-lit'; /** * A base component which implements the Semcom-standard by using Lit. */ -export abstract class BaseComponent extends LitElement implements Component { +export abstract class BaseComponent extends RxLitElement implements Component { @property({ type: String }) entry?: string; /** - * Instantiates a `BaseComponent`, and add an event listener to handle `ComponentResponseEvent`s. + * Instantiates a `BaseComponent`, and adds an event listener to handle `ComponentResponseEvent`s. */ constructor() { @@ -106,7 +107,7 @@ export abstract class BaseComponent extends LitElement implements Component { */ // Invoked each time the element is appended into a DOM (i.e. when node is added or moved). - connectedCallback() { + connectedCallback(): void { super.connectedCallback(); console.debug(`[${this.tagName}] Element connected`); @@ -114,7 +115,7 @@ export abstract class BaseComponent extends LitElement implements Component { } // Invoked each time the element is disconnected from a DOM. - disconnectedCallback() { + disconnectedCallback(): void { super.disconnectedCallback(); console.debug(`[${this.tagName}] Element disconnected`); @@ -122,7 +123,7 @@ export abstract class BaseComponent extends LitElement implements Component { } // Invoked each time the custom element is moved to a new DOM. - adoptedCallback() { + adoptedCallback(): void { // super.adoptedCallback(); console.debug(`[${this.tagName}] Element moved to other DOM`); @@ -130,7 +131,7 @@ export abstract class BaseComponent extends LitElement implements Component { } // Invoked each time one of the element's attributes specified in observedAttributes is changed. - attributeChangedCallback(name: string, oldValue: string, newValue: string) { + attributeChangedCallback(name: string, oldValue: string, newValue: string): void { super.attributeChangedCallback(name, oldValue, newValue); console.debug(`[${this.tagName}] Changed ${name} attribute from "${oldValue}" to "${newValue}"`); diff --git a/packages/semcom-components/lib/components/credential.component.ts b/packages/semcom-components/lib/components/credential.component.ts new file mode 100644 index 00000000..9d502f59 --- /dev/null +++ b/packages/semcom-components/lib/components/credential.component.ts @@ -0,0 +1,136 @@ + +import { NamedNode, Store } from 'n3'; +import { css, html, property, PropertyValues, TemplateResult, unsafeCSS } from 'lit-element'; +import { ComponentResponseEvent } from '@digita-ai/semcom-sdk'; +import { unsafeSVG } from 'lit-html/directives/unsafe-svg'; +import { Image, Theme } from '@digita-ai/dgt-theme'; +import { ComponentDataTypes } from '@digita-ai/semcom-core'; +import { BaseComponent } from './base.component'; + +export interface Credential { + uri: string; + type: string; + document: string; + owner: string; +} + +export class CredentialComponent extends BaseComponent { + + readonly schema = 'https://schema.org/'; + readonly digita = 'http://digita.ai/voc/example#'; + readonly rdf = 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'; + + @property() credentials?: Credential[] = []; + + /** + * Is executed when a property value is updated. + * + * @param changed Map of changes properties. + */ + update(changed: PropertyValues): void { + + super.update(changed); + + if (changed.has('entry') && this.entry) { + + this.readData(this.entry, 'quads'); + + } + + } + + /** + * Handles a response event. Can be used to update the component's properties based on the data in the response. + * + * @param event The response event to handle. + */ + handleResponse(event: ComponentResponseEvent): void { + + if (!event || !event.detail || !event.detail.data) { + + throw new Error('Argument event || !event.detail || !event.detail.quads should be set.'); + + } + + const store = new Store(event.detail.data); + const tempCredentials: Credential[] = []; + + store.getQuads(null, new NamedNode(`${this.schema}hasCredential`), null, null).map((credential) => { + + const owner = credential?.subject.value; + const uri = credential?.object.value; + const type = store.getQuads(uri, new NamedNode(`${this.rdf}type`), null, null)[0]?.object.value; + const document = store.getQuads(uri, new NamedNode(`${this.schema}uri`), null, null)[0]?.object.value; + + tempCredentials.push({ owner, uri, type, document }); + + }); + + this.credentials = tempCredentials; + + } + + static get styles() { + + return [ + unsafeCSS(Theme), + css` + div[slot="content"] { + display: flex; + flex-direction: column; + } + + div[slot="content"] > * { + margin-bottom: var(--gap-small); + } + + .credential { + display: flex; + flex-direction: row; + background-color: #eee; + padding: 10px; + } + + .credential .type { + margin-left: 20px; + margin-right: é0px; + flex: 1 1; + } + .credential .document a { + font-weight: bold; + } + `, + ]; + + } + + render(): TemplateResult { + + return this.credentials && this.credentials.length > 0 ? html` + + +
Credentials
+
Your credentials
+
+ ${unsafeSVG(Image)} +
+
+ ${this.credentials.map((credential) => html` +
+
+ ${credential.type} +
+
+ Download +
+
+ `)} +
+
+ ` : html``; + + } + +} + +export default CredentialComponent; diff --git a/packages/semcom-components/lib/components/document.component.ts b/packages/semcom-components/lib/components/document.component.ts new file mode 100644 index 00000000..571eb16a --- /dev/null +++ b/packages/semcom-components/lib/components/document.component.ts @@ -0,0 +1,120 @@ +import { NamedNode, Store } from 'n3'; +import { ComponentDataTypes } from '@digita-ai/semcom-core'; +import { css, CSSResult, html, property, TemplateResult, unsafeCSS } from 'lit-element'; +import { ComponentResponseEvent } from '@digita-ai/semcom-sdk'; +import { Document, Arrow, Theme } from '@digita-ai/dgt-theme'; +import { unsafeSVG } from 'lit-html/directives/unsafe-svg'; +import { BaseComponent } from './base.component'; + +export class DocumentComponent extends BaseComponent { + + @property() documents?: { url: string; fileName: string }[] = [ { url: 'http://test.com', fileName: 'test' } ]; + @property() url?: string; + @property() fileName?: string; + + handleResponse(event: ComponentResponseEvent): void { + + if (!event || !event.detail || !event.detail.data) { + + throw new Error('Argument event || !event.detail || !event.detail.data should be set.'); + + } + + if (event.detail.type !== 'quads') { + + throw new Error('Unexpected response type.'); + + } + + const n = 'http://www.w3.org/2006/vcard/ns#'; + + const store = new Store(event.detail.data); + + this.fileName = store.getQuads(null, new NamedNode(`${n}fileName`), null, null)[0]?.object.value; + this.url = store.getQuads(null, new NamedNode(`${n}url`), null, null)[0]?.object.value; + + this.documents?.push({ url: this.url, fileName: this.fileName }); + + } + + static get styles(): CSSResult[]{ + + return [ + unsafeCSS(Theme), + css` + div[slot="content"] { + display: flex; + flex-direction: column; + } + + div[slot="content"] > * { + margin-bottom: var(--gap-large); + } + + .link { + text-decoration: none; + } + + .document { + display: flex; + flex-direction: row; + background-color: #eee; + padding: 10px; + cursor: pointer; + } + + .document .icon { + display: flex; + align-items: center; + justify-content: center; + padding: 10px; + } + + .document .filename { + margin-left: var(--gap-small); + } + + .document .arrow { + display: flex; + align-items: center; + justify-content: center; + margin-left: auto; + } + `, + ]; + + } + + render(): TemplateResult { + + return this.documents && this.documents.length > 0 ? html ` + + +
Documents
+
These are your documents
+
+ ${unsafeSVG(Document)} +
+ +
+ `: html``; + + } + +} + +export default DocumentComponent; diff --git a/packages/semcom-components/lib/components/gender.component.ts b/packages/semcom-components/lib/components/gender.component.ts index 3c3a8c56..2b7c96ab 100644 --- a/packages/semcom-components/lib/components/gender.component.ts +++ b/packages/semcom-components/lib/components/gender.component.ts @@ -1,6 +1,6 @@ /* eslint-disable no-console -- is a web component */ import { NamedNode, Store } from 'n3'; -import { css, CSSResult, html, property, PropertyValues } from 'lit-element'; +import { css, CSSResult, html, property, PropertyValues, TemplateResult } from 'lit-element'; import { ComponentResponseEvent } from '@digita-ai/semcom-sdk'; import { ComponentDataTypes } from '@digita-ai/semcom-core'; import { BaseComponent } from './base.component'; @@ -51,9 +51,9 @@ export class GenderComponent extends BaseComponent { static get styles(): CSSResult[] { return []; } - render() { + render(): TemplateResult{ - const imgUrl = new URL(`../assets/gender/${this.gender}.png`, import.meta.url); + const imgUrl = new URL(`../../public/assets/gender/${this.gender}.png`, import.meta.url); return html` diff --git a/packages/semcom-components/lib/components/input.component.ts b/packages/semcom-components/lib/components/input.component.ts index 2ea0ce27..92a75efc 100644 --- a/packages/semcom-components/lib/components/input.component.ts +++ b/packages/semcom-components/lib/components/input.component.ts @@ -1,4 +1,4 @@ -import { css, html, query, state } from 'lit-element'; +import { css, CSSResult, html, query, state, TemplateResult } from 'lit-element'; import { ComponentResponseEvent } from '@digita-ai/semcom-sdk'; import { Literal, NamedNode, Quad } from 'n3'; import { ComponentDataTypes } from '@digita-ai/semcom-core'; @@ -63,7 +63,7 @@ export class InputComponent extends BaseComponent { } - static get styles() { + static get styles(): CSSResult[] { return [ css` @@ -145,7 +145,7 @@ export class InputComponent extends BaseComponent { /** * Writes data when the user clicks the submit button. */ - handleClickSubmit() { + handleClickSubmit(): void { if (!this.fileName) { @@ -174,7 +174,7 @@ export class InputComponent extends BaseComponent { } - render() { + render(): TemplateResult { return html`
diff --git a/packages/semcom-components/lib/components/payslip.component.ts b/packages/semcom-components/lib/components/payslip.component.ts index 98eaf464..2c6f272c 100644 --- a/packages/semcom-components/lib/components/payslip.component.ts +++ b/packages/semcom-components/lib/components/payslip.component.ts @@ -1,6 +1,6 @@ /* eslint-disable no-console -- is a web component */ import { NamedNode, Store } from 'n3'; -import { css, html, property, PropertyValues } from 'lit-element'; +import { css, CSSResult, html, property, PropertyValues, TemplateResult } from 'lit-element'; import { ComponentResponseEvent } from '@digita-ai/semcom-sdk'; import { ComponentDataTypes } from '@digita-ai/semcom-core'; import { BaseComponent } from './base.component'; @@ -65,7 +65,7 @@ export class PayslipComponent extends BaseComponent { } - static get styles() { + static get styles(): CSSResult[] { return [ css` @@ -100,7 +100,7 @@ export class PayslipComponent extends BaseComponent { } - render() { + render(): TemplateResult{ return html`
diff --git a/packages/semcom-components/lib/components/profile-contact.component.ts b/packages/semcom-components/lib/components/profile-contact.component.ts new file mode 100644 index 00000000..eeef8b65 --- /dev/null +++ b/packages/semcom-components/lib/components/profile-contact.component.ts @@ -0,0 +1,185 @@ +import { NamedNode, Store } from 'n3'; +import { css, CSSResult, html, property, PropertyValues, TemplateResult, unsafeCSS } from 'lit-element'; +import { ComponentResponseEvent } from '@digita-ai/semcom-sdk'; +import { unsafeSVG } from 'lit-html/directives/unsafe-svg'; +import { Image, Theme } from '@digita-ai/dgt-theme'; +import { from, Observable, of } from 'rxjs'; +import { interpret, Interpreter } from 'xstate'; +import { map } from 'rxjs/operators'; +import { NotImplementedError } from '@digita-ai/dgt-utils'; +import { ComponentDataTypes } from '@digita-ai/semcom-core'; +import { FormCleanlinessStates, FormContext, formMachine, FormRootStates, FormSubmissionStates, FormValidationStates, FormValidatorResult } from '@digita-ai/dgt-components'; +import { BaseComponent } from './base.component'; + +export interface ProfileContactComponentForm { + email: string; + phone: string; +} + +export class ProfileContactComponent extends BaseComponent { + + readonly foaf = 'http://xmlns.com/foaf/0.1/'; + readonly n = 'http://www.w3.org/2006/vcard/ns#'; + + @property() formActor?: Interpreter>; + @property() canSave = false; + + /** + * Is executed when a property value is updated. + * + * @param changed Map of changes properties. + */ + update(changed: PropertyValues): void { + + super.update(changed); + + if (changed.has('entry') && this.entry) { + + this.readData(this.entry, 'quads'); + + } + + if(changed.has('formActor') && this.formActor){ + + this.subscribe('canSave', from(this.formActor as any).pipe( + map((state: any) => state.matches({ + [FormSubmissionStates.NOT_SUBMITTED]:{ + [FormRootStates.CLEANLINESS]: FormCleanlinessStates.DIRTY, + [FormRootStates.VALIDATION]: FormValidationStates.VALID, + }, + })), + )); + + } + + } + + /** + * Handles a response event. Can be used to update the component's properties based on the data in the response. + * + * @param event The response event to handle. + */ + handleResponse(event: ComponentResponseEvent): void { + + if (!event || !event.detail || !event.detail.data) { + + throw new Error('Argument event || !event.detail || !event.detail.quads should be set.'); + + } + + const store = new Store(event.detail.data); + + const phones: string[] = []; + const emails: string[] = []; + + store.getQuads(null, new NamedNode(`${this.n}hasTelephone`), null, null).map((tele) => { + + if(tele.object?.value.startsWith('tel:')) { + + phones.push(tele.object?.value.split(':')[1]); + + } else { + + phones.push(store.getQuads(new NamedNode(tele.object.value), new NamedNode(`${this.n}value`), null, null)[0]?.object.value.split(':')[1]); + + } + + }); + + store.getQuads(null, new NamedNode(`${this.n}hasEmail`), null, null).map((mail) => { + + if(mail.object?.value.startsWith('mailto:')) { + + emails.push(mail.object?.value.split(':')[1]); + + } else { + + emails.push(store.getQuads(new NamedNode(mail.object.value), new NamedNode(`${this.n}value`), null, null)[0]?.object.value.split(':')[1]); + + } + + }); + + this.formActor = interpret(formMachine( + /** + * Validates the form. + */ + (formContext): Observable => of([ + ...formContext?.data?.email ? [] : [ { field: 'email', message: 'Field is required' } as FormValidatorResult ], + ...formContext?.data?.phone ? [] : [ { field: 'phone', message: 'Field is required' } as FormValidatorResult ], + ]), + ) + .withContext({ + data: { phone: phones[0], email: emails[0] }, + original: { phone: phones[0], email: emails[0] }, + }) as any); + + this.formActor?.start(); + + } + + static get styles(): CSSResult[] { + + return [ + unsafeCSS(Theme), + css` + div[slot="content"] { + display: flex; + flex-direction: column; + } + + div[slot="content"] > * { + margin-bottom: var(--gap-large); + } + `, + ]; + + } + + private handleSave() { + + throw new NotImplementedError(); + + // this.formActor.send(FormEvents.FORM_SUBMITTED); + // this.writeData(this.entry, [ + // new Quad(new NamedNode(this.entry), new NamedNode(`${this.foaf}name`), new Literal(this.formActor.state.context.data.fullName)), + // new Quad(new NamedNode(this.entry), new NamedNode(`${this.foaf}nick`), new Literal(this.formActor.state.context.data.nick)), + // new Quad(new NamedNode(this.entry), new NamedNode(`${this.n}honorific-prefix`), new Literal(this.formActor.state.context.data.honorific)), + // new Quad(new NamedNode(this.entry), new NamedNode(`${this.n}hasPhoto`), new Literal(this.formActor.state.context.data.image)), + // ]) + + } + + render(): TemplateResult { + + return this.formActor ? html` + + +
Contact information
+
Your email address and phone number
+
+ ${unsafeSVG(Image)} +
+
+ + + + + + + + + +
+
+ ` : html``; + + } + +} + +export default ProfileContactComponent; diff --git a/packages/semcom-components/lib/components/profile-name.component.ts b/packages/semcom-components/lib/components/profile-name.component.ts new file mode 100644 index 00000000..112bbc2e --- /dev/null +++ b/packages/semcom-components/lib/components/profile-name.component.ts @@ -0,0 +1,191 @@ +import { NamedNode, Store, DataFactory } from 'n3'; +import { css, CSSResult, html, property, PropertyValues, TemplateResult, unsafeCSS } from 'lit-element'; +import { ComponentResponseEvent } from '@digita-ai/semcom-sdk'; +import { unsafeSVG } from 'lit-html/directives/unsafe-svg'; +import { Image, Theme } from '@digita-ai/dgt-theme'; +import { from, Observable, of } from 'rxjs'; +import { interpret, Interpreter } from 'xstate'; +import { map } from 'rxjs/operators'; +import { ComponentDataTypes } from '@digita-ai/semcom-core'; +import { FormCleanlinessStates, FormContext, formMachine, FormRootStates, FormSubmissionStates, FormValidationStates, FormValidatorResult, FormEvents } from '@digita-ai/dgt-components'; +import { BaseComponent } from './base.component'; + +export interface ProfileNameComponentForm { + image: string; + fullName: string; + nick: string; + honorific: string; +} + +export class ProfileNameComponent extends BaseComponent { + + readonly foaf = 'http://xmlns.com/foaf/0.1/'; + readonly n = 'http://www.w3.org/2006/vcard/ns#'; + + @property() image?: URL; + @property() formActor?: Interpreter>; + @property() canSave = false; + + /** + * Is executed when a property value is updated. + * + * @param changed Map of changes properties. + */ + update(changed: PropertyValues): void { + + super.update(changed); + + if (changed.has('entry') && this.entry) { + + this.readData(this.entry, 'quads'); + + } + + if(changed.has('formActor') && this.formActor){ + + this.subscribe('canSave', from(this.formActor as any).pipe( + map((state: any) => state.matches({ + [FormSubmissionStates.NOT_SUBMITTED]:{ + [FormRootStates.CLEANLINESS]: FormCleanlinessStates.DIRTY, + [FormRootStates.VALIDATION]: FormValidationStates.VALID, + }, + })), + )); + + } + + } + + /** + * Handles a response event. Can be used to update the component's properties based on the data in the response. + * + * @param event The response event to handle. + */ + handleResponse(event: ComponentResponseEvent): void { + + if (!event || !event.detail || !event.detail.data) { + + throw new Error('Argument event || !event.detail || !event.detail.quads should be set.'); + + } + + const store = new Store(event.detail.data); + + const fullName = store.getQuads(null, new NamedNode(`${this.foaf}name`), null, null)[0]?.object.value; + const nick = store.getQuads(null, new NamedNode(`${this.foaf}nick`), null, null)[0]?.object.value; + const honorific = store.getQuads(null, new NamedNode(`${this.n}honorific-prefix`), null, null)[0]?.object.value; + const image = store.getQuads(null, new NamedNode(`${this.n}hasPhoto`), null, null)[0]?.object.value; + + this.image = undefined; + + try { + + this.image = new URL(image); + + } catch { + // Do nothing + } + + this.formActor = interpret(formMachine( + /** + * Validates the form. + */ + (formContext): Observable => of([ + ...formContext?.data?.fullName ? [] : [ { field: 'fullName', message: 'Field is required' } as FormValidatorResult ], + ...formContext?.data?.image ? [] : [ { field: 'image', message: 'Field is required' } as FormValidatorResult ], + ...formContext?.data?.nick ? [] : [ { field: 'nick', message: 'Field is required' } as FormValidatorResult ], + ...formContext?.data?.honorific ? [] : [ { field: 'honorific', message: 'Field is required' } as FormValidatorResult ], + ]), + ) + .withContext({ + data: { image, fullName, nick, honorific }, + original: { image, fullName, nick, honorific }, + })as any); + + this.formActor?.start(); + + } + + static get styles(): CSSResult[] { + + return [ + unsafeCSS(Theme), + css` + div[slot="content"] { + display: flex; + flex-direction: column; + } + + div[slot="content"] > * { + margin-bottom: var(--gap-large); + } + `, + ]; + + } + + private handleSave() { + + this.formActor?.send(FormEvents.FORM_SUBMITTED); + + const { namedNode, literal, quad } = DataFactory; + + if(this.entry && this.formActor?.state.context.data) { + + this.writeData(this.entry, [ + quad(namedNode(this.entry), namedNode(`${this.foaf}name`), literal(this.formActor.state.context.data.fullName)), + quad(namedNode(this.entry), namedNode(`${this.foaf}nick`), literal(this.formActor.state.context.data.nick)), + quad(namedNode(this.entry), namedNode(`${this.n}honorific-prefix`), literal(this.formActor.state.context.data.honorific)), + quad(namedNode(this.entry), namedNode(`${this.n}hasPhoto`), namedNode(this.formActor.state.context.data.image)), + ], 'quads'); + + } + + } + + render(): TemplateResult { + + return this.formActor ? html` + + +
Names
+
Your names
+
+ ${unsafeSVG(Image)} +
+ ${this.image ? html `` : ''} +
+ + + + + + + + + + + + + + + + + +
+
+ ` : html``; + + } + +} + +export default ProfileNameComponent; diff --git a/packages/semcom-components/lib/components/profile-payslip.component.ts b/packages/semcom-components/lib/components/profile-payslip.component.ts new file mode 100644 index 00000000..03cc0577 --- /dev/null +++ b/packages/semcom-components/lib/components/profile-payslip.component.ts @@ -0,0 +1,143 @@ +import { NamedNode, Store } from 'n3'; +import { css, CSSResult, html, property, PropertyValues, TemplateResult, unsafeCSS } from 'lit-element'; +import { ComponentResponseEvent } from '@digita-ai/semcom-sdk'; +import { unsafeSVG } from 'lit-html/directives/unsafe-svg'; +import { Image, Theme } from '@digita-ai/dgt-theme'; +import { ComponentDataTypes } from '@digita-ai/semcom-core'; +import { BaseComponent } from './base.component'; + +export interface ProfilePayslip { + employer: string; + amount: string; + from: string; +} + +export class ProfilePayslipComponent extends BaseComponent { + + readonly foaf = 'http://xmlns.com/foaf/0.1/'; + readonly n = 'http://www.w3.org/2006/vcard/ns#'; + readonly pay = 'http://digita.ai/voc/payslip#'; + + @property() payslips?: ProfilePayslip[] = []; + @property() canSave = false; + + /** + * Is executed when a property value is updated. + * + * @param changed Map of changes properties. + */ + update(changed: PropertyValues): void { + + super.update(changed); + + if (changed.has('entry') && this.entry) { + + this.readData(this.entry, 'quads'); + + } + + } + + /** + * Handles a response event. Can be used to update the component's properties based on the data in the response. + * + * @param event The response event to handle. + */ + handleResponse(event: ComponentResponseEvent): void { + + if (!event || !event.detail || !event.detail.data) { + + throw new Error('Argument event || !event.detail || !event.detail.quads should be set.'); + + } + + const store = new Store(event.detail.data); + const tempPayslips: ProfilePayslip[] = []; + + store.getQuads(null, null, new NamedNode(`${this.pay}payslip`), null).map((payslip) => { + + const employer = store.getQuads(new NamedNode(payslip.subject.value), new NamedNode(`${this.pay}employer`), null, null)[0]?.object.value; + const amount = store.getQuads(new NamedNode(payslip.subject.value), new NamedNode(`${this.pay}netAmount`), null, null)[0]?.object.value; + const from = store.getQuads(new NamedNode(payslip.subject.value), new NamedNode(`${this.pay}from`), null, null)[0]?.object.value; + + const date = new Date(+from * 1000); + + tempPayslips.push({ + employer, + amount, + from: `${date.getDay()}/${date.getMonth()}/${date.getFullYear()}`, + }); + + }); + + this.payslips = tempPayslips; + + } + + static get styles(): CSSResult[] { + + return [ + unsafeCSS(Theme), + css` + div[slot="content"] { + display: flex; + flex-direction: column; + } + + div[slot="content"] > * { + margin-bottom: var(--gap-small); + } + + .payslip { + display: flex; + flex-direction: row; + background-color: #eee; + padding: 10px; + } + + .payslip .employer { + margin-left: 20px; + margin-right: 0px; + flex: 1 1; + } + .payslip .amount { + font-weight: bold; + } + `, + ]; + + } + + render(): TemplateResult { + + return this.payslips && this.payslips.length > 0 ? html` + + +
Payslips
+
Your payslips
+
+ ${unsafeSVG(Image)} +
+
+ ${this.payslips.map((payslip) => html` +
+
+ ${payslip.from} +
+
+ ${payslip.employer} +
+
+ €${payslip.amount} +
+
+ `)} +
+
+ ` : html``; + + } + +} + +export default ProfilePayslipComponent; diff --git a/packages/semcom-components/lib/components/profile.component.ts b/packages/semcom-components/lib/components/profile.component.ts index 70c941c4..6b8f03dc 100644 --- a/packages/semcom-components/lib/components/profile.component.ts +++ b/packages/semcom-components/lib/components/profile.component.ts @@ -1,5 +1,5 @@ import { NamedNode, Store } from 'n3'; -import { css, html, property, PropertyValues } from 'lit-element'; +import { css, CSSResult, html, property, PropertyValues, TemplateResult } from 'lit-element'; import { ComponentResponseEvent } from '@digita-ai/semcom-sdk'; import { ComponentDataTypes } from '@digita-ai/semcom-core'; import { BaseComponent } from './base.component'; @@ -75,7 +75,7 @@ export class ProfileComponent extends BaseComponent { } - static get styles() { + static get styles(): CSSResult[] { return [ css` @@ -145,7 +145,7 @@ export class ProfileComponent extends BaseComponent { } - render() { + render(): TemplateResult { return html`
diff --git a/packages/semcom-components/lib/demo.css b/packages/semcom-components/lib/demo.css new file mode 100644 index 00000000..092a9cfd --- /dev/null +++ b/packages/semcom-components/lib/demo.css @@ -0,0 +1,32 @@ +@import '../node_modules/@digita-ai/dgt-theme/dist/style.css'; + +html { + height: 100%; + background-color: #ddd; + padding: 0; + margin: 0; +} + +body { + margin: auto; + width: 550px; + height: 100%; + background-color: var(--colors-background-normal); + display: flex; + flex-direction: column; + align-items: stretch; + max-width: 1200px; + background-color: #eee; + margin: 0 auto; + box-shadow: 8px 0 10px -4px rgba(100, 100, 100, 0.3), -8px 0 8px -4px rgba(100, 100, 100, 0.3); +} + +body > * { + margin-bottom: var(--gap-large); + max-width: 600px; +} + +:global(.content) { + flex: 1 0; + padding: 80px; +} diff --git a/packages/semcom-components/lib/demo.ts b/packages/semcom-components/lib/demo.ts index fc410063..d1dd0818 100644 --- a/packages/semcom-components/lib/demo.ts +++ b/packages/semcom-components/lib/demo.ts @@ -1,14 +1,33 @@ import { Parser } from 'n3'; -import { addListener, ComponentEventType, ComponentEventTypes, ComponentReadEvent, ComponentResponseEvent, ComponentWriteEvent } from '@digita-ai/semcom-sdk'; -import ProfileComponent from './components/profile.component'; -import PayslipComponent from './components/payslip.component'; -import InputComponent from './components/input.component'; -import GenderComponent from './components/gender.component'; +import { addListener, ComponentEventTypes, ComponentReadEvent, ComponentResponseEvent, ComponentWriteEvent } from '@digita-ai/semcom-sdk'; +import { CardComponent, ContentHeaderComponent, FormElementComponent, SidebarItemComponent, SidebarListComponent, SidebarListItemComponent } from '@digita-ai/dgt-components'; +import { ProfileComponent } from '../lib/components/profile.component'; +import { DocumentComponent } from '../lib/components/document.component'; +import { PayslipComponent } from '../lib/components/payslip.component'; +import { InputComponent } from '../lib/components/input.component'; +import { GenderComponent } from '../lib/components/gender.component'; +import { BarcodeComponent } from '../lib/components/barcode.component'; +import { CredentialComponent } from '../lib/components/credential.component'; +import { ProfileContactComponent } from '../lib/components/profile-contact.component'; +import { ProfileNameComponent } from '../lib/components/profile-name.component'; +import { ProfilePayslipComponent } from '../lib/components/profile-payslip.component'; customElements.define('profile-component', ProfileComponent); customElements.define('payslip-component', PayslipComponent); customElements.define('input-component', InputComponent); customElements.define('gender-component', GenderComponent); +customElements.define('document-component', DocumentComponent); +customElements.define('barcode-component', BarcodeComponent); +customElements.define('credential-component', CredentialComponent); +customElements.define('profile-contact-component', ProfileContactComponent); +customElements.define('profile-name-component', ProfileNameComponent); +customElements.define('profile-payslip-component', ProfilePayslipComponent); +customElements.define('nde-form-element', FormElementComponent); +customElements.define('nde-card', CardComponent); +customElements.define('card-header', ContentHeaderComponent); +customElements.define('nde-sidebar-list-item', SidebarListItemComponent); +customElements.define('nde-sidebar-list', SidebarListComponent); +customElements.define('nde-sidebar-item', SidebarItemComponent); const parser = new Parser(); diff --git a/packages/semcom-components/lib/demo/barcodes.ttl b/packages/semcom-components/lib/demo/barcodes.ttl new file mode 100644 index 00000000..c079c540 --- /dev/null +++ b/packages/semcom-components/lib/demo/barcodes.ttl @@ -0,0 +1,22 @@ +@prefix : <#>. +@prefix solid: . +@prefix foaf: . +@prefix pim: . +@prefix schema: . + +:barcode-uitpas + schema:hostingOrganization ; + schema:member ; + schema:membershipNumber "121345687789" ; + schema:programName "UiTPAS" . + +:barcode-mock-1 + schema:member ; + schema:membershipNumber "9876543210" ; + schema:programName "UiTPAS" . + +:barcode-mock-2 + schema:hostingOrganization ; + schema:member ; + schema:membershipNumber "012345543210" ; + schema:programName "UiTPAS" . \ No newline at end of file diff --git a/packages/semcom-components/lib/testdata/payslips.txt b/packages/semcom-components/lib/demo/payslips.ttl similarity index 100% rename from packages/semcom-components/lib/testdata/payslips.txt rename to packages/semcom-components/lib/demo/payslips.ttl diff --git a/packages/semcom-components/lib/demo/profile-2.ttl b/packages/semcom-components/lib/demo/profile-2.ttl new file mode 100644 index 00000000..0e580480 --- /dev/null +++ b/packages/semcom-components/lib/demo/profile-2.ttl @@ -0,0 +1,244 @@ +@prefix : <#>. +@prefix solid: . +@prefix foaf: . +@prefix pim: . +@prefix schema: . +@prefix ldp: . +@prefix c0: . +@prefix c1: . +@prefix prof: <./>. +@prefix n3: . +@prefix in: . +@prefix n4: . +@prefix c: . +@prefix n: . +@prefix pay: . + +prof:card a foaf:PersonalProfileDocument; foaf:maker :me; foaf:primaryTopic :me. + +:id1601909945358 + n:country-name "Belgium"; + n:locality "Brussels"; + n:postal-code "1000"; + n:region "Brusssels"; + n:street-address "Country Road 69". + +:id1589374025993 a n:Work; n:value . +:id1589374027282 a n:Home; n:value . + +:id1601214413622 a n:Work; n:value . +:id1601214413645 a n:Home; n:value . + +:me + a schema:Person, foaf:Person; + n:note "I enjoy nettle soup!"; + n:organization-name "Cynalco Medics"; + n:role "Janitor & Maintenance"; + solid:privateTypeIndex ; + solid:publicTypeIndex ; + n:hasEmail :id1589374025993, :id1589374027282; + n:hasAddress :id1601909945358; + n:hasTelephone :id1601214413622, :id1601214413645; + foaf:nick "tonyp"; + n:honorific-prefix "Mr."; + foaf:name "Tony Paillard". + +:payslip-jan-2021-w1 + a pay:payslip; + pay:employer ; + pay:employee ; + pay:from "1609459200"; + pay:until "1612051200"; + pay:stature "White Collar"; + pay:dependent "1"; + pay:wageUnit ; + pay:grossAmount "2600"; + pay:taxableAmount "2200"; + pay:netAmount "1500". + + +:payslip-feb-2021-w1 + a pay:payslip; + pay:employer ; + pay:employee ; + pay:from "1612137600"; + pay:until "1614470400"; + pay:stature "White Collar"; + pay:dependent "1"; + pay:wageUnit ; + pay:grossAmount "2600"; + pay:taxableAmount "2200"; + pay:netAmount "1500". + + +:payslip-mar-2021-w1 + a pay:payslip; + pay:employer ; + pay:employee ; + pay:from "1614556800"; + pay:until "1617148800"; + pay:stature "White Collar"; + pay:dependent "1"; + pay:wageUnit ; + pay:grossAmount "2600"; + pay:taxableAmount "2200"; + pay:netAmount "1500". + + +:payslip-apr-2021-w1 + a pay:payslip; + pay:employer ; + pay:employee ; + pay:from "1616976000"; + pay:until "1617494400"; + pay:stature "White Collar"; + pay:dependent "1"; + pay:wageUnit ; + pay:grossAmount "750"; + pay:taxableAmount "650"; + pay:netAmount "550". + +:payslip-apr-2021-w2 + a pay:payslip; + pay:employer ; + pay:employee ; + pay:from "1617580800"; + pay:until "1618099200"; + pay:stature "White Collar"; + pay:dependent "1"; + pay:wageUnit ; + pay:grossAmount "750"; + pay:taxableAmount "650"; + pay:netAmount "550". + +:payslip-apr-2021-w3 + a pay:payslip; + pay:employer ; + pay:employee ; + pay:from "1618185600"; + pay:until "1618704000"; + pay:stature "White Collar"; + pay:dependent "1"; + pay:wageUnit ; + pay:grossAmount "750"; + pay:taxableAmount "650"; + pay:netAmount "550". + +:payslip-apr-2021-w4 + a pay:payslip; + pay:employer ; + pay:employee ; + pay:from "1618790400"; + pay:until "1619308800"; + pay:stature "White Collar"; + pay:dependent "1"; + pay:wageUnit ; + pay:grossAmount "750"; + pay:taxableAmount "650"; + pay:netAmount "550". + + +:payslip-may-2021-w1 + a pay:payslip; + pay:employer ; + pay:employee ; + pay:from "1620000000"; + pay:until "1620518400"; + pay:stature "White Collar"; + pay:dependent "1"; + pay:wageUnit ; + pay:grossAmount "750"; + pay:taxableAmount "650"; + pay:netAmount "550". + +:payslip-may-2021-w2 + a pay:payslip; + pay:employer ; + pay:employee ; + pay:from "1620604800"; + pay:until "1621123200"; + pay:stature "White Collar"; + pay:dependent "1"; + pay:wageUnit ; + pay:grossAmount "750"; + pay:taxableAmount "650"; + pay:netAmount "550". + +:payslip-may-2021-w3 + a pay:payslip; + pay:employer ; + pay:employee ; + pay:from "1621209600"; + pay:until "1621728000"; + pay:stature "White Collar"; + pay:dependent "1"; + pay:wageUnit ; + pay:grossAmount "750"; + pay:taxableAmount "650"; + pay:netAmount "550". + +:payslip-may-2021-w4 + a pay:payslip; + pay:employer ; + pay:employee ; + pay:from "1621814400"; + pay:until "1622332800"; + pay:stature "White Collar"; + pay:dependent "1"; + pay:wageUnit ; + pay:grossAmount "750"; + pay:taxableAmount "650"; + pay:netAmount "550". + + +:payslip-jun-2021-w1 + a pay:payslip; + pay:employer ; + pay:employee ; + pay:from "1622419200"; + pay:until "1622937600"; + pay:stature "White Collar"; + pay:dependent "1"; + pay:wageUnit ; + pay:grossAmount "750"; + pay:taxableAmount "650"; + pay:netAmount "550". + +:payslip-jun-2021-w2 + a pay:payslip; + pay:employer ; + pay:employee ; + pay:from "1623024000"; + pay:until "1623542400"; + pay:stature "White Collar"; + pay:dependent "1"; + pay:wageUnit ; + pay:grossAmount "750"; + pay:taxableAmount "650"; + pay:netAmount "550". + +:payslip-jun-2021-w3 + a pay:payslip; + pay:employer ; + pay:employee ; + pay:from "1623628800"; + pay:until "1624147200"; + pay:stature "White Collar"; + pay:dependent "1"; + pay:wageUnit ; + pay:grossAmount "750"; + pay:taxableAmount "650"; + pay:netAmount "550". + +:payslip-jun-2021-w4 + a pay:payslip; + pay:employer ; + pay:employee ; + pay:from "1624233600"; + pay:until "1624752000"; + pay:stature "White Collar"; + pay:dependent "1"; + pay:wageUnit ; + pay:grossAmount "750"; + pay:taxableAmount "650"; + pay:netAmount "550". diff --git a/packages/semcom-components/lib/testdata/profile.txt b/packages/semcom-components/lib/demo/profile.ttl similarity index 100% rename from packages/semcom-components/lib/testdata/profile.txt rename to packages/semcom-components/lib/demo/profile.ttl diff --git a/packages/semcom-components/lib/testdata/singlePayslip.txt b/packages/semcom-components/lib/demo/singlePayslip.ttl similarity index 100% rename from packages/semcom-components/lib/testdata/singlePayslip.txt rename to packages/semcom-components/lib/demo/singlePayslip.ttl diff --git a/packages/semcom-components/lib/index.html b/packages/semcom-components/lib/index.html index b54a98d9..96b6e11a 100644 --- a/packages/semcom-components/lib/index.html +++ b/packages/semcom-components/lib/index.html @@ -4,7 +4,7 @@ SemCom Components - + @@ -14,9 +14,15 @@ - - + + + + + + + + diff --git a/packages/semcom-components/lib/index.ts b/packages/semcom-components/lib/index.ts index 4879c448..1cf29448 100644 --- a/packages/semcom-components/lib/index.ts +++ b/packages/semcom-components/lib/index.ts @@ -1,4 +1,11 @@ export * from './components/profile.component'; export * from './components/payslip.component'; +export * from './components/document.component'; export * from './components/input.component'; export * from './components/gender.component'; +export * from './components/base.component'; +export * from './components/barcode.component'; +export * from './components/credential.component'; +export * from './components/profile-name.component'; +export * from './components/profile-contact.component'; +export * from './components/profile-payslip.component'; diff --git a/packages/semcom-components/lib/public/components/barcode.component.json b/packages/semcom-components/lib/public/components/barcode.component.json new file mode 100644 index 00000000..d72461cc --- /dev/null +++ b/packages/semcom-components/lib/public/components/barcode.component.json @@ -0,0 +1 @@ +{"uri":"http://example.com/barcode.component.js","label":"Barcode Component","description":"A barcode component","author":"Digita","tag":"barcode-component","version":"0.1.0","latest":true,"shapes":["https://schema.org/ProgramMembership"]} \ No newline at end of file diff --git a/packages/semcom-components/lib/public/components/credential.component.json b/packages/semcom-components/lib/public/components/credential.component.json new file mode 100644 index 00000000..29c7f408 --- /dev/null +++ b/packages/semcom-components/lib/public/components/credential.component.json @@ -0,0 +1 @@ +{"uri":"http://example.com/credential.component.js","label":"Credential Component","description":"A credential component","author":"Digita","tag":"credential-component","version":"0.1.0","latest":true,"shapes":["http://xmlns.com/foaf/0.1/OnlineAccount","http://xmlns.com/foaf/0.1/OnlineChatAccount","http://xmlns.com/foaf/0.1/OnlineEcommerceAccount","http://xmlns.com/foaf/0.1/OnlineGamingAccount"]} \ No newline at end of file diff --git a/packages/semcom-components/lib/public/components/document.component.json b/packages/semcom-components/lib/public/components/document.component.json new file mode 100644 index 00000000..01e75f16 --- /dev/null +++ b/packages/semcom-components/lib/public/components/document.component.json @@ -0,0 +1 @@ +{"uri":"http://example.com/document.component.js","label":"Document Component","description":"A component to render documents","author":"Digita","tag":"document-component","version":"0.1.0","latest":"true","shapes":["http://xmlns.com/foaf/0.1/Document"]} \ No newline at end of file diff --git a/packages/semcom-components/lib/public/components/gender.component.json b/packages/semcom-components/lib/public/components/gender.component.json new file mode 100644 index 00000000..59439a49 --- /dev/null +++ b/packages/semcom-components/lib/public/components/gender.component.json @@ -0,0 +1 @@ +{"uri":"http://example.com/gender.component.js","label":"Gender Component","description":"A gender component","author":"Digita","tag":"gender-component","version":"0.1.0","latest":true,"shapes":["http://xmlns.com/foaf/0.1/Person"]} \ No newline at end of file diff --git a/packages/semcom-components/lib/public/components/input.component.json b/packages/semcom-components/lib/public/components/input.component.json new file mode 100644 index 00000000..1c39426e --- /dev/null +++ b/packages/semcom-components/lib/public/components/input.component.json @@ -0,0 +1 @@ +{"uri":"http://example.com/input.component.js","label":"Input Component","description":"An input component","author":"Digita","tag":"input-component","version":"0.1.0","latest":true,"shapes":["http://digita.ai/voc/input#input"]} \ No newline at end of file diff --git a/packages/semcom-components/lib/public/components/payslip.component.json b/packages/semcom-components/lib/public/components/payslip.component.json new file mode 100644 index 00000000..d4dd02f4 --- /dev/null +++ b/packages/semcom-components/lib/public/components/payslip.component.json @@ -0,0 +1 @@ +{"uri":"http://example.com/payslip.component.js","label":"Payslip Component","description":"A payslip component","author":"Digita","tag":"payslip-component","version":"0.1.0","latest":true,"shapes":["http://xmlns.com/foaf/0.1/Person"]} \ No newline at end of file diff --git a/packages/semcom-components/lib/public/components/profile-contact.component.json b/packages/semcom-components/lib/public/components/profile-contact.component.json new file mode 100644 index 00000000..cecfb878 --- /dev/null +++ b/packages/semcom-components/lib/public/components/profile-contact.component.json @@ -0,0 +1 @@ +{"uri":"http://example.com/profile-contact.component.js","label":"Profile Contact Component","description":"A profile contact component","author":"Digita","tag":"profile-contact-component","version":"0.1.0","latest":true,"shapes":["http://xmlns.com/foaf/0.1/Person"]} \ No newline at end of file diff --git a/packages/semcom-components/lib/public/components/profile-name.component.json b/packages/semcom-components/lib/public/components/profile-name.component.json new file mode 100644 index 00000000..ee7b6513 --- /dev/null +++ b/packages/semcom-components/lib/public/components/profile-name.component.json @@ -0,0 +1 @@ +{"uri":"http://example.com/profile-name.component.js","label":"Profile Name Component","description":"A profile name component","author":"Digita","tag":"profile-name-component","version":"0.1.0","latest":true,"shapes":["http://xmlns.com/foaf/0.1/Person"]} \ No newline at end of file diff --git a/packages/semcom-components/lib/public/components/profile-payslip.component.json b/packages/semcom-components/lib/public/components/profile-payslip.component.json new file mode 100644 index 00000000..8b455006 --- /dev/null +++ b/packages/semcom-components/lib/public/components/profile-payslip.component.json @@ -0,0 +1 @@ +{"uri":"http://example.com/profile-payslip.component.js","label":"Profile Payslip Component","description":"A profile payslip component","author":"Digita","tag":"profile-payslip-component","version":"0.1.0","latest":true,"shapes":["http://xmlns.com/foaf/0.1/Person"]} \ No newline at end of file diff --git a/packages/semcom-components/lib/public/components/profile.component.json b/packages/semcom-components/lib/public/components/profile.component.json new file mode 100644 index 00000000..b68781ca --- /dev/null +++ b/packages/semcom-components/lib/public/components/profile.component.json @@ -0,0 +1 @@ +{"uri":"http://example.com/profile.component.js","label":"Profile Component","description":"A profile component","author":"Digita","tag":"profile-component","version":"0.1.0","latest":true,"shapes":["http://xmlns.com/foaf/0.1/PersonalProfileDocument","http://xmlns.com/foaf/0.1/Person"]} \ No newline at end of file diff --git a/packages/semcom-components/lib/styles.css b/packages/semcom-components/lib/styles.css deleted file mode 100644 index 13628998..00000000 --- a/packages/semcom-components/lib/styles.css +++ /dev/null @@ -1,12 +0,0 @@ -html { - background-color: #ddd; - padding: 0; - margin: 0; -} - -body { - max-width: 1200px; - background-color: #eee; - margin: 0 auto; - box-shadow: 8px 0 10px -4px rgba(100, 100, 100, 0.3), -8px 0 8px -4px rgba(100, 100, 100, 0.3); -} diff --git a/packages/semcom-components/package-lock.json b/packages/semcom-components/package-lock.json index b0a1a5fe..111f98d7 100644 --- a/packages/semcom-components/package-lock.json +++ b/packages/semcom-components/package-lock.json @@ -1,9 +1,17 @@ { "name": "@digita-ai/semcom-components", - "version": "0.9.6", + "version": "0.11.0", "lockfileVersion": 1, "requires": true, "dependencies": { + "@appnest/lit-translate": { + "version": "1.1.18", + "resolved": "https://registry.npmjs.org/@appnest/lit-translate/-/lit-translate-1.1.18.tgz", + "integrity": "sha512-iVdyYw6EXsg8/+WeAJ3Ex2izp3nsfhBs1wyo1AAqOEUcbKOa7xzQhWHFoejNgoV+PpDBeqDlfbqrCZsKqV6F3Q==", + "requires": { + "lit-html": "^1.1.2" + } + }, "@babel/code-frame": { "version": "7.12.11", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", @@ -490,18 +498,370 @@ "minimist": "^1.2.0" } }, + "@digita-ai/dgt-components": { + "version": "0.11.1", + "resolved": "https://npm.pkg.github.com/download/@digita-ai/dgt-components/0.11.1/0ce32e9b8451f12675da7d4ce703a29bc432ceda9b027a2b883b912c50037227", + "integrity": "sha512-vsKXyl/C8DtzQAAmDsCfWUsTfsWYcdOJkqR6pFHcNQ7Ppstp9PzYEIno1UrGWCCigzA14Z1O7tGglWbFyBzWSg==", + "requires": { + "@appnest/lit-translate": "^1.1.18", + "@digita-ai/dgt-theme": "0.11.1", + "@digita-ai/dgt-utils": "0.11.1", + "@digita-ai/inrupt-solid-service": "^0.9.2", + "@digita-ai/semcom-core": "^0.9.5", + "@digita-ai/semcom-sdk": "^0.9.5", + "buffer": "6.0.3", + "debounce": "^1.2.1", + "jsbarcode": "^3.11.5", + "lit-element": "2.4.0", + "n3": "1.8.0", + "rx-lit": "1.0.1", + "rxjs": "^7.4.0", + "xstate": "^4.26.0" + }, + "dependencies": { + "@digita-ai/semcom-core": { + "version": "0.9.8", + "resolved": "https://npm.pkg.github.com/download/@digita-ai/semcom-core/0.9.8/4890dc24ceba8fb377c07dce43fe7b5bd13288b65e0813315071bc54d027fc6b", + "integrity": "sha512-mKIDGhxWjNxV9XGf3sLArWeqAiNvkQlmDKSzeJ3rTWM2xD0iJpEIH9SjF8evZ0deIA/RPTsEijFEE9KYDc/Vvw==" + }, + "@digita-ai/semcom-sdk": { + "version": "0.9.8", + "resolved": "https://npm.pkg.github.com/download/@digita-ai/semcom-sdk/0.9.8/5b8c07f72343a626b4e359befdfbc340c62a7a96e48f89d76703da3d790fd74b", + "integrity": "sha512-GWYv33tKckBcWAkCyE+e2HaF+She0wrdvUWAMF3aDdn2ML6apftgBfYgIXIbPq+F/sM4Pt7xD62qxtYe3EamHg==", + "requires": { + "@digita-ai/semcom-core": "0.9.8", + "buffer": "6.0.3", + "jssha": "^3.2.0", + "n3": "1.10.0" + }, + "dependencies": { + "n3": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/n3/-/n3-1.10.0.tgz", + "integrity": "sha512-y+qpS0GktEBttOaDR+BF1t1G2fw4Xn4nCZWNn+7MvEmD2I4YpMH6OJF/xHKSwInCxOC9vu9eI6pluB9/RDUyZQ==", + "requires": { + "queue-microtask": "^1.1.2", + "readable-stream": "^3.6.0" + } + } + } + }, + "lit-element": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-2.4.0.tgz", + "integrity": "sha512-pBGLglxyhq/Prk2H91nA0KByq/hx/wssJBQFiYqXhGDvEnY31PRGYf1RglVzyLeRysu0IHm2K0P196uLLWmwFg==", + "requires": { + "lit-html": "^1.1.1" + } + }, + "n3": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/n3/-/n3-1.8.0.tgz", + "integrity": "sha512-/PEmoB3UJrG6aXGZenDHFBJtmPp2rtfB2YLzAm2dU9stInD+ztvy4fKv5fv2ggsrSlpu7BYDTsz/c6S391uuEg==", + "requires": { + "queue-microtask": "^1.1.2", + "readable-stream": "^3.6.0" + } + }, + "rxjs": { + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.1.tgz", + "integrity": "sha512-KExVEeZWxMZnZhUZtsJcFwz8IvPvgu4G2Z2QyqjZQzUGr32KDYuSxrEYO4w3tFFNbfLozcrKUTvTPi+E9ywJkQ==", + "requires": { + "tslib": "^2.1.0" + } + }, + "tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" + } + } + }, + "@digita-ai/dgt-theme": { + "version": "0.11.1", + "resolved": "https://npm.pkg.github.com/download/@digita-ai/dgt-theme/0.11.1/0719862c4794e66e318ed987c6079b7cf86bbf8b74b898f8b63fa797a07c3c5b", + "integrity": "sha512-5hCFOXTWfYfECQTWMVu7SyHcIbi8Bpg5UXxIosfgvvp0+qyILFDBAAIYz637mpKTj+hBrlQjNV0a5XTr5+jZCQ==" + }, + "@digita-ai/dgt-utils": { + "version": "0.11.1", + "resolved": "https://npm.pkg.github.com/download/@digita-ai/dgt-utils/0.11.1/ffde3a6fc2ced867c3b4688d24a4f2e520ecc887baf349a6014b496cd5105ff1", + "integrity": "sha512-5Opm6E46WrGsL4ueGiS0kiSJD0k4v5pkYpNitFcQ15HC5okRKG6pel0dob7otAokTvtiJcBYbE9xwVTNzbwt2g==", + "requires": { + "@types/node": "^14.14.14", + "rxjs": "^7.4.0", + "xstate": "^4.26.1", + "zone.js": "~0.8.26" + }, + "dependencies": { + "rxjs": { + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.1.tgz", + "integrity": "sha512-KExVEeZWxMZnZhUZtsJcFwz8IvPvgu4G2Z2QyqjZQzUGr32KDYuSxrEYO4w3tFFNbfLozcrKUTvTPi+E9ywJkQ==", + "requires": { + "tslib": "^2.1.0" + } + }, + "tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" + } + } + }, + "@digita-ai/inrupt-solid-client": { + "version": "0.9.3", + "resolved": "https://npm.pkg.github.com/download/@digita-ai/inrupt-solid-client/0.9.3/8589da3182de3d7934e55e81f8d9351dba40ffa61f8321a28edd973844725bd1", + "integrity": "sha512-Y6V83a8AeITDoekZxwMKDvJ+n38blBICZldSj8nM6u7SDQdJE8xKbD7TMq+FhnyULYuKluE6EXSaWGUPn2Yaew==", + "requires": { + "@inrupt/solid-client": "1.6.1", + "@inrupt/solid-client-authn-browser": "1.8.0", + "rxjs": "^6.6.7" + } + }, + "@digita-ai/inrupt-solid-service": { + "version": "0.9.3", + "resolved": "https://npm.pkg.github.com/download/@digita-ai/inrupt-solid-service/0.9.3/2b1119ca535e8a971c70919d12f684670cc03857bbbbda369029da9a2bca9476", + "integrity": "sha512-pKPt5VhCA8Ta0dIQaVuv21TEE4wxneKdLmkw5QGZBPYqkW+xTvzau8P1zviXT90tCVECK9VR3uYVUCa1RUl4Tg==", + "requires": { + "@digita-ai/inrupt-solid-client": "0.9.3", + "crypto-js": "^4.1.1", + "jest-environment-jsdom": "^27.2.0", + "jose": "3.14.3", + "n3": "^1.11.0", + "rdf-js": "^4.0.2", + "uuid": "^8.3.2" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", + "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", + "requires": { + "@babel/highlight": "^7.16.7" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", + "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==" + }, + "@babel/highlight": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.7.tgz", + "integrity": "sha512-aKpPMfLvGO3Q97V0qhw/V2SWNWlwfJknuwAunU7wZLSfrM4xTBvg7E5opUVi1kJTBKihE38CPg4nBiqX83PWYw==", + "requires": { + "@babel/helper-validator-identifier": "^7.16.7", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "dependencies": { + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + } + } + }, + "@jest/environment": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.4.6.tgz", + "integrity": "sha512-E6t+RXPfATEEGVidr84WngLNWZ8ffCPky8RqqRK6u1Bn0LK92INe0MDttyPl/JOzaq92BmDzOeuqk09TvM22Sg==", + "requires": { + "@jest/fake-timers": "^27.4.6", + "@jest/types": "^27.4.2", + "@types/node": "*", + "jest-mock": "^27.4.6" + } + }, + "@jest/fake-timers": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.4.6.tgz", + "integrity": "sha512-mfaethuYF8scV8ntPpiVGIHQgS0XIALbpY2jt2l7wb/bvq4Q5pDLk4EP4D7SAvYT1QrPOPVZAtbdGAOOyIgs7A==", + "requires": { + "@jest/types": "^27.4.2", + "@sinonjs/fake-timers": "^8.0.1", + "@types/node": "*", + "jest-message-util": "^27.4.6", + "jest-mock": "^27.4.6", + "jest-util": "^27.4.2" + } + }, + "@jest/types": { + "version": "27.4.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.4.2.tgz", + "integrity": "sha512-j35yw0PMTPpZsUoOBiuHzr1zTYoad1cVIE0ajEjcrJONxxrko/IRGKkXx3os0Nsi4Hu3+5VmDbVfq5WhG/pWAg==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@sinonjs/fake-timers": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz", + "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==", + "requires": { + "@sinonjs/commons": "^1.7.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "ci-info": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.0.tgz", + "integrity": "sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw==" + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "jest-environment-jsdom": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.4.6.tgz", + "integrity": "sha512-o3dx5p/kHPbUlRvSNjypEcEtgs6LmvESMzgRFQE6c+Prwl2JLA4RZ7qAnxc5VM8kutsGRTB15jXeeSbJsKN9iA==", + "requires": { + "@jest/environment": "^27.4.6", + "@jest/fake-timers": "^27.4.6", + "@jest/types": "^27.4.2", + "@types/node": "*", + "jest-mock": "^27.4.6", + "jest-util": "^27.4.2", + "jsdom": "^16.6.0" + } + }, + "jest-message-util": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.4.6.tgz", + "integrity": "sha512-0p5szriFU0U74czRSFjH6RyS7UYIAkn/ntwMuOwTGWrQIOh5NzXXrq72LOqIkJKKvFbPq+byZKuBz78fjBERBA==", + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.4.2", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.4", + "pretty-format": "^27.4.6", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + } + }, + "jest-mock": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.4.6.tgz", + "integrity": "sha512-kvojdYRkst8iVSZ1EJ+vc1RRD9llueBjKzXzeCytH3dMM7zvPV/ULcfI2nr0v0VUgm3Bjt3hBCQvOeaBz+ZTHw==", + "requires": { + "@jest/types": "^27.4.2", + "@types/node": "*" + } + }, + "jest-util": { + "version": "27.4.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.4.2.tgz", + "integrity": "sha512-YuxxpXU6nlMan9qyLuxHaMMOzXAl5aGZWCSzben5DhLHemYQxCc4YK+4L3ZrCutT8GPQ+ui9k5D8rUJoDioMnA==", + "requires": { + "@jest/types": "^27.4.2", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.4", + "picomatch": "^2.2.3" + } + }, + "n3": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/n3/-/n3-1.12.2.tgz", + "integrity": "sha512-vY1HBEraMPWQFLEK6sn67DeGMqTuwXnlEYpZ8gTVukKQSz2f44d+t+ZcmwEt8c99FlVAbpmMb/435Q8t0OC+7w==", + "requires": { + "queue-microtask": "^1.1.2", + "readable-stream": "^3.6.0" + } + }, + "pretty-format": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.4.6.tgz", + "integrity": "sha512-NblstegA1y/RJW2VyML+3LlpFjzx62cUrtBIKIWDXEDkjNeleA7Od7nrzcs/VLQvAeV4CgSYhrN39DRN88Qi/g==", + "requires": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" + } + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, "@digita-ai/semcom-core": { - "version": "0.4.1", - "resolved": "https://npm.pkg.github.com/download/@digita-ai/semcom-core/0.4.1/729e478d7ba70181aa9c524a6abc0b31899a2bc3853e01aa90f7c98e93195c40", - "integrity": "sha512-ugKoiFgdj7ruMKfHAIExPbpg+z3NOSczpaAlbH2WLqN/7YN0fHYeo3BX565CO5x3LgcMuSyYIOG6rctg+lHT9w==" + "version": "0.10.2", + "resolved": "https://npm.pkg.github.com/download/@digita-ai/semcom-core/0.10.2/c17fd9dd3e8c1c89a3c2dcbb55140f0a2a9e443dc724df056df50b11a3d3cf41", + "integrity": "sha512-3sFWlAsSMniF175NkSryZHbj+pEZQ3rgWX8W2cyyTYlfWwNyshuoeJ9p2J58lGY5paHnCwprliHhNelQjE8O7g==" }, "@digita-ai/semcom-sdk": { - "version": "0.4.1", - "resolved": "https://npm.pkg.github.com/download/@digita-ai/semcom-sdk/0.4.1/dde8a07b980df69d747aa65d06c96e55fc0c2de3bd4935924e87f1759ac89aa8", - "integrity": "sha512-9jXx5OIuwLrUQ5eLQi4xyKJpmwRE9Lf1A/I61nLN+LSSR141DcnTAc2VJrl2Gjwvde8rm2Y9zWXW7Wk2IWe8Kg==", + "version": "0.10.2", + "resolved": "https://npm.pkg.github.com/download/@digita-ai/semcom-sdk/0.10.2/a2d1d74e5a0c90c8a348f7b18e66d5a9f2321ec58bd4b901096835bba78853a5", + "integrity": "sha512-JonVjwAPB4gvZZZK/icm11TMkFNn2vvi9b4xs026/eV4i7dUTk2sjUU8rM1MizyPtNMtVtUOf1hf2yizAkQABg==", "requires": { - "@digita-ai/semcom-core": "0.4.1", + "@digita-ai/semcom-core": "0.10.2", "buffer": "6.0.3", + "jssha": "^3.2.0", "n3": "1.10.0" } }, @@ -539,6 +899,196 @@ } } }, + "@inrupt/oidc-client": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@inrupt/oidc-client/-/oidc-client-1.11.6.tgz", + "integrity": "sha512-1rCTk1T6pdm/7gKozutZutk7jwmYBADlnkGGoI5ypke099NOCa5KFXjkQpbjsps0PRkKZ+0EaR70XN5+xqmViA==", + "requires": { + "acorn": "^7.4.1", + "base64-js": "^1.5.1", + "core-js": "^3.8.3", + "crypto-js": "^4.0.0", + "serialize-javascript": "^4.0.0" + } + }, + "@inrupt/oidc-client-ext": { + "version": "1.11.3", + "resolved": "https://registry.npmjs.org/@inrupt/oidc-client-ext/-/oidc-client-ext-1.11.3.tgz", + "integrity": "sha512-uFqKKQhdXP1RJTOrOmUcDX7sBTpdMS8rNcQgmXXmIl7FvGFwCvtPvyO0DXnGtTTrBQBfOBtTfGX9qvuFrEKbkA==", + "requires": { + "@inrupt/oidc-client": "^1.11.6", + "@inrupt/solid-client-authn-core": "^1.11.3", + "@types/jest": "^27.0.3", + "@types/uuid": "^8.3.0", + "form-urlencoded": "~6.0.3", + "jose": "^4.3.7", + "ts-jest": "^27.0.7", + "uuid": "^8.3.1" + }, + "dependencies": { + "@types/jest": { + "version": "27.4.0", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-27.4.0.tgz", + "integrity": "sha512-gHl8XuC1RZ8H2j5sHv/JqsaxXkDDM9iDOgu0Wp8sjs4u/snb2PVehyWXJPr+ORA0RPpgw231mnutWI1+0hgjIQ==", + "requires": { + "jest-diff": "^27.0.0", + "pretty-format": "^27.0.0" + } + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + }, + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" + }, + "diff-sequences": { + "version": "27.4.0", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.4.0.tgz", + "integrity": "sha512-YqiQzkrsmHMH5uuh8OdQFU9/ZpADnwzml8z0O5HvRNda+5UZsaX/xN+AAxfR2hWq1Y7HZnAzO9J5lJXOuDz2Ww==" + }, + "form-urlencoded": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/form-urlencoded/-/form-urlencoded-6.0.5.tgz", + "integrity": "sha512-7M7IhZNujsHqjYovM1WTSqcAVOqfvgF8acu6ok1ct1a00l6LVrmagJKkOdRUH/PYKEDOZ7ZAw/Mtq1/Q8CuRTQ==" + }, + "jest-diff": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.4.6.tgz", + "integrity": "sha512-zjaB0sh0Lb13VyPsd92V7HkqF6yKRH9vm33rwBt7rPYrpQvS1nCvlIy2pICbKta+ZjWngYLNn4cCK4nyZkjS/w==", + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^27.4.0", + "jest-get-type": "^27.4.0", + "pretty-format": "^27.4.6" + } + }, + "jest-get-type": { + "version": "27.4.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.4.0.tgz", + "integrity": "sha512-tk9o+ld5TWq41DkK14L4wox4s2D9MtTpKaAVzXfr5CUKm5ZK2ExcaFE0qls2W71zE/6R2TxxrK9w2r6svAFDBQ==" + }, + "jose": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/jose/-/jose-4.3.7.tgz", + "integrity": "sha512-S7Xfsy8nN9Iw/AZxk+ZxEbd5ImIwJPM0TfAo8zI8FF+3lidQ2yiK4dqzsaPKSbZD0woNVSY0KCql6rlKc5V7ug==" + }, + "pretty-format": { + "version": "27.4.6", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.4.6.tgz", + "integrity": "sha512-NblstegA1y/RJW2VyML+3LlpFjzx62cUrtBIKIWDXEDkjNeleA7Od7nrzcs/VLQvAeV4CgSYhrN39DRN88Qi/g==", + "requires": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + } + } + } + }, + "@inrupt/solid-client": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@inrupt/solid-client/-/solid-client-1.6.1.tgz", + "integrity": "sha512-fTU30u73Re+vl7Rn4+U6jgodCtaLNGjlgLgiHivArsczApCf+fzh5MqD6uZlf0kRKsZpHm6q+7n5JRwBhOr/8Q==", + "requires": { + "@rdfjs/dataset": "^1.0.1", + "@types/n3": "^1.1.6", + "@types/rdf-js": "^4.0.0", + "@types/rdfjs__dataset": "^1.0.2", + "cross-fetch": "^3.0.4", + "http-link-header": "^1.0.2", + "n3": "1.8.1" + }, + "dependencies": { + "n3": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/n3/-/n3-1.8.1.tgz", + "integrity": "sha512-oS0XBNhHH+1TFByvJs84q2lsy3MqpkIeLNT8r9OPyblcvcQbZHcKspwdVcWWzNrlMpSHmbOG1KO5AbXy2++Csw==", + "requires": { + "queue-microtask": "^1.1.2", + "readable-stream": "^3.6.0" + } + } + } + }, + "@inrupt/solid-client-authn-browser": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@inrupt/solid-client-authn-browser/-/solid-client-authn-browser-1.8.0.tgz", + "integrity": "sha512-1zYE5mYzmgsZi9AOVmMAkCEXFXBOwGlOOG0p3vV4h2YnDC7YsP7cszQ3jfxwm4nnIEK+h9g3UjWKHevAKWAkzQ==", + "requires": { + "@inrupt/oidc-client-ext": "^1.8.0", + "@inrupt/solid-client-authn-core": "^1.8.0", + "@types/form-urlencoded": "^2.0.1", + "@types/lodash.clonedeep": "^4.5.6", + "@types/node": "^14.14.14", + "@types/uuid": "^8.3.0", + "assert": "^2.0.0", + "browserify-zlib": "^0.2.0", + "buffer": "^6.0.3", + "crypto-browserify": "^3.12.0", + "form-urlencoded": "^4.2.1", + "jose": "^2.0.2", + "lodash.clonedeep": "^4.5.0", + "os-browserify": "^0.3.0", + "reflect-metadata": "^0.1.13", + "stream-browserify": "^3.0.0", + "tsyringe": "^4.4.0", + "util": "^0.12.3", + "uuid": "^8.3.1" + }, + "dependencies": { + "jose": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/jose/-/jose-2.0.5.tgz", + "integrity": "sha512-BAiDNeDKTMgk4tvD0BbxJ8xHEHBZgpeRZ1zGPPsitSyMgjoMWiLGYAE7H7NpP5h0lPppQajQs871E8NHUrzVPA==", + "requires": { + "@panva/asn1.js": "^1.0.0" + } + }, + "util": { + "version": "0.12.4", + "resolved": "https://registry.npmjs.org/util/-/util-0.12.4.tgz", + "integrity": "sha512-bxZ9qtSlGUWSOy9Qa9Xgk11kSslpuZwaxCg4sNIDj6FLucDab2JxnHwyNTCpHMtK1MjoQiWQ6DiUMZYbSrO+Sw==", + "requires": { + "inherits": "^2.0.3", + "is-arguments": "^1.0.4", + "is-generator-function": "^1.0.7", + "is-typed-array": "^1.1.3", + "safe-buffer": "^5.1.2", + "which-typed-array": "^1.1.2" + } + } + } + }, + "@inrupt/solid-client-authn-core": { + "version": "1.11.3", + "resolved": "https://registry.npmjs.org/@inrupt/solid-client-authn-core/-/solid-client-authn-core-1.11.3.tgz", + "integrity": "sha512-XhxlH+mmCbDQxRQVCQWR5tS/jM0S+lHyFkxDhT9Ts3gAokv4YfwgYsIe2jHgiY8T4Qp3keYFy4RVhZdSRgKGIQ==", + "requires": { + "@inrupt/solid-common-vocab": "^1.0.0", + "@types/lodash.clonedeep": "^4.5.6", + "@types/uuid": "^8.3.0", + "cross-fetch": "^3.0.6", + "events": "^3.3.0", + "jose": "^4.3.7", + "lodash.clonedeep": "^4.5.0", + "uuid": "^8.3.1" + }, + "dependencies": { + "jose": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/jose/-/jose-4.3.7.tgz", + "integrity": "sha512-S7Xfsy8nN9Iw/AZxk+ZxEbd5ImIwJPM0TfAo8zI8FF+3lidQ2yiK4dqzsaPKSbZD0woNVSY0KCql6rlKc5V7ug==" + } + } + }, + "@inrupt/solid-common-vocab": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@inrupt/solid-common-vocab/-/solid-common-vocab-1.0.0.tgz", + "integrity": "sha512-LcImhJqqPsNl/OlULzEEK2rYevty0eh1zaOLVz3lnydEU1DQkeaJ8fKBxKdp5/QjCtnIYcaDjh5U11PGh29Dgg==" + }, "@istanbuljs/load-nyc-config": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", @@ -758,11 +1308,39 @@ "chalk": "^4.0.0" } }, + "@panva/asn1.js": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@panva/asn1.js/-/asn1.js-1.0.0.tgz", + "integrity": "sha512-UdkG3mLEqXgnlKsWanWcgb6dOjUzJ+XC5f+aWw30qrtjxeNUSfKX1cd5FBzOaXQumoe9nIqeZUvrRJS03HCCtw==" + }, + "@rdfjs/data-model": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/@rdfjs/data-model/-/data-model-1.3.4.tgz", + "integrity": "sha512-iKzNcKvJotgbFDdti7GTQDCYmL7GsGldkYStiP0K8EYtN7deJu5t7U11rKTz+nR7RtesUggT+lriZ7BakFv8QQ==", + "requires": { + "@rdfjs/types": ">=1.0.1" + } + }, + "@rdfjs/dataset": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@rdfjs/dataset/-/dataset-1.1.1.tgz", + "integrity": "sha512-BNwCSvG0cz0srsG5esq6CQKJc1m8g/M0DZpLuiEp0MMpfwguXX7VeS8TCg4UUG3DV/DqEvhy83ZKSEjdsYseeA==", + "requires": { + "@rdfjs/data-model": "^1.2.0" + } + }, + "@rdfjs/types": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@rdfjs/types/-/types-1.0.1.tgz", + "integrity": "sha512-YxVkH0XrCNG3MWeZxfg596GFe+oorTVusmNxRP6ZHTsGczZ8AGvG3UchRNkg3Fy4MyysI7vBAA5YZbESL+VmHQ==", + "requires": { + "@types/node": "*" + } + }, "@sinonjs/commons": { "version": "1.8.3", "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz", "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==", - "dev": true, "requires": { "type-detect": "4.0.8" } @@ -779,8 +1357,7 @@ "@tootallnate/once": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", - "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", - "dev": true + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==" }, "@types/babel__core": { "version": "7.1.14", @@ -823,6 +1400,11 @@ "@babel/types": "^7.3.0" } }, + "@types/form-urlencoded": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/form-urlencoded/-/form-urlencoded-2.0.1.tgz", + "integrity": "sha512-Kz3LwezuNvsQF8ZcswMv4b5ZhKmjTkH2Rxle6l/520Npvaxho6b4HN9lStp6HhGrZsL/rwJHpWK9vM1RA7uZbw==" + }, "@types/graceful-fs": { "version": "4.1.5", "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", @@ -835,14 +1417,12 @@ "@types/istanbul-lib-coverage": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz", - "integrity": "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==", - "dev": true + "integrity": "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==" }, "@types/istanbul-lib-report": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", - "dev": true, "requires": { "@types/istanbul-lib-coverage": "*" } @@ -851,7 +1431,6 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", - "dev": true, "requires": { "@types/istanbul-lib-report": "*" } @@ -866,21 +1445,32 @@ "pretty-format": "^26.0.0" } }, + "@types/lodash": { + "version": "4.14.178", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.178.tgz", + "integrity": "sha512-0d5Wd09ItQWH1qFbEyQ7oTQ3GZrMfth5JkbN3EvTKLXcHLRDSXeLnlvlOn0wvxVIwK5o2M8JzP/OWz7T3NRsbw==" + }, + "@types/lodash.clonedeep": { + "version": "4.5.6", + "resolved": "https://registry.npmjs.org/@types/lodash.clonedeep/-/lodash.clonedeep-4.5.6.tgz", + "integrity": "sha512-cE1jYr2dEg1wBImvXlNtp0xDoS79rfEdGozQVgliDZj1uERH4k+rmEMTudP9b4VQ8O6nRb5gPqft0QzEQGMQgA==", + "requires": { + "@types/lodash": "*" + } + }, "@types/n3": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/@types/n3/-/n3-1.8.0.tgz", - "integrity": "sha512-uyVeuz1TmdmKORidY0+hSfhonXgMk/hzpTnfZXG4HmQdXdykeoi7ohVxmAfYX21aaIcx9wJr1nqRN1griAOMPw==", - "dev": true, + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@types/n3/-/n3-1.10.0.tgz", + "integrity": "sha512-PTr6D6IV3l+dG0Og6E2vHVyXNAyOjEPEz1si3htgo9bkgjIj+9HDS68cbXjAxH7P5bDzyL1Cu5yaHZwjKYtLAw==", "requires": { "@types/node": "*", - "@types/rdf-js": "*" + "rdf-js": "^4.0.2" } }, "@types/node": { "version": "14.17.2", "resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.2.tgz", - "integrity": "sha512-sld7b/xmFum66AAKuz/rp/CUO8+98fMpyQ3SBfzzBNGMd/1iHBTAg9oyAvcYlAj46bpc74r91jSw2iFdnx29nw==", - "dev": true + "integrity": "sha512-sld7b/xmFum66AAKuz/rp/CUO8+98fMpyQ3SBfzzBNGMd/1iHBTAg9oyAvcYlAj46bpc74r91jSw2iFdnx29nw==" }, "@types/normalize-package-data": { "version": "2.4.0", @@ -904,16 +1494,27 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/@types/rdf-js/-/rdf-js-4.0.1.tgz", "integrity": "sha512-S+28+3RoFI+3arls7dS813gYnhb2HiyLX+gs00rgIvCzHU93DaYajhx4tyT+XEO8SjtzZw90OF4OVdYXBwbvkQ==", - "dev": true, "requires": { "@types/node": "*" } }, + "@types/rdfjs__dataset": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/rdfjs__dataset/-/rdfjs__dataset-1.0.5.tgz", + "integrity": "sha512-8OBC9Kr/ZSgNoUTe5mHTDPHaPt8Xen4XbYfqcbYv56d+4WdKliHXaFmFc0L4I5vsynE5JGu21Hvg2zWgX1Az6Q==", + "requires": { + "rdf-js": "^4.0.2" + } + }, "@types/stack-utils": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.0.tgz", - "integrity": "sha512-RJJrrySY7A8havqpGObOB4W92QXKJo63/jFLLgpvOtsGUqbQZ9Sbgl35KMm1DjC6j7AvmmU2bIno+3IyEaemaw==", - "dev": true + "integrity": "sha512-RJJrrySY7A8havqpGObOB4W92QXKJo63/jFLLgpvOtsGUqbQZ9Sbgl35KMm1DjC6j7AvmmU2bIno+3IyEaemaw==" + }, + "@types/uuid": { + "version": "8.3.4", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz", + "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==" }, "@types/yargs": { "version": "15.0.13", @@ -927,26 +1528,22 @@ "@types/yargs-parser": { "version": "20.2.0", "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.0.tgz", - "integrity": "sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA==", - "dev": true + "integrity": "sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA==" }, "abab": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", - "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==", - "dev": true + "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==" }, "acorn": { "version": "7.4.1", "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" }, "acorn-globals": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", - "dev": true, "requires": { "acorn": "^7.1.1", "acorn-walk": "^7.1.1" @@ -961,14 +1558,12 @@ "acorn-walk": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", - "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", - "dev": true + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==" }, "agent-base": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "dev": true, "requires": { "debug": "4" } @@ -1028,7 +1623,6 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, "requires": { "color-convert": "^2.0.1" } @@ -1076,6 +1670,50 @@ "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", "dev": true }, + "asn1.js": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", + "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", + "requires": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + } + } + }, + "assert": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-2.0.0.tgz", + "integrity": "sha512-se5Cd+js9dXJnu6Ag2JFc00t+HmHOen+8Q+L7O9zI0PqQXr20uk2J0XQqMxZEeo5U50o8Nvmmx7dZrl+Ufr35A==", + "requires": { + "es6-object-assign": "^1.1.0", + "is-nan": "^1.2.1", + "object-is": "^1.0.1", + "util": "^0.12.0" + }, + "dependencies": { + "util": { + "version": "0.12.4", + "resolved": "https://registry.npmjs.org/util/-/util-0.12.4.tgz", + "integrity": "sha512-bxZ9qtSlGUWSOy9Qa9Xgk11kSslpuZwaxCg4sNIDj6FLucDab2JxnHwyNTCpHMtK1MjoQiWQ6DiUMZYbSrO+Sw==", + "requires": { + "inherits": "^2.0.3", + "is-arguments": "^1.0.4", + "is-generator-function": "^1.0.7", + "is-typed-array": "^1.1.3", + "safe-buffer": "^5.1.2", + "which-typed-array": "^1.1.2" + } + } + } + }, "assign-symbols": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", @@ -1100,8 +1738,7 @@ "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" }, "atob": { "version": "2.1.2", @@ -1109,6 +1746,11 @@ "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", "dev": true }, + "available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==" + }, "babel-jest": { "version": "26.6.3", "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-26.6.3.tgz", @@ -1252,6 +1894,11 @@ "integrity": "sha1-RSIe5Cn37h5QNb4/UVM/HN/SmIQ=", "dev": true }, + "bn.js": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", + "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==" + }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -1266,16 +1913,86 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, "requires": { "fill-range": "^7.0.1" } }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" + }, "browser-process-hrtime": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", - "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", - "dev": true + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==" + }, + "browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "requires": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "requires": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "requires": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "browserify-rsa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", + "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", + "requires": { + "bn.js": "^5.0.0", + "randombytes": "^2.0.1" + } + }, + "browserify-sign": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", + "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", + "requires": { + "bn.js": "^5.1.1", + "browserify-rsa": "^4.0.1", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.3", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.5", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + } + }, + "browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "requires": { + "pako": "~1.0.5" + } }, "browserslist": { "version": "4.16.6", @@ -1290,6 +2007,14 @@ "node-releases": "^1.1.71" } }, + "bs-logger": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", + "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", + "requires": { + "fast-json-stable-stringify": "2.x" + } + }, "bser": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", @@ -1314,6 +2039,11 @@ "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", "dev": true }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" + }, "cache-base": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", @@ -1335,7 +2065,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dev": true, "requires": { "function-bind": "^1.1.1", "get-intrinsic": "^1.0.2" @@ -1372,7 +2101,6 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", - "dev": true, "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -1390,6 +2118,15 @@ "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", "dev": true }, + "cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, "cjs-module-lexer": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz", @@ -1494,7 +2231,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, "requires": { "color-name": "~1.1.4" } @@ -1502,8 +2238,7 @@ "color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "colorette": { "version": "1.2.2", @@ -1521,7 +2256,6 @@ "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" } @@ -1567,6 +2301,11 @@ "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", "dev": true }, + "core-js": { + "version": "3.20.2", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.20.2.tgz", + "integrity": "sha512-nuqhq11DcOAbFBV4zCbKeGbKQsUDRqTX0oqx7AttUBuqe3h20ixsE039QHelbL6P4h+9kytVqyEtyZ6gsiwEYw==" + }, "corser": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/corser/-/corser-2.0.1.tgz", @@ -1586,6 +2325,55 @@ "yaml": "^1.10.0" } }, + "create-ecdh": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", + "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", + "requires": { + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + } + } + }, + "create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "requires": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "requires": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "cross-fetch": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.4.tgz", + "integrity": "sha512-1eAtFWdIubi6T4XPy6ei9iUFoKpUkIF971QLN8lIvvvwueI65+Nw5haMNKUwfJxabqlIIDODJKGrQ66gxC0PbQ==", + "requires": { + "node-fetch": "2.6.1" + } + }, "cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -1597,17 +2385,38 @@ "which": "^2.0.1" } }, + "crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "requires": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + } + }, + "crypto-js": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.1.1.tgz", + "integrity": "sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw==" + }, "cssom": { "version": "0.4.4", "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", - "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", - "dev": true + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==" }, "cssstyle": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", - "dev": true, "requires": { "cssom": "~0.3.6" }, @@ -1615,8 +2424,7 @@ "cssom": { "version": "0.3.8", "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", - "dev": true + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" } } }, @@ -1624,18 +2432,21 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", - "dev": true, "requires": { "abab": "^2.0.3", "whatwg-mimetype": "^2.3.0", "whatwg-url": "^8.0.0" } }, + "debounce": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz", + "integrity": "sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==" + }, "debug": { "version": "4.3.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "dev": true, "requires": { "ms": "2.1.2" } @@ -1649,8 +2460,7 @@ "decimal.js": { "version": "10.2.1", "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.2.1.tgz", - "integrity": "sha512-KaL7+6Fw6i5A2XSnsbhm/6B+NuEA7TZ4vqxnd5tXz9sbKtrN9Srj8ab4vKVdK8YAqZO9P1kg45Y6YLoduPf+kw==", - "dev": true + "integrity": "sha512-KaL7+6Fw6i5A2XSnsbhm/6B+NuEA7TZ4vqxnd5tXz9sbKtrN9Srj8ab4vKVdK8YAqZO9P1kg45Y6YLoduPf+kw==" }, "decode-uri-component": { "version": "0.2.0", @@ -1667,8 +2477,7 @@ "deep-is": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", - "dev": true + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" }, "deepmerge": { "version": "4.2.2", @@ -1676,6 +2485,14 @@ "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", "dev": true }, + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "requires": { + "object-keys": "^1.0.12" + } + }, "define-property": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", @@ -1720,8 +2537,16 @@ "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + }, + "des.js": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", + "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", + "requires": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } }, "detect-newline": { "version": "3.1.0", @@ -1735,6 +2560,23 @@ "integrity": "sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==", "dev": true }, + "diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "requires": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + } + } + }, "doctrine": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", @@ -1748,7 +2590,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", - "dev": true, "requires": { "webidl-conversions": "^5.0.0" }, @@ -1756,8 +2597,7 @@ "webidl-conversions": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", - "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", - "dev": true + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==" } } }, @@ -1779,6 +2619,27 @@ "integrity": "sha512-ZZCx4CS3kYT3BREYiIXocDqlNPT56KfdTS1Ogo4yvxRriBqiEXCDTLIQZT/zNVtby91xTWMMxW2NBiXh8bpLHw==", "dev": true }, + "elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "requires": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + } + } + }, "emittery": { "version": "0.7.2", "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.7.2.tgz", @@ -1818,6 +2679,55 @@ "is-arrayish": "^0.2.1" } }, + "es-abstract": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.1.tgz", + "integrity": "sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w==", + "requires": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.1.1", + "get-symbol-description": "^1.0.0", + "has": "^1.0.3", + "has-symbols": "^1.0.2", + "internal-slot": "^1.0.3", + "is-callable": "^1.2.4", + "is-negative-zero": "^2.0.1", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.1", + "is-string": "^1.0.7", + "is-weakref": "^1.0.1", + "object-inspect": "^1.11.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.4", + "string.prototype.trimstart": "^1.0.4", + "unbox-primitive": "^1.0.1" + }, + "dependencies": { + "object-inspect": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz", + "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==" + } + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "es6-object-assign": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/es6-object-assign/-/es6-object-assign-1.1.0.tgz", + "integrity": "sha1-wsNYJlYkfDnqEHyx5mUrb58kUjw=" + }, "esbuild": { "version": "0.9.7", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.9.7.tgz", @@ -1840,7 +2750,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", - "dev": true, "requires": { "esprima": "^4.0.1", "estraverse": "^5.2.0", @@ -1852,14 +2761,12 @@ "estraverse": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", - "dev": true + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==" }, "levn": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "dev": true, "requires": { "prelude-ls": "~1.1.2", "type-check": "~0.3.2" @@ -1869,7 +2776,6 @@ "version": "0.8.3", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "dev": true, "requires": { "deep-is": "~0.1.3", "fast-levenshtein": "~2.0.6", @@ -1882,14 +2788,12 @@ "prelude-ls": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", - "dev": true + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=" }, "type-check": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "dev": true, "requires": { "prelude-ls": "~1.1.2" } @@ -1998,8 +2902,7 @@ "esprima": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" }, "esquery": { "version": "1.4.0", @@ -2044,8 +2947,7 @@ "esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" }, "eventemitter3": { "version": "4.0.7", @@ -2053,6 +2955,20 @@ "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", "dev": true }, + "events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==" + }, + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "requires": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, "exec-sh": { "version": "0.3.6", "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.6.tgz", @@ -2290,14 +3206,12 @@ "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==", - "dev": true + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" }, "fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" }, "fb-watchman": { "version": "2.0.1", @@ -2321,7 +3235,6 @@ "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, "requires": { "to-regex-range": "^5.0.1" } @@ -2364,17 +3277,26 @@ "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", "dev": true }, + "foreach": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", + "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=" + }, "form-data": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", - "dev": true, "requires": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", "mime-types": "^2.1.12" } }, + "form-urlencoded": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/form-urlencoded/-/form-urlencoded-4.5.1.tgz", + "integrity": "sha512-Rkd/RdMaprsMJEGzEbxolwacp78WupH7u369KEyIY3pEZ1fhL6HtyQ1FX+4HSfA1VVhET18UwCUcr5DVaDIaqg==" + }, "fragment-cache": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", @@ -2400,8 +3322,7 @@ "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" }, "functional-red-black-tree": { "version": "1.0.1", @@ -2425,7 +3346,6 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", - "dev": true, "requires": { "function-bind": "^1.1.1", "has": "^1.0.3", @@ -2453,6 +3373,15 @@ "pump": "^3.0.0" } }, + "get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + } + }, "get-value": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", @@ -2502,8 +3431,7 @@ "graceful-fs": { "version": "4.2.6", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", - "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==", - "dev": true + "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==" }, "growly": { "version": "1.3.0", @@ -2516,22 +3444,32 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, "requires": { "function-bind": "^1.1.1" } }, + "has-bigints": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", + "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==" + }, "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" }, "has-symbols": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", - "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", - "dev": true + "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==" + }, + "has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "requires": { + "has-symbols": "^1.0.2" + } }, "has-value": { "version": "1.0.0", @@ -2585,12 +3523,41 @@ } } }, + "hash-base": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "requires": { + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + } + }, + "hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, "he": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", "dev": true }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, "hosted-git-info": { "version": "2.8.9", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", @@ -2601,7 +3568,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", - "dev": true, "requires": { "whatwg-encoding": "^1.0.5" } @@ -2612,6 +3578,11 @@ "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", "dev": true }, + "http-link-header": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/http-link-header/-/http-link-header-1.0.3.tgz", + "integrity": "sha512-nARK1wSKoBBrtcoESlHBx36c1Ln/gnbNQi1eB6MeTUefJIT3NvUOsV15bClga0k38f0q/kN5xxrGSDS3EFnm9w==" + }, "http-proxy": { "version": "1.18.1", "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", @@ -2627,7 +3598,6 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", - "dev": true, "requires": { "@tootallnate/once": "1", "agent-base": "6", @@ -2656,7 +3626,6 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", - "dev": true, "requires": { "agent-base": "6", "debug": "4" @@ -2672,7 +3641,6 @@ "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, "requires": { "safer-buffer": ">= 2.1.2 < 3" } @@ -2735,6 +3703,16 @@ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, + "internal-slot": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", + "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", + "requires": { + "get-intrinsic": "^1.1.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + } + }, "is-accessor-descriptor": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", @@ -2755,18 +3733,49 @@ } } }, + "is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, "is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", "dev": true }, + "is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "requires": { + "has-bigints": "^1.0.1" + } + }, + "is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, "is-buffer": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", "dev": true }, + "is-callable": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", + "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==" + }, "is-ci": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", @@ -2805,6 +3814,14 @@ } } }, + "is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "requires": { + "has-tostringtag": "^1.0.0" + } + }, "is-descriptor": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", @@ -2855,6 +3872,14 @@ "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", "dev": true }, + "is-generator-function": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", + "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "requires": { + "has-tostringtag": "^1.0.0" + } + }, "is-glob": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", @@ -2864,11 +3889,32 @@ "is-extglob": "^2.1.1" } }, + "is-nan": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/is-nan/-/is-nan-1.3.2.tgz", + "integrity": "sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==", + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" + } + }, + "is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==" + }, "is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "is-number-object": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.6.tgz", + "integrity": "sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==", + "requires": { + "has-tostringtag": "^1.0.0" + } }, "is-obj": { "version": "1.0.1", @@ -2888,8 +3934,16 @@ "is-potential-custom-element-name": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", - "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", - "dev": true + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==" + }, + "is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } }, "is-regexp": { "version": "1.0.0", @@ -2897,12 +3951,45 @@ "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=", "dev": true }, + "is-shared-array-buffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz", + "integrity": "sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA==" + }, "is-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", "dev": true }, + "is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "requires": { + "has-symbols": "^1.0.2" + } + }, + "is-typed-array": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.8.tgz", + "integrity": "sha512-HqH41TNZq2fgtGT8WHVFVJhBVGuY3AnP3Q36K8JKXUxSxRgk/d+7NjmwG2vo2mYmXK8UYZKu0qH8bVP5gEisjA==", + "requires": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "es-abstract": "^1.18.5", + "foreach": "^2.0.5", + "has-tostringtag": "^1.0.0" + } + }, "is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", @@ -2915,6 +4002,14 @@ "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", "dev": true }, + "is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "requires": { + "call-bind": "^1.0.2" + } + }, "is-windows": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", @@ -3545,11 +4640,15 @@ "supports-color": "^7.0.0" } }, + "jose": { + "version": "3.14.3", + "resolved": "https://registry.npmjs.org/jose/-/jose-3.14.3.tgz", + "integrity": "sha512-j1vO5oWqa6LmdpiZvhkM9NYxN3EuTrmzVIqSGWtJVP6BOByujZdefZZjSFGzxmbf4GLYWaXLZMKTyVPbm00S2Q==" + }, "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, "js-yaml": { "version": "3.14.1", @@ -3561,11 +4660,15 @@ "esprima": "^4.0.0" } }, + "jsbarcode": { + "version": "3.11.5", + "resolved": "https://registry.npmjs.org/jsbarcode/-/jsbarcode-3.11.5.tgz", + "integrity": "sha512-zv3KsH51zD00I/LrFzFSM6dst7rDn0vIMzaiZFL7qusTjPZiPtxg3zxetp0RR7obmjTw4f6NyGgbdkBCgZUIrA==" + }, "jsdom": { "version": "16.6.0", "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.6.0.tgz", "integrity": "sha512-Ty1vmF4NHJkolaEmdjtxTfSfkdb8Ywarwf63f+F8/mDD1uLSSWDxDuMiZxiPhwunLrn9LOSVItWj4bLYsLN3Dg==", - "dev": true, "requires": { "abab": "^2.0.5", "acorn": "^8.2.4", @@ -3599,8 +4702,7 @@ "acorn": { "version": "8.3.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.3.0.tgz", - "integrity": "sha512-tqPKHZ5CaBJw0Xmy0ZZvLs1qTV+BNFSyvn77ASXkpBNfIRk8ev26fKrD9iLGwGA9zedPao52GSHzq8lyZG0NUw==", - "dev": true + "integrity": "sha512-tqPKHZ5CaBJw0Xmy0ZZvLs1qTV+BNFSyvn77ASXkpBNfIRk8ev26fKrD9iLGwGA9zedPao52GSHzq8lyZG0NUw==" } } }, @@ -3632,11 +4734,15 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", - "dev": true, "requires": { "minimist": "^1.2.5" } }, + "jssha": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jssha/-/jssha-3.2.0.tgz", + "integrity": "sha512-QuruyBENDWdN4tZwJbQq7/eAK85FqrI4oDbXjy5IBhYD+2pTJyBUWZe8ctWaCkrV0gy6AaelgOZZBMeswEa/6Q==" + }, "kind-of": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", @@ -3790,14 +4896,17 @@ "lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, "lodash.clonedeep": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", - "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", - "dev": true + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=" + }, + "lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=" }, "lodash.merge": { "version": "4.6.2", @@ -3837,7 +4946,6 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, "requires": { "yallist": "^4.0.0" } @@ -3859,6 +4967,11 @@ } } }, + "make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" + }, "makeerror": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", @@ -3883,6 +4996,16 @@ "object-visit": "^1.0.0" } }, + "md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, "merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", @@ -3893,12 +5016,27 @@ "version": "4.0.4", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", - "dev": true, "requires": { "braces": "^3.0.1", "picomatch": "^2.2.3" } }, + "miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "requires": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + } + } + }, "mime": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", @@ -3908,14 +5046,12 @@ "mime-db": { "version": "1.48.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.48.0.tgz", - "integrity": "sha512-FM3QwxV+TnZYQ2aRqhlKBMHxk10lTbMt3bBkMAp54ddrNeVSfcQYOOKuGuy3Ddrm38I04If834fOUSq1yzslJQ==", - "dev": true + "integrity": "sha512-FM3QwxV+TnZYQ2aRqhlKBMHxk10lTbMt3bBkMAp54ddrNeVSfcQYOOKuGuy3Ddrm38I04If834fOUSq1yzslJQ==" }, "mime-types": { "version": "2.1.31", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.31.tgz", "integrity": "sha512-XGZnNzm3QvgKxa8dpzyhFTHmpP3l5YNusmne07VUOXxou9CqUqYa/HBy124RqtVh/O2pECas/MOcsDgpilPOPg==", - "dev": true, "requires": { "mime-db": "1.48.0" } @@ -3926,6 +5062,16 @@ "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "dev": true }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" + }, "minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", @@ -3938,8 +5084,7 @@ "minimist": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" }, "mixin-deep": { "version": "1.3.2", @@ -3974,8 +5119,7 @@ "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "n3": { "version": "1.10.0", @@ -4023,6 +5167,11 @@ "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", "dev": true }, + "node-fetch": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", + "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==" + }, "node-int64": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", @@ -4102,8 +5251,7 @@ "nwsapi": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", - "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==", - "dev": true + "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==" }, "object-copy": { "version": "0.1.0", @@ -4139,8 +5287,21 @@ "object-inspect": { "version": "1.10.3", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.10.3.tgz", - "integrity": "sha512-e5mCJlSH7poANfC8z8S9s9S2IN5/4Zb3aZ33f5s8YqoazCFzNLloLU8r5VCG+G7WoqLvAAZoVMcy3tp/3X0Plw==", - "dev": true + "integrity": "sha512-e5mCJlSH7poANfC8z8S9s9S2IN5/4Zb3aZ33f5s8YqoazCFzNLloLU8r5VCG+G7WoqLvAAZoVMcy3tp/3X0Plw==" + }, + "object-is": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", + "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" }, "object-visit": { "version": "1.0.1", @@ -4151,6 +5312,17 @@ "isobject": "^3.0.0" } }, + "object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + } + }, "object.pick": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", @@ -4198,6 +5370,11 @@ "word-wrap": "^1.2.3" } }, + "os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=" + }, "p-each-series": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.2.0.tgz", @@ -4243,6 +5420,11 @@ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true }, + "pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" + }, "parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -4252,6 +5434,18 @@ "callsites": "^3.0.0" } }, + "parse-asn1": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", + "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", + "requires": { + "asn1.js": "^5.2.0", + "browserify-aes": "^1.0.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, "parse-json": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", @@ -4267,8 +5461,7 @@ "parse5": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", - "dev": true + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" }, "pascalcase": { "version": "0.1.1", @@ -4316,11 +5509,22 @@ "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", "dev": true }, + "pbkdf2": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", + "requires": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, "picomatch": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", - "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", - "dev": true + "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==" }, "pirates": { "version": "4.0.1", @@ -4431,8 +5635,27 @@ "psl": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", - "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", - "dev": true + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" + }, + "public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "requires": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + } + } }, "pump": { "version": "3.0.0", @@ -4447,8 +5670,7 @@ "punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" }, "qs": { "version": "6.10.1", @@ -4464,11 +5686,35 @@ "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "requires": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "rdf-js": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/rdf-js/-/rdf-js-4.0.2.tgz", + "integrity": "sha512-ApvlFa/WsQh8LpPK/6hctQwG06Z9ztQQGWVtrcrf9L6+sejHNXLPOqL+w7q3hF+iL0C4sv3AX1PUtGkLNzyZ0Q==", + "requires": { + "@rdfjs/types": "*" + } + }, "react-is": { "version": "17.0.2", "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", - "dev": true + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" }, "read-pkg": { "version": "5.2.0", @@ -4511,6 +5757,11 @@ "util-deprecate": "^1.0.1" } }, + "reflect-metadata": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz", + "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==" + }, "regex-not": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", @@ -4633,6 +5884,15 @@ "glob": "^7.1.3" } }, + "ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, "rollup": { "version": "2.50.6", "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.50.6.tgz", @@ -4648,11 +5908,15 @@ "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", "dev": true }, + "rx-lit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/rx-lit/-/rx-lit-1.0.1.tgz", + "integrity": "sha512-30Nrpomd9WvCN211RXrogiyvh91Cvw2ygrBMQYierP3hJ7a8ghnQRlIQwTRoRLfr9BrVYYMZwbxriFoK/NSpFQ==" + }, "rxjs": { "version": "6.6.7", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", - "dev": true, "requires": { "tslib": "^1.9.0" } @@ -4674,8 +5938,7 @@ "safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "sane": { "version": "4.1.0", @@ -4822,7 +6085,6 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", - "dev": true, "requires": { "xmlchars": "^2.2.0" } @@ -4837,7 +6099,6 @@ "version": "7.3.5", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, "requires": { "lru-cache": "^6.0.0" } @@ -4848,6 +6109,14 @@ "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=", "dev": true }, + "serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "requires": { + "randombytes": "^2.1.0" + } + }, "set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", @@ -4877,6 +6146,15 @@ } } }, + "sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, "shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -4903,7 +6181,6 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "dev": true, "requires": { "call-bind": "^1.0.0", "get-intrinsic": "^1.0.2", @@ -4925,8 +6202,7 @@ "slash": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" }, "slice-ansi": { "version": "4.0.0", @@ -5070,8 +6346,7 @@ "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" }, "source-map-js": { "version": "0.6.2", @@ -5159,7 +6434,6 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.3.tgz", "integrity": "sha512-gL//fkxfWUsIlFL2Tl42Cl6+HFALEaB1FU76I/Fy+oZjRreP7OPMXFlGbxM7NQsI0ZpUfw76sHnv0WNYuTb7Iw==", - "dev": true, "requires": { "escape-string-regexp": "^2.0.0" }, @@ -5167,8 +6441,7 @@ "escape-string-regexp": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", - "dev": true + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==" } } }, @@ -5193,6 +6466,15 @@ } } }, + "stream-browserify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz", + "integrity": "sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==", + "requires": { + "inherits": "~2.0.4", + "readable-stream": "^3.5.0" + } + }, "string-argv": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz", @@ -5220,6 +6502,24 @@ "strip-ansi": "^6.0.0" } }, + "string.prototype.trimend": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", + "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "string.prototype.trimstart": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", + "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, "string_decoder": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", @@ -5276,7 +6576,6 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, "requires": { "has-flag": "^4.0.0" } @@ -5294,8 +6593,7 @@ "symbol-tree": { "version": "3.2.4", "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", - "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", - "dev": true + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" }, "table": { "version": "6.7.1", @@ -5418,7 +6716,6 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, "requires": { "is-number": "^7.0.0" } @@ -5427,7 +6724,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz", "integrity": "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==", - "dev": true, "requires": { "psl": "^1.1.33", "punycode": "^2.1.1", @@ -5438,16 +6734,82 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", - "dev": true, "requires": { "punycode": "^2.1.1" } }, + "ts-jest": { + "version": "27.1.2", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-27.1.2.tgz", + "integrity": "sha512-eSOiJOWq6Hhs6Khzk5wKC5sgWIXgXqOCiIl1+3lfnearu58Hj4QpE5tUhQcA3xtZrELbcvAGCsd6HB8OsaVaTA==", + "requires": { + "bs-logger": "0.x", + "fast-json-stable-stringify": "2.x", + "jest-util": "^27.0.0", + "json5": "2.x", + "lodash.memoize": "4.x", + "make-error": "1.x", + "semver": "7.x", + "yargs-parser": "20.x" + }, + "dependencies": { + "@jest/types": { + "version": "27.4.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.4.2.tgz", + "integrity": "sha512-j35yw0PMTPpZsUoOBiuHzr1zTYoad1cVIE0ajEjcrJONxxrko/IRGKkXx3os0Nsi4Hu3+5VmDbVfq5WhG/pWAg==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", + "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "ci-info": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.0.tgz", + "integrity": "sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw==" + }, + "jest-util": { + "version": "27.4.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.4.2.tgz", + "integrity": "sha512-YuxxpXU6nlMan9qyLuxHaMMOzXAl5aGZWCSzben5DhLHemYQxCc4YK+4L3ZrCutT8GPQ+ui9k5D8rUJoDioMnA==", + "requires": { + "@jest/types": "^27.4.2", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.4", + "picomatch": "^2.2.3" + } + }, + "yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==" + } + } + }, "tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "tsyringe": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/tsyringe/-/tsyringe-4.6.0.tgz", + "integrity": "sha512-BMQAZamSfEmIQzH8WJeRu1yZGQbPSDuI9g+yEiKZFIcO46GPZuMOC2d0b52cVBdw1d++06JnDSIIZvEnogMdAw==", + "requires": { + "tslib": "^1.9.3" + } }, "type-check": { "version": "0.4.0", @@ -5461,8 +6823,7 @@ "type-detect": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "dev": true + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==" }, "type-fest": { "version": "0.8.1", @@ -5485,6 +6846,17 @@ "integrity": "sha512-6OSu9PTIzmn9TCDiovULTnET6BgXtDYL4Gg4szY+cGsc3JP1dQL8qvE8kShTRx1NIw4Q9IBHlwODjkjWEtMUyA==", "dev": true }, + "unbox-primitive": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", + "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", + "requires": { + "function-bind": "^1.1.1", + "has-bigints": "^1.0.1", + "has-symbols": "^1.0.2", + "which-boxed-primitive": "^1.0.2" + } + }, "union": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/union/-/union-0.5.0.tgz", @@ -5509,8 +6881,7 @@ "universalify": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" }, "unset-value": { "version": "1.0.0", @@ -5604,9 +6975,7 @@ "uuid": { "version": "8.3.2", "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "dev": true, - "optional": true + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" }, "v8-compile-cache": { "version": "2.3.0", @@ -5660,7 +7029,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", - "dev": true, "requires": { "browser-process-hrtime": "^1.0.0" } @@ -5669,7 +7037,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", - "dev": true, "requires": { "xml-name-validator": "^3.0.0" } @@ -5686,14 +7053,12 @@ "webidl-conversions": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", - "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", - "dev": true + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==" }, "whatwg-encoding": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", - "dev": true, "requires": { "iconv-lite": "0.4.24" } @@ -5701,14 +7066,12 @@ "whatwg-mimetype": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", - "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", - "dev": true + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==" }, "whatwg-url": { "version": "8.5.0", "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.5.0.tgz", "integrity": "sha512-fy+R77xWv0AiqfLl4nuGUlQ3/6b5uNfQ4WAbGQVMYshCTCCPK9psC1nWh3XHuxGVCtlcDDQPQW1csmmIQo+fwg==", - "dev": true, "requires": { "lodash": "^4.7.0", "tr46": "^2.0.2", @@ -5724,17 +7087,41 @@ "isexe": "^2.0.0" } }, + "which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "requires": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + } + }, "which-module": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", "dev": true }, + "which-typed-array": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.7.tgz", + "integrity": "sha512-vjxaB4nfDqwKI0ws7wZpxIlde1XrLX5uB0ZjpfshgmapJMD7jJWhZI+yToJTqaFByF0eNBcYxbjmCzoRP7CfEw==", + "requires": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "es-abstract": "^1.18.5", + "foreach": "^2.0.5", + "has-tostringtag": "^1.0.0", + "is-typed-array": "^1.1.7" + } + }, "word-wrap": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==" }, "wrap-ansi": { "version": "6.2.0", @@ -5768,20 +7155,22 @@ "ws": { "version": "7.4.6", "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz", - "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==", - "dev": true + "integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==" }, "xml-name-validator": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", - "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", - "dev": true + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==" }, "xmlchars": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", - "dev": true + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" + }, + "xstate": { + "version": "4.27.0", + "resolved": "https://registry.npmjs.org/xstate/-/xstate-4.27.0.tgz", + "integrity": "sha512-ohOwDM9tViC/zSSmY9261CHblDPqiaAk5vyjVbi69uJv9fGWMzlm0VDQwM2OvC61GKfXVBeuWSMkL7LPUsTpfA==" }, "y18n": { "version": "4.0.3", @@ -5792,8 +7181,7 @@ "yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "yaml": { "version": "1.10.2", @@ -5829,6 +7217,11 @@ "camelcase": "^5.0.0", "decamelize": "^1.2.0" } + }, + "zone.js": { + "version": "0.8.29", + "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.8.29.tgz", + "integrity": "sha512-mla2acNCMkWXBD+c+yeUrBUrzOxYMNFdQ6FGfigGGtEVBPJx07BQeJekjt9DmH1FtZek4E9rE1eRR9qQpxACOQ==" } } } diff --git a/packages/semcom-components/package.json b/packages/semcom-components/package.json index e715deb7..7271469c 100644 --- a/packages/semcom-components/package.json +++ b/packages/semcom-components/package.json @@ -1,11 +1,12 @@ { "name": "@digita-ai/semcom-components", - "version": "0.9.6", + "version": "0.11.0", "description": "Collection of Semantic Components", "author": "Wouter Termont ", "main": "./dist/semcom-components.umd.js", "module": "./dist/semcom-components.es.js", "types": "./dist/index.d.ts", + "license": "agpl-3.0", "exports": { ".": { "import": "./dist/semcom-components.es.js", @@ -20,7 +21,6 @@ "dist" ], "scripts": { - "clean": "rimraf ./dist && rimraf ./package-lock.json && rimraf ./node_modules", "start": "npm run start:dev", "start:dev": "vite", "start:sync:dev": "npm run start:dev", @@ -34,16 +34,22 @@ "posttest": "jest-coverage-thresholds-bumper --silent --coverage-summary-path coverage-summary.json" }, "dependencies": { - "@digita-ai/semcom-core": "0.9.6", - "@digita-ai/semcom-sdk": "0.9.6", + "@digita-ai/dgt-components": "0.11.1", + "@digita-ai/dgt-theme": "0.11.1", + "@digita-ai/dgt-utils": "0.11.1", + "@digita-ai/semcom-core": "0.11.0", + "@digita-ai/semcom-sdk": "0.11.0", "buffer": "6.0.3", + "jsbarcode": "^3.11.5", "lit-element": "^2.4.0", - "n3": "1.10.0" + "n3": "1.10.0", + "rx-lit": "1.0.1", + "xstate": "^4.26.0" }, "devDependencies": { "@digita-ai/typescript-config": "^0.3.4", "@types/jest": "^26.0.22", - "@types/n3": "^1.8.0", + "@types/n3": "1.10.0", "@types/node": "^14.14.14", "@types/rdf-js": "^4.0.1", "eslint": "^7.16.0", @@ -65,5 +71,8 @@ }, "bugs": { "url": "https://github.com/digita-ai/semcom/issues" - } + }, + "eslintIgnore": [ + "demo" + ] } diff --git a/packages/semcom-components/tests/setup.ts b/packages/semcom-components/tests/setup.ts deleted file mode 100644 index 0d6ff3dc..00000000 --- a/packages/semcom-components/tests/setup.ts +++ /dev/null @@ -1,10 +0,0 @@ -import InputComponent from '../lib/components/input'; -import PayslipComponent from '../lib/components/payslip'; -import ProfileComponent from '../lib/components/profile'; - -/** - * Register tags for components. - */ -customElements.define('profile-component', ProfileComponent); -customElements.define('payslip-component', PayslipComponent); -customElements.define('input-component', InputComponent); diff --git a/packages/semcom-components/tsconfig.json b/packages/semcom-components/tsconfig.json index 4d0c7e6f..08245e72 100644 --- a/packages/semcom-components/tsconfig.json +++ b/packages/semcom-components/tsconfig.json @@ -7,6 +7,7 @@ "module": "es2020", // Recommended by Lit Element "target": "es2017", + "skipLibCheck": true, "strict": true, }, "files": [ "node_modules/vite/client.d.ts" ], diff --git a/packages/semcom-components/vite.config.ts b/packages/semcom-components/vite.config.ts index 3aeb1fe3..dfb0d5ab 100644 --- a/packages/semcom-components/vite.config.ts +++ b/packages/semcom-components/vite.config.ts @@ -16,7 +16,7 @@ export default ({ command, mode }) => { 'process.env.NODE_DEBUG': undefined }, server: { - port: 8080, + port: process.env.PORT ? parseInt(process.env.PORT) : 8080 } }) } else { @@ -34,8 +34,14 @@ export default ({ command, mode }) => { input: { input: path.resolve(__dirname, 'lib/components/input.component.ts'), base: path.resolve(__dirname, 'lib/components/base.component.ts'), + document: path.resolve(__dirname, 'lib/components/document.component.ts'), + barcode: path.resolve(__dirname, 'lib/components/barcode.component.ts'), + credential: path.resolve(__dirname, 'lib/components/credential.component.ts'), payslip: path.resolve(__dirname, 'lib/components/payslip.component.ts'), profile: path.resolve(__dirname, 'lib/components/profile.component.ts'), + profileContact: path.resolve(__dirname, 'lib/components/profile-contact.component.ts'), + profileName: path.resolve(__dirname, 'lib/components/profile-name.component.ts'), + profilePayslip: path.resolve(__dirname, 'lib/components/profile-payslip.component.ts'), gender: path.resolve(__dirname, 'lib/components/gender.component.ts'), }, output: [ diff --git a/packages/semcom-core/CHANGELOG.md b/packages/semcom-core/CHANGELOG.md index 06ffde69..70a44b80 100644 --- a/packages/semcom-core/CHANGELOG.md +++ b/packages/semcom-core/CHANGELOG.md @@ -3,6 +3,57 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.11.0](https://github.com/digita-ai/semcom/compare/v0.10.2...v0.11.0) (2022-01-28) + + +### **Bug Fixes** + +* start default in memory without sync ([#185](https://github.com/digita-ai/semcom/issues/185)) ([9c6688c](https://github.com/digita-ai/semcom/commit/9c6688c10dd74da05b3dc6669862b960abbe0085)) + + + +### [0.10.2](https://github.com/digita-ai/semcom/compare/v0.10.1...v0.10.2) (2022-01-22) + + +### **Bug Fixes** + +* component-shape corrections ([#216](https://github.com/digita-ai/semcom/issues/216)) ([8dff959](https://github.com/digita-ai/semcom/commit/8dff959751e5c67a67903dbec92512a16f2ae7d6)) + + + +### [0.10.1](https://github.com/digita-ai/semcom/compare/v0.10.0...v0.10.1) (2022-01-14) + +**Note:** Version bump only for package @digita-ai/semcom-core + + + + + +## [0.10.0](https://github.com/digita-ai/semcom/compare/v0.9.8...v0.10.0) (2022-01-14) + +**Note:** Version bump only for package @digita-ai/semcom-core + + + + + +### [0.9.8](https://github.com/digita-ai/semcom/compare/v0.9.7...v0.9.8) (2021-12-15) + +**Note:** Version bump only for package @digita-ai/semcom-core + + + + + +### [0.9.7](https://github.com/digita-ai/semcom/compare/v0.9.6...v0.9.7) (2021-12-09) + + +### **Documentation** + +* complete-ts-docs ([#194](https://github.com/digita-ai/semcom/issues/194)) ([17a8415](https://github.com/digita-ai/semcom/commit/17a84154a5feaf960b70534a45c98c3bd048b95b)) + + + ### [0.9.6](https://github.com/digita-ai/semcom/compare/v0.9.5...v0.9.6) (2021-12-07) **Note:** Version bump only for package @digita-ai/semcom-core diff --git a/packages/semcom-core/LICENSE.md b/packages/semcom-core/LICENSE.md new file mode 100644 index 00000000..e24707ae --- /dev/null +++ b/packages/semcom-core/LICENSE.md @@ -0,0 +1,16 @@ + This program is offered under a commercial and under the AGPL license. + For commercial licensing, contact Digita at https://digita.ai. For AGPL licensing, see below. + + AGPL licensing: + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . \ No newline at end of file diff --git a/packages/semcom-core/lib/component/models/component-data-types.ts b/packages/semcom-core/lib/component/models/component-data-types.ts index 5cfd0c76..ac521e6e 100644 --- a/packages/semcom-core/lib/component/models/component-data-types.ts +++ b/packages/semcom-core/lib/component/models/component-data-types.ts @@ -1,5 +1,8 @@ import { Quad } from 'rdf-js'; +/** + * The possible data types SemCom components can read or write. + */ export interface ComponentDataTypes { quads: Quad[]; text: string; diff --git a/packages/semcom-core/lib/component/models/component-metadata.model.ts b/packages/semcom-core/lib/component/models/component-metadata.model.ts index db7bdbff..c1c474e0 100644 --- a/packages/semcom-core/lib/component/models/component-metadata.model.ts +++ b/packages/semcom-core/lib/component/models/component-metadata.model.ts @@ -1,3 +1,6 @@ +/** + * The metadata defining a component. + */ export class ComponentMetadata { [key: string]: string | number | boolean | string[] | undefined; diff --git a/packages/semcom-core/lib/component/services/manage.service.ts b/packages/semcom-core/lib/component/services/manage.service.ts index 2b4f8411..0fab52bb 100644 --- a/packages/semcom-core/lib/component/services/manage.service.ts +++ b/packages/semcom-core/lib/component/services/manage.service.ts @@ -1,3 +1,6 @@ +/** + * A service to manage and save components. + */ export interface ManageService { save(components: T[]): Promise; } diff --git a/packages/semcom-core/lib/component/services/query-component.service.ts b/packages/semcom-core/lib/component/services/query-component.service.ts index 290f578f..2f9657b0 100644 --- a/packages/semcom-core/lib/component/services/query-component.service.ts +++ b/packages/semcom-core/lib/component/services/query-component.service.ts @@ -1,6 +1,9 @@ import { ComponentMetadata } from '../models/component-metadata.model'; import { QueryService } from './query.service'; +/** + * A service for querying components based on a filter. + */ export abstract class QueryComponentService implements QueryService { public abstract query(filter: Partial): Promise; diff --git a/packages/semcom-core/lib/component/services/query.service.ts b/packages/semcom-core/lib/component/services/query.service.ts index b31536f1..72e3315d 100644 --- a/packages/semcom-core/lib/component/services/query.service.ts +++ b/packages/semcom-core/lib/component/services/query.service.ts @@ -1,3 +1,6 @@ +/** + * A service to query components. + */ export interface QueryService { query(filter: Partial): Promise; } diff --git a/packages/semcom-core/lib/logger/services/logger-console.service.ts b/packages/semcom-core/lib/logger/services/logger-console.service.ts index 5b362783..d3d2f509 100644 --- a/packages/semcom-core/lib/logger/services/logger-console.service.ts +++ b/packages/semcom-core/lib/logger/services/logger-console.service.ts @@ -1,8 +1,14 @@ /* eslint-disable no-console -- is a logger */ import { LoggerService } from './logger.service'; +/** + * A { LoggerService } for logging console messages. + */ export class LoggerConsoleService extends LoggerService { + /** + * { @inheritDoc LoggerService } + */ log(level: string, message: string, payload?: any) { if (payload) { diff --git a/packages/semcom-core/lib/logger/services/logger.service.ts b/packages/semcom-core/lib/logger/services/logger.service.ts index c4b3bb70..a8c6e64a 100644 --- a/packages/semcom-core/lib/logger/services/logger.service.ts +++ b/packages/semcom-core/lib/logger/services/logger.service.ts @@ -1,5 +1,15 @@ +/** + * A logger service. + */ export abstract class LoggerService { + /* + * Logs messages and an optional payload, depending on the severity level. + * + * @param { string } level - The log level (severity). + * @param { string } message - The message to log. + * @param { any } payload (optional) - The payload to attach to the log. + */ public abstract log(level: string, message: string, payload?: any): void; } diff --git a/packages/semcom-core/lib/mock/initial-components.ts b/packages/semcom-core/lib/mock/initial-components.ts index 0f128646..09978260 100644 --- a/packages/semcom-core/lib/mock/initial-components.ts +++ b/packages/semcom-core/lib/mock/initial-components.ts @@ -1,5 +1,8 @@ import { ComponentMetadata } from '../component/models/component-metadata.model'; +/** + * Mock metadata for initial components + */ export const initialComponents = [ { uri: 'foo1/bar', diff --git a/packages/semcom-core/package-lock.json b/packages/semcom-core/package-lock.json index 109d0910..70e490e6 100644 --- a/packages/semcom-core/package-lock.json +++ b/packages/semcom-core/package-lock.json @@ -1,6 +1,6 @@ { "name": "@digita-ai/semcom-core", - "version": "0.9.6", + "version": "0.11.0", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -491,18 +491,18 @@ } }, "@comunica/actor-abstract-mediatyped": { - "version": "1.21.1", - "resolved": "https://registry.npmjs.org/@comunica/actor-abstract-mediatyped/-/actor-abstract-mediatyped-1.21.1.tgz", - "integrity": "sha512-5LzWccqId3AfAeCPGqPkOiDATXrooXYLn58sNXDRdDUsRpL/jZ6be+7F000ZLTHnDRVCiLCXtb5P7984bBIzaA==", + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-abstract-mediatyped/-/actor-abstract-mediatyped-1.22.0.tgz", + "integrity": "sha512-+KQLPpx8GFqrhWFfuvrsA4Rjlfbo/QOIo2IvzSgmDwy6YVQZXaSQiNQv/BnrnedaFCf2ONV+w+PMLqXgzn8N9A==", "dev": true }, "@comunica/actor-http-native": { - "version": "1.21.1", - "resolved": "https://registry.npmjs.org/@comunica/actor-http-native/-/actor-http-native-1.21.1.tgz", - "integrity": "sha512-dJlBz8/nQgxH5ARkh8/092BbvQ8vaJ38hjWinLXXakmdj8WsVHnhUJ7/D4YtqY61bjwCBFekOLSPjfxKCEMRgA==", + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-http-native/-/actor-http-native-1.22.1.tgz", + "integrity": "sha512-BdB+hvQ9CJF9tI42hNhcvTMagOty+jw21LIQDJWI628xMcXZ88BJaUX0Ulc7g2nrWH97ZRm5+KjLC4Zf+OGwZg==", "dev": true, "requires": { - "@comunica/context-entries": "^1.21.1", + "@comunica/context-entries": "^1.22.0", "@types/parse-link-header": "^1.0.0", "cross-fetch": "^3.0.5", "follow-redirects": "^1.5.1", @@ -510,62 +510,62 @@ } }, "@comunica/actor-rdf-parse-html": { - "version": "1.21.1", - "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-html/-/actor-rdf-parse-html-1.21.1.tgz", - "integrity": "sha512-eZUExtLtC28nEMrECL2g3kmZjLmuY/Nu7S9p5NyvI60cwEjj1Rbf0aM9xqWLG5vuCiSKQz7MUobQ92WxtG6RHA==", + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-html/-/actor-rdf-parse-html-1.22.0.tgz", + "integrity": "sha512-U9pznSpQ1POSH+ekOke3lYKO0fsUbNdv1g1nfuWz/MV3xMCF/d2f3CVBjXRSx9qwyb/2zUrOjBCJRrYkfZ6geQ==", "dev": true, "requires": { - "@comunica/bus-rdf-parse-html": "^1.21.1", - "@types/rdf-js": "*", - "htmlparser2": "^6.0.0" + "@comunica/bus-rdf-parse-html": "^1.22.0", + "@rdfjs/types": "*", + "htmlparser2": "^7.0.0" } }, "@comunica/actor-rdf-parse-html-microdata": { - "version": "1.21.1", - "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-html-microdata/-/actor-rdf-parse-html-microdata-1.21.1.tgz", - "integrity": "sha512-50EjJ0HYiCdKEb2nebULLGkqLk9XZeLLSPCMDo+4Est65dGXcLkFPerBPTIlcrpOMmVXLry8F7m+fAtDQxUcmw==", + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-html-microdata/-/actor-rdf-parse-html-microdata-1.22.0.tgz", + "integrity": "sha512-OdB3Z7ZCtVAcsVU2Vs0ytGbiz0eYkeBwVA3k0vGVhSN3ygng5Thj+t8jxG6QWHlLvaIXfJFh0x57qY5tXkr8uQ==", "dev": true, "requires": { - "microdata-rdf-streaming-parser": "^1.1.0" + "microdata-rdf-streaming-parser": "^1.2.0" } }, "@comunica/actor-rdf-parse-html-rdfa": { - "version": "1.21.1", - "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-html-rdfa/-/actor-rdf-parse-html-rdfa-1.21.1.tgz", - "integrity": "sha512-37whUUn3LsvCV/kj37/ztAnBjGqKdGP8fLUpD3z8vDOg3ArhktPvWn+cB0ssU0DKSzsCTnCNujS7QoVyINPxJQ==", + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-html-rdfa/-/actor-rdf-parse-html-rdfa-1.22.0.tgz", + "integrity": "sha512-yVjYLpm9rbpPiqU1OE4Yioyk/YHtO6ywVMbdOPUNLeOwrtWou8vKX0Xh4UUR24Qrt8nuhE+p0kCJiZZtM1PmSQ==", "dev": true, "requires": { - "rdfa-streaming-parser": "^1.4.0" + "rdfa-streaming-parser": "^1.5.0" } }, "@comunica/actor-rdf-parse-html-script": { - "version": "1.21.1", - "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-html-script/-/actor-rdf-parse-html-script-1.21.1.tgz", - "integrity": "sha512-cM06ZEVpgj4/fLFrM8alRi0a4kh1XVY3vwWOyZXnkjVkIKp36Nc17Pw4+vM10z7D+x5VI/mZc0tGMohr8u7dcw==", + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-html-script/-/actor-rdf-parse-html-script-1.22.0.tgz", + "integrity": "sha512-gQSY56wkS/uftRyjQf+/dQFRpA/jZ6z2o2RgGbQc2avgKTkhaiTtPxpfO1oarLskm1sPlQOFo24ZwqUSqjOwcA==", "dev": true, "requires": { - "@comunica/bus-rdf-parse-html": "^1.21.1", - "@types/rdf-js": "*", + "@comunica/bus-rdf-parse-html": "^1.22.0", + "@rdfjs/types": "*", "relative-to-absolute-iri": "^1.0.5" } }, "@comunica/actor-rdf-parse-jsonld": { - "version": "1.21.1", - "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-jsonld/-/actor-rdf-parse-jsonld-1.21.1.tgz", - "integrity": "sha512-0pnZJUQ5bhaUwM7pQNr1afmoVKMmnYhJHdub9j/l2jAJWJFbVWucZI9z/g7r9Tek4SBS6PcM2+2sx8U9+WiiIA==", + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-jsonld/-/actor-rdf-parse-jsonld-1.22.1.tgz", + "integrity": "sha512-MFFhJ6eGyO40Be80zsFKAbRjkPXr80PvCqvVKsEstdv3u9C6GFV3nqZpCwvsVCz22IPQhW+rzb8ZyasmgHnurA==", "dev": true, "requires": { - "@comunica/context-entries": "^1.21.1", - "@types/rdf-js": "*", + "@comunica/context-entries": "^1.22.0", + "@rdfjs/types": "*", "jsonld-context-parser": "^2.1.2", - "jsonld-streaming-parser": "^2.3.0", + "jsonld-streaming-parser": "^2.4.0", "stream-to-string": "^1.2.0" } }, "@comunica/actor-rdf-parse-n3": { - "version": "1.21.1", - "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-n3/-/actor-rdf-parse-n3-1.21.1.tgz", - "integrity": "sha512-SFx/hkY0yr/TxfVdEecVg3DY2KOWPeGfM288CjDQjogx6Sxb6JuF9JaipNX8/twKVdBefGS9b1S9EyKpcr99Zg==", + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-n3/-/actor-rdf-parse-n3-1.22.0.tgz", + "integrity": "sha512-qHrGfh5k/pZa4imy7m9gJ1kt9aW1uxXqLDKnLKvR2l0m09YiEx/YOYWr1Wtu1YtH/Yyc13OX4mo/OwaE5PfrHQ==", "dev": true, "requires": { "@types/n3": "^1.4.4", @@ -573,104 +573,106 @@ } }, "@comunica/actor-rdf-parse-rdfxml": { - "version": "1.21.1", - "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-rdfxml/-/actor-rdf-parse-rdfxml-1.21.1.tgz", - "integrity": "sha512-fv5+DF5LagSJUayyQm7a917XQ9PNUfJVh2bqO/NlVfESXO8OFUAIySefW+j1y1JA0fpa5v1OnWTGAfdxGKnrUg==", + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-rdfxml/-/actor-rdf-parse-rdfxml-1.22.0.tgz", + "integrity": "sha512-k47WEAZ6qKEhf1eBZZeI5aVywlrUUKP3BKHw2zKJUjuWq5k+w/rp2WALCyt0Owtb37UlJbET3fTlUhXKvT+2aw==", "dev": true, "requires": { - "rdfxml-streaming-parser": "^1.4.0" + "rdfxml-streaming-parser": "^1.5.0" } }, "@comunica/actor-rdf-parse-xml-rdfa": { - "version": "1.21.1", - "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-xml-rdfa/-/actor-rdf-parse-xml-rdfa-1.21.1.tgz", - "integrity": "sha512-+9qyKJS+Ab3BWqrWnFU5CSgEDGtoGJpe19TzpymSXDP0aSAM6lnkZpCvT3EKi/Y8Bmw9xRXJZwemtxQK2y4SSQ==", + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-xml-rdfa/-/actor-rdf-parse-xml-rdfa-1.22.0.tgz", + "integrity": "sha512-y315YcZTz7AizKf8Jl022IocAJIh3OHSlzNrRNH3zB7i/ch+WHj1VL9pjIf6y77PD4BR75EdeoQCPafpm5Gsbg==", "dev": true, "requires": { - "rdfa-streaming-parser": "^1.3.0" + "rdfa-streaming-parser": "^1.5.0" } }, "@comunica/bus-http": { - "version": "1.21.1", - "resolved": "https://registry.npmjs.org/@comunica/bus-http/-/bus-http-1.21.1.tgz", - "integrity": "sha512-M6gi128ME+7uSnLPz4Bx3jgXhIb5/O7tODVHAtw9gt0z/9AAuYfmW9jqmcZ5Uwv3CCvJSvEc/m+dooCv35dTsA==", + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-http/-/bus-http-1.22.1.tgz", + "integrity": "sha512-CZ0NDWZH0k0FOshuRQJzYr3Z+2ZM1vqr9ZepONuaoYDwyKaxl29xPs3hNfjSy6YawjEQP+elr/WDc3TxKIpu8g==", "dev": true, "requires": { - "@comunica/context-entries": "^1.21.1", + "@comunica/context-entries": "^1.22.0", + "@types/readable-stream": "^2.3.11", "is-stream": "^2.0.0", + "readable-web-to-node-stream": "^3.0.2", "web-streams-node": "^0.4.0" } }, "@comunica/bus-init": { - "version": "1.21.1", - "resolved": "https://registry.npmjs.org/@comunica/bus-init/-/bus-init-1.21.1.tgz", - "integrity": "sha512-h8Gp/iJiyY8mbqhrbfLySwTXasjxmCX6kpM9RyXWqCBJzdx8Bfq6F/nYg2N+zpEJgyrn5zLdNgbBkcDetdeAmA==", + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-init/-/bus-init-1.22.0.tgz", + "integrity": "sha512-NIfEJLI8EYFdTWJB0PV/lxPagStPl+gUj3LtOnovcF1ZhC5rgcJSC/tq1r04n0TziY2KVangnLDsF4752LjD6g==", "dev": true }, "@comunica/bus-rdf-parse": { - "version": "1.21.1", - "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-parse/-/bus-rdf-parse-1.21.1.tgz", - "integrity": "sha512-JQD9Cgml/W+PCSEX3WulwxiQOdULFxAFDipLk69/J9WZxOj6emufxStM8M9R+pavbLaLYRcBQWgO0KLhEn/Rnw==", + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-parse/-/bus-rdf-parse-1.22.0.tgz", + "integrity": "sha512-ohZGlabX5K+dEmn+v4BzP+IZVyRc1ovWItHDLznnRqsHQr8W19WPG21lEFh5kk2MK4YnyQWmlUax1Yxrg7cbXg==", "dev": true, "requires": { - "@comunica/actor-abstract-mediatyped": "^1.21.1", - "@types/rdf-js": "*" + "@comunica/actor-abstract-mediatyped": "^1.22.0", + "@rdfjs/types": "*" } }, "@comunica/bus-rdf-parse-html": { - "version": "1.21.1", - "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-parse-html/-/bus-rdf-parse-html-1.21.1.tgz", - "integrity": "sha512-DJDFB8lxTJ1Pt+AhjOqe9hvj2nKtC23fJfEihU7DYIbz67O5pXAFgFtp9gn3gefoGB7T/CKoB8y8DcZy8N5u0A==", + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-parse-html/-/bus-rdf-parse-html-1.22.0.tgz", + "integrity": "sha512-zqdLdF5qvru1vnzN4t9eXpJhi6khKm1ZWhUovBB9pfYnnyGRCQCPlFpcgJPrD8JfKd6nTvhgdLB5QcAbBb1I0A==", "dev": true, "requires": { - "@types/rdf-js": "*" + "@rdfjs/types": "*" } }, "@comunica/context-entries": { - "version": "1.21.1", - "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-1.21.1.tgz", - "integrity": "sha512-7wBb+J+YLg4hcRQLFeP6/2b/xyK+lnQlc71OSjVMinQx1OO6tsjqlqHvQ6py56uVFs3cYduASgFuHTRVuoe1xA==", + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-1.22.0.tgz", + "integrity": "sha512-HOYr1HdhgavxABpw8saZa9pueLAeGVVd/6cZ3FWcYnH3CvfQu6Ima06Gd00QdIAiGjQm01qQcWCxp0xURiqLKg==", "dev": true }, "@comunica/core": { - "version": "1.21.1", - "resolved": "https://registry.npmjs.org/@comunica/core/-/core-1.21.1.tgz", - "integrity": "sha512-5lY/HkyOCorY2CtxQiKUKEOcUGjIKf/YG/txJrz84SKuy+zC91zq1Zt8qWfzNihCcWrgfmk0oZuvjbYvZGK4EA==", + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-1.22.0.tgz", + "integrity": "sha512-tgozygRFTd6t6l0YyvfVUWNC+KXWiTlBclkxtzFioQsplKvUSvg1TPjopRk8hhAvMaNRGMNBK2ZafNaqNTkI4w==", "dev": true, "requires": { - "@comunica/context-entries": "^1.21.1", - "@comunica/types": "^1.21.1", + "@comunica/context-entries": "^1.22.0", + "@comunica/types": "^1.22.0", "immutable": "^3.8.2" } }, "@comunica/mediator-combine-union": { - "version": "1.21.1", - "resolved": "https://registry.npmjs.org/@comunica/mediator-combine-union/-/mediator-combine-union-1.21.1.tgz", - "integrity": "sha512-wp2lbViVOOeNKTBRD+6sze7TKVX71T2RD324/1Syb8vOpwT3mtaDNJYFg0Mrwer/Xs54d7nA7JGZA2wC2HaXow==", + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/mediator-combine-union/-/mediator-combine-union-1.22.0.tgz", + "integrity": "sha512-iUHmEGgWVmk02e80uB7w8xZ5vgTLpiqzrImvbokolJzWcVbobVCUkq8DUxzz3FJbNVRGipZUFrOqkRPAuAX6FA==", "dev": true }, "@comunica/mediator-number": { - "version": "1.21.1", - "resolved": "https://registry.npmjs.org/@comunica/mediator-number/-/mediator-number-1.21.1.tgz", - "integrity": "sha512-OeuGx0R/mWI1uMMXM2V1vcR8J1DPhYXPR+Ncg4/qKHl7tSCQH1tlCgZu0+fovY2Qmc14f1tmw5YgnsE8lsikSQ==", + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/mediator-number/-/mediator-number-1.22.0.tgz", + "integrity": "sha512-KDPlJEvj0Lu+JygGXjnH8pf33k01lJ+wgzUlWK216jZJ1Px2lTlfc/COhSqi/e0y+k4ZSBcxx0gnjt2awMpbrQ==", "dev": true }, "@comunica/mediator-race": { - "version": "1.21.1", - "resolved": "https://registry.npmjs.org/@comunica/mediator-race/-/mediator-race-1.21.1.tgz", - "integrity": "sha512-SgdtF1JmqDyhZJsAOiVMPuV1qgdXqv/hbsFCxcmDQ+8q1ObmQ+0DZvdUe5Ymf2IyFaevsOHHG7hF5hJbLZmdmQ==", + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/mediator-race/-/mediator-race-1.22.0.tgz", + "integrity": "sha512-hIMaHyf9M4jOS0199OURSVgWFmzkyF2K2keuAb+iHoCH3UUcUnWjPOL1TrdkxvaUnrxmsBWR9SXbnqgMnhIsiQ==", "dev": true }, "@comunica/types": { - "version": "1.21.1", - "resolved": "https://registry.npmjs.org/@comunica/types/-/types-1.21.1.tgz", - "integrity": "sha512-Sdp8m9yvKbcCSx31L4nLe0tORCRc1TvUXSgpIUVGBXunqZpoWAhxcn2PZn7//xb6xnYUjHqrQZhYQbMdDIqONQ==", + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-1.22.0.tgz", + "integrity": "sha512-ZQ8p+ZvMAKmdq6Hz2QwqIQ2JScwRMotiWz0iSw2zYHsYQOhVmLg7HSMzMHpWNEA5UWzO/A5A+Co/ONXMhlnx3g==", "dev": true, "requires": { - "@types/rdf-js": "*", - "asynciterator": "^3.1.0", + "@rdfjs/types": "*", + "asynciterator": "^3.2.0", "immutable": "^3.8.2", - "sparqlalgebrajs": "^2.4.0" + "sparqlalgebrajs": "^3.0.1" } }, "@dabh/diagnostics": { @@ -955,31 +957,40 @@ } }, "@nodelib/fs.scandir": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz", - "integrity": "sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==", + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dev": true, "requires": { - "@nodelib/fs.stat": "2.0.4", + "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" } }, "@nodelib/fs.stat": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz", - "integrity": "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", "dev": true }, "@nodelib/fs.walk": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz", - "integrity": "sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==", + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dev": true, "requires": { - "@nodelib/fs.scandir": "2.1.4", + "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" } }, + "@rdfjs/types": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@rdfjs/types/-/types-1.0.1.tgz", + "integrity": "sha512-YxVkH0XrCNG3MWeZxfg596GFe+oorTVusmNxRP6ZHTsGczZ8AGvG3UchRNkg3Fy4MyysI7vBAA5YZbESL+VmHQ==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, "@sinonjs/commons": { "version": "1.8.3", "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz", @@ -1055,9 +1066,9 @@ } }, "@types/http-link-header": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@types/http-link-header/-/http-link-header-1.0.2.tgz", - "integrity": "sha512-rWvCGMtwx+01LFVpLbSYagloSMgqDwfzLSx9JcwUEkJWo4oDBKihp6X92Ff5tIS4VE5ojV4wH6iMnAnr/TZhhg==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@types/http-link-header/-/http-link-header-1.0.3.tgz", + "integrity": "sha512-y8HkoD/vyid+5MrJ3aas0FvU3/BVBGcyG9kgxL0Zn4JwstA8CglFPnrR0RuzOjRCXwqzL5uxWC2IO7Ub0rMU2A==", "dev": true, "requires": { "@types/node": "*" @@ -1098,25 +1109,25 @@ } }, "@types/lru-cache": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@types/lru-cache/-/lru-cache-5.1.0.tgz", - "integrity": "sha512-RaE0B+14ToE4l6UqdarKPnXwVDuigfFv+5j9Dze/Nqr23yyuqdNvzcZi3xB+3Agvi5R4EOgAksfv3lXX4vBt9w==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@types/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==", "dev": true }, "@types/minimist": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.1.tgz", - "integrity": "sha512-fZQQafSREFyuZcdWFAExYjBiCL7AUCdgsk80iO0q4yihYYdcIiH28CcuPTGFgLOCC8RlW49GSQxdHwZP+I7CNg==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", + "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==", "dev": true }, "@types/n3": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/@types/n3/-/n3-1.8.0.tgz", - "integrity": "sha512-uyVeuz1TmdmKORidY0+hSfhonXgMk/hzpTnfZXG4HmQdXdykeoi7ohVxmAfYX21aaIcx9wJr1nqRN1griAOMPw==", + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@types/n3/-/n3-1.10.0.tgz", + "integrity": "sha512-PTr6D6IV3l+dG0Og6E2vHVyXNAyOjEPEz1si3htgo9bkgjIj+9HDS68cbXjAxH7P5bDzyL1Cu5yaHZwjKYtLAw==", "dev": true, "requires": { "@types/node": "*", - "@types/rdf-js": "*" + "rdf-js": "^4.0.2" } }, "@types/node": { @@ -1138,9 +1149,9 @@ "dev": true }, "@types/parse-link-header": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/parse-link-header/-/parse-link-header-1.0.0.tgz", - "integrity": "sha512-fCA3btjE7QFeRLfcD0Sjg+6/CnmC66HpMBoRfRzd2raTaWMJV21CCZ0LO8MOqf8onl5n0EPfjq4zDhbyX8SVwA==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/parse-link-header/-/parse-link-header-1.0.1.tgz", + "integrity": "sha512-E2+Go9rQgPbmpkeA2iFXTWSTxX38KXlXwcdiIbt71Oorqr+G5QtH4AhpuDdxwRVyiTzdUrHnaaIumW/LhiZwVg==", "dev": true }, "@types/prettier": { @@ -1158,12 +1169,31 @@ "@types/node": "*" } }, + "@types/readable-stream": { + "version": "2.3.12", + "resolved": "https://registry.npmjs.org/@types/readable-stream/-/readable-stream-2.3.12.tgz", + "integrity": "sha512-IVe0ietigIRWjRg0gv2sydr0rhyPzdXQsBMU/gda8fl82xQL+J9UWRBcD0asxoe4pb5wTOsPrOz0KYJZVCXZJQ==", + "dev": true, + "requires": { + "@types/node": "*", + "safe-buffer": "*" + } + }, "@types/semver": { - "version": "7.3.6", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.6.tgz", - "integrity": "sha512-0caWDWmpCp0uifxFh+FaqK3CuZ2SkRR/ZRxAV5+zNdC3QVUi6wyOJnefhPvtNt8NQWXB5OA93BUvZsXpWat2Xw==", + "version": "7.3.9", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.9.tgz", + "integrity": "sha512-L/TMpyURfBkf+o/526Zb6kd/tchUP3iBDEPjqjb+U2MAJhVRxxrmr2fwpe08E7QsV7YLcpq0tUaQ9O9x97ZIxQ==", "dev": true }, + "@types/sparqljs": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@types/sparqljs/-/sparqljs-3.1.3.tgz", + "integrity": "sha512-nmFgmR6ns4i8sg9fYu+293H+PMLKmDOZy34sgwgAeUEEiIqSs4guj5aCZRt3gq1g0yuKXkqrxLDq/684g7pGtQ==", + "dev": true, + "requires": { + "rdf-js": "^4.0.2" + } + }, "@types/stack-utils": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.0.tgz", @@ -1186,19 +1216,19 @@ "dev": true }, "@typescript-eslint/types": { - "version": "4.26.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.26.0.tgz", - "integrity": "sha512-rADNgXl1kS/EKnDr3G+m7fB9yeJNnR9kF7xMiXL6mSIWpr3Wg5MhxyfEXy/IlYthsqwBqHOr22boFbf/u6O88A==", + "version": "4.33.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.33.0.tgz", + "integrity": "sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "4.26.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.26.0.tgz", - "integrity": "sha512-GHUgahPcm9GfBuy3TzdsizCcPjKOAauG9xkz9TR8kOdssz2Iz9jRCSQm6+aVFa23d5NcSpo1GdHGSQKe0tlcbg==", + "version": "4.33.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.33.0.tgz", + "integrity": "sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA==", "dev": true, "requires": { - "@typescript-eslint/types": "4.26.0", - "@typescript-eslint/visitor-keys": "4.26.0", + "@typescript-eslint/types": "4.33.0", + "@typescript-eslint/visitor-keys": "4.33.0", "debug": "^4.3.1", "globby": "^11.0.3", "is-glob": "^4.0.1", @@ -1207,12 +1237,12 @@ } }, "@typescript-eslint/visitor-keys": { - "version": "4.26.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.26.0.tgz", - "integrity": "sha512-cw4j8lH38V1ycGBbF+aFiLUls9Z0Bw8QschP3mkth50BbWzgFS33ISIgBzUMuQ2IdahoEv/rXstr8Zhlz4B1Zg==", + "version": "4.33.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.33.0.tgz", + "integrity": "sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg==", "dev": true, "requires": { - "@typescript-eslint/types": "4.26.0", + "@typescript-eslint/types": "4.33.0", "eslint-visitor-keys": "^2.0.0" } }, @@ -1387,15 +1417,15 @@ "dev": true }, "async": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.0.tgz", - "integrity": "sha512-TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw==", + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.2.tgz", + "integrity": "sha512-H0E+qZaDEfx/FY4t7iLRv1W2fFI6+pyCeTw1uN20AQPiwqwM6ojPxHxdLv4z8hi2DtnW9BOckSspLucW7pIE5g==", "dev": true }, "asynciterator": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/asynciterator/-/asynciterator-3.1.0.tgz", - "integrity": "sha512-+iDz8roOCGT+hvhhJ+GsQliEEB4Qd1QL1RIsllssZ3MkrtBGqc5Uwi3n5LcLp2f3rXRK07+qJPZQO+YvFCQzug==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/asynciterator/-/asynciterator-3.2.1.tgz", + "integrity": "sha512-sVOetIEbK8Rs13+l/RGAGjaGem8nihMsBiRpH+Sb4B1s8nWQsiWU2Xj+rk5wnJ/MhFP9O+y1ObEg3AufA2EzSQ==", "dev": true }, "asynckit": { @@ -1640,9 +1670,9 @@ "dev": true }, "canonicalize": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/canonicalize/-/canonicalize-1.0.5.tgz", - "integrity": "sha512-mAjKJPIyP0xqqv6IAkvso07StOmz6cmGtNDg3pXCSzXVZOqka7StIkAhJl/zHOi4M2CgpYfD6aeRWbnrmtvBEA==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/canonicalize/-/canonicalize-1.0.8.tgz", + "integrity": "sha512-0CNTVCLZggSh7bc5VkX5WWPWO+cyZbNd07IHIsSXLia/eAq+r836hgk+8BKoEh7949Mda87VUOitx5OddVj64A==", "dev": true }, "capture-exit": { @@ -1777,13 +1807,13 @@ } }, "color": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/color/-/color-3.0.0.tgz", - "integrity": "sha512-jCpd5+s0s0t7p3pHQKpnJ0TpQKKdleP71LWcA0aqiljpiuAkOSUFN/dyH8ZwF0hRmFlrIuRhufds1QyEP9EB+w==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", + "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", "dev": true, "requires": { - "color-convert": "^1.9.1", - "color-string": "^1.5.2" + "color-convert": "^1.9.3", + "color-string": "^1.6.0" }, "dependencies": { "color-convert": { @@ -1819,9 +1849,9 @@ "dev": true }, "color-string": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.5.tgz", - "integrity": "sha512-jgIoum0OfQfq9Whcfc2z/VhCNcmQjWbey6qBX0vqt7YICflUmBCh9E9CiQD5GSJ+Uehixm3NUwHVhqUAWRivZg==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.0.tgz", + "integrity": "sha512-9Mrz2AQLefkH1UvASKj6v6hj/7eWgjnT/cVsR8CumieLoT+g900exWeNogqtweI8dxloXN9BDQTYro1oWu/5CQ==", "dev": true, "requires": { "color-name": "^1.0.0", @@ -1841,12 +1871,12 @@ "dev": true }, "colorspace": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/colorspace/-/colorspace-1.1.2.tgz", - "integrity": "sha512-vt+OoIP2d76xLhjwbBaucYlNSpPsrJWPlBTtwCpQKIu6/CSMutyzX93O/Do0qzpH3YoHEes8YEFXyZ797rEhzQ==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/colorspace/-/colorspace-1.1.4.tgz", + "integrity": "sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w==", "dev": true, "requires": { - "color": "3.0.x", + "color": "^3.1.3", "text-hex": "1.0.x" } }, @@ -1878,41 +1908,493 @@ "dev": true }, "componentsjs": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/componentsjs/-/componentsjs-4.0.5.tgz", - "integrity": "sha512-vmeb6BGqks+y92k3oW9LIjX2HVabZUj+CgPqvROjMmmjP6JZkZEoRShBGNEXV9bVOufHz67iAlYo5D6EMS0Udw==", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/componentsjs/-/componentsjs-4.5.0.tgz", + "integrity": "sha512-0F473HDUFfizVXZH1KBP4jmZRBAqYdVdpGhaNmHFmla/AB76B8NN7hQk7YDGaKkESl9zYqQ6kF3i8UgJBQ+rtg==", "dev": true, "requires": { + "@rdfjs/types": "*", "@types/minimist": "^1.2.0", "@types/node": "^14.14.7", - "@types/rdf-js": "*", "@types/semver": "^7.3.4", "jsonld-context-parser": "^2.1.1", "minimist": "^1.2.0", - "rdf-data-factory": "^1.0.4", - "rdf-object": "^1.8.0", - "rdf-parse": "^1.7.0", + "rdf-data-factory": "^1.1.0", + "rdf-object": "^1.11.1", + "rdf-parse": "^1.9.1", "rdf-quad": "^1.5.0", - "rdf-terms": "^1.6.2", + "rdf-terms": "^1.7.0", "semver": "^7.3.2", "winston": "^3.3.3" } }, "componentsjs-generator": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/componentsjs-generator/-/componentsjs-generator-2.1.0.tgz", - "integrity": "sha512-anyw6eZtXEpMkHX0feRw1DVxEdLGZWtnCN5PHTDZy6uz+7IzzMzLrl8Td9PULO6+XD8U8N4lZQRMnqDeszSD2Q==", + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/componentsjs-generator/-/componentsjs-generator-2.6.1.tgz", + "integrity": "sha512-WA8UNWbBbTmJmC5IxP/N+TJz/XBPfpdzlnzRB5fS2vOmZbwul54/kTxl2V+jjEh/k7Nyh8oKFd/4kE9ZRFSChA==", "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", + "componentsjs": "^4.4.0", "jsonld-context-parser": "^2.0.2", "lru-cache": "^6.0.0", "minimist": "^1.2.5", "semver": "^7.3.2" + }, + "dependencies": { + "@comunica/actor-abstract-mediatyped": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-abstract-mediatyped/-/actor-abstract-mediatyped-1.22.0.tgz", + "integrity": "sha512-+KQLPpx8GFqrhWFfuvrsA4Rjlfbo/QOIo2IvzSgmDwy6YVQZXaSQiNQv/BnrnedaFCf2ONV+w+PMLqXgzn8N9A==", + "dev": true + }, + "@comunica/actor-http-native": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-http-native/-/actor-http-native-1.22.0.tgz", + "integrity": "sha512-4EUY+iCnq51vzX850JnV2nZpgtM3G29spy/SMjBx9xZ4snU4AHACZifDm1jkos60wxEzoP89iagcztcRrv71kA==", + "dev": true, + "requires": { + "@comunica/context-entries": "^1.22.0", + "@types/parse-link-header": "^1.0.0", + "cross-fetch": "^3.0.5", + "follow-redirects": "^1.5.1", + "parse-link-header": "^1.0.1" + } + }, + "@comunica/actor-rdf-parse-html": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-html/-/actor-rdf-parse-html-1.22.0.tgz", + "integrity": "sha512-U9pznSpQ1POSH+ekOke3lYKO0fsUbNdv1g1nfuWz/MV3xMCF/d2f3CVBjXRSx9qwyb/2zUrOjBCJRrYkfZ6geQ==", + "dev": true, + "requires": { + "@comunica/bus-rdf-parse-html": "^1.22.0", + "@rdfjs/types": "*", + "htmlparser2": "^7.0.0" + } + }, + "@comunica/actor-rdf-parse-html-microdata": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-html-microdata/-/actor-rdf-parse-html-microdata-1.22.0.tgz", + "integrity": "sha512-OdB3Z7ZCtVAcsVU2Vs0ytGbiz0eYkeBwVA3k0vGVhSN3ygng5Thj+t8jxG6QWHlLvaIXfJFh0x57qY5tXkr8uQ==", + "dev": true, + "requires": { + "microdata-rdf-streaming-parser": "^1.2.0" + } + }, + "@comunica/actor-rdf-parse-html-rdfa": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-html-rdfa/-/actor-rdf-parse-html-rdfa-1.22.0.tgz", + "integrity": "sha512-yVjYLpm9rbpPiqU1OE4Yioyk/YHtO6ywVMbdOPUNLeOwrtWou8vKX0Xh4UUR24Qrt8nuhE+p0kCJiZZtM1PmSQ==", + "dev": true, + "requires": { + "rdfa-streaming-parser": "^1.5.0" + } + }, + "@comunica/actor-rdf-parse-html-script": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-html-script/-/actor-rdf-parse-html-script-1.22.0.tgz", + "integrity": "sha512-gQSY56wkS/uftRyjQf+/dQFRpA/jZ6z2o2RgGbQc2avgKTkhaiTtPxpfO1oarLskm1sPlQOFo24ZwqUSqjOwcA==", + "dev": true, + "requires": { + "@comunica/bus-rdf-parse-html": "^1.22.0", + "@rdfjs/types": "*", + "relative-to-absolute-iri": "^1.0.5" + } + }, + "@comunica/actor-rdf-parse-jsonld": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-jsonld/-/actor-rdf-parse-jsonld-1.22.0.tgz", + "integrity": "sha512-cWUQOfJ2k4Ggx3MaHspJAxO5qHWA42FDMoZlpKw00+9bNYJajVpmLqZ8vd6FWo8BhBTKUgCa27QCxlCcbJjjdA==", + "dev": true, + "requires": { + "@comunica/context-entries": "^1.22.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.1.2", + "jsonld-streaming-parser": "^2.4.0", + "stream-to-string": "^1.2.0" + } + }, + "@comunica/actor-rdf-parse-n3": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-n3/-/actor-rdf-parse-n3-1.22.0.tgz", + "integrity": "sha512-qHrGfh5k/pZa4imy7m9gJ1kt9aW1uxXqLDKnLKvR2l0m09YiEx/YOYWr1Wtu1YtH/Yyc13OX4mo/OwaE5PfrHQ==", + "dev": true, + "requires": { + "@types/n3": "^1.4.4", + "n3": "^1.6.3" + } + }, + "@comunica/actor-rdf-parse-rdfxml": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-rdfxml/-/actor-rdf-parse-rdfxml-1.22.0.tgz", + "integrity": "sha512-k47WEAZ6qKEhf1eBZZeI5aVywlrUUKP3BKHw2zKJUjuWq5k+w/rp2WALCyt0Owtb37UlJbET3fTlUhXKvT+2aw==", + "dev": true, + "requires": { + "rdfxml-streaming-parser": "^1.5.0" + } + }, + "@comunica/actor-rdf-parse-xml-rdfa": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-xml-rdfa/-/actor-rdf-parse-xml-rdfa-1.22.0.tgz", + "integrity": "sha512-y315YcZTz7AizKf8Jl022IocAJIh3OHSlzNrRNH3zB7i/ch+WHj1VL9pjIf6y77PD4BR75EdeoQCPafpm5Gsbg==", + "dev": true, + "requires": { + "rdfa-streaming-parser": "^1.5.0" + } + }, + "@comunica/bus-http": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-http/-/bus-http-1.22.0.tgz", + "integrity": "sha512-hslwWJiu7pbPPGXye8NQnYeBoTdiPSpr51oZf4fj5jTxHPLJEbnika7+anYncQsW+amHYAmaDqJDwEQJIQYQog==", + "dev": true, + "requires": { + "@comunica/context-entries": "^1.22.0", + "is-stream": "^2.0.0", + "web-streams-node": "^0.4.0" + } + }, + "@comunica/bus-init": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-init/-/bus-init-1.22.0.tgz", + "integrity": "sha512-NIfEJLI8EYFdTWJB0PV/lxPagStPl+gUj3LtOnovcF1ZhC5rgcJSC/tq1r04n0TziY2KVangnLDsF4752LjD6g==", + "dev": true + }, + "@comunica/bus-rdf-parse": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-parse/-/bus-rdf-parse-1.22.0.tgz", + "integrity": "sha512-ohZGlabX5K+dEmn+v4BzP+IZVyRc1ovWItHDLznnRqsHQr8W19WPG21lEFh5kk2MK4YnyQWmlUax1Yxrg7cbXg==", + "dev": true, + "requires": { + "@comunica/actor-abstract-mediatyped": "^1.22.0", + "@rdfjs/types": "*" + } + }, + "@comunica/bus-rdf-parse-html": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-parse-html/-/bus-rdf-parse-html-1.22.0.tgz", + "integrity": "sha512-zqdLdF5qvru1vnzN4t9eXpJhi6khKm1ZWhUovBB9pfYnnyGRCQCPlFpcgJPrD8JfKd6nTvhgdLB5QcAbBb1I0A==", + "dev": true, + "requires": { + "@rdfjs/types": "*" + } + }, + "@comunica/context-entries": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-1.22.0.tgz", + "integrity": "sha512-HOYr1HdhgavxABpw8saZa9pueLAeGVVd/6cZ3FWcYnH3CvfQu6Ima06Gd00QdIAiGjQm01qQcWCxp0xURiqLKg==", + "dev": true + }, + "@comunica/core": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-1.22.0.tgz", + "integrity": "sha512-tgozygRFTd6t6l0YyvfVUWNC+KXWiTlBclkxtzFioQsplKvUSvg1TPjopRk8hhAvMaNRGMNBK2ZafNaqNTkI4w==", + "dev": true, + "requires": { + "@comunica/context-entries": "^1.22.0", + "@comunica/types": "^1.22.0", + "immutable": "^3.8.2" + } + }, + "@comunica/mediator-combine-union": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/mediator-combine-union/-/mediator-combine-union-1.22.0.tgz", + "integrity": "sha512-iUHmEGgWVmk02e80uB7w8xZ5vgTLpiqzrImvbokolJzWcVbobVCUkq8DUxzz3FJbNVRGipZUFrOqkRPAuAX6FA==", + "dev": true + }, + "@comunica/mediator-number": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/mediator-number/-/mediator-number-1.22.0.tgz", + "integrity": "sha512-KDPlJEvj0Lu+JygGXjnH8pf33k01lJ+wgzUlWK216jZJ1Px2lTlfc/COhSqi/e0y+k4ZSBcxx0gnjt2awMpbrQ==", + "dev": true + }, + "@comunica/mediator-race": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/mediator-race/-/mediator-race-1.22.0.tgz", + "integrity": "sha512-hIMaHyf9M4jOS0199OURSVgWFmzkyF2K2keuAb+iHoCH3UUcUnWjPOL1TrdkxvaUnrxmsBWR9SXbnqgMnhIsiQ==", + "dev": true + }, + "@comunica/types": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-1.22.0.tgz", + "integrity": "sha512-ZQ8p+ZvMAKmdq6Hz2QwqIQ2JScwRMotiWz0iSw2zYHsYQOhVmLg7HSMzMHpWNEA5UWzO/A5A+Co/ONXMhlnx3g==", + "dev": true, + "requires": { + "@rdfjs/types": "*", + "asynciterator": "^3.2.0", + "immutable": "^3.8.2", + "sparqlalgebrajs": "^3.0.1" + } + }, + "asynciterator": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/asynciterator/-/asynciterator-3.2.0.tgz", + "integrity": "sha512-gVrDh9bNDA0TJPTKNFqb0A1je+VBBeS6D18oR92volMcLYN0qizAfOZXH3lmun5XNUim4oIlXWkGoR8mDZlwdg==", + "dev": true + }, + "componentsjs": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/componentsjs/-/componentsjs-4.5.0.tgz", + "integrity": "sha512-0F473HDUFfizVXZH1KBP4jmZRBAqYdVdpGhaNmHFmla/AB76B8NN7hQk7YDGaKkESl9zYqQ6kF3i8UgJBQ+rtg==", + "dev": true, + "requires": { + "@rdfjs/types": "*", + "@types/minimist": "^1.2.0", + "@types/node": "^14.14.7", + "@types/semver": "^7.3.4", + "jsonld-context-parser": "^2.1.1", + "minimist": "^1.2.0", + "rdf-data-factory": "^1.1.0", + "rdf-object": "^1.11.1", + "rdf-parse": "^1.9.1", + "rdf-quad": "^1.5.0", + "rdf-terms": "^1.7.0", + "semver": "^7.3.2", + "winston": "^3.3.3" + } + }, + "domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dev": true, + "requires": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + } + }, + "entities": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz", + "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==", + "dev": true + }, + "htmlparser2": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-7.1.1.tgz", + "integrity": "sha512-hZb0lfG0hbhR/hB879zbBr8Opv0Be9Zp+JYHgqTw5epF++aotu/zmMTPLy/60iJyR1MaD/3pYRp7xYteXsZMEA==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.8.0", + "entities": "^3.0.1" + } + }, + "jsonld-streaming-parser": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonld-streaming-parser/-/jsonld-streaming-parser-2.4.0.tgz", + "integrity": "sha512-bDXUcHgeoEXX3uNNO9L9zsx/HEO9X4yxHi14Xfd6yS7kuaXqcUzKB6QaeJFwEoQAJB5v4XoXU/bcOcErWaEPLg==", + "dev": true, + "requires": { + "@rdfjs/types": "*", + "@types/http-link-header": "^1.0.1", + "canonicalize": "^1.0.1", + "http-link-header": "^1.0.2", + "jsonld-context-parser": "^2.1.3", + "jsonparse": "^1.3.1", + "rdf-data-factory": "^1.1.0" + }, + "dependencies": { + "@types/node": { + "version": "13.13.52", + "resolved": "https://registry.npmjs.org/@types/node/-/node-13.13.52.tgz", + "integrity": "sha512-s3nugnZumCC//n4moGGe6tkNMyYEdaDBitVjwPxXmR5lnMG5dHePinH2EdxkG3Rh1ghFHHixAG4NJhpJW1rthQ==", + "dev": true + }, + "jsonld-context-parser": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/jsonld-context-parser/-/jsonld-context-parser-2.1.5.tgz", + "integrity": "sha512-rsu5hB6bADa511l0QhG4lndAqlN7PQ4wsS0UKqLWUKg1GUQqYmh2SNfbwXiRiHZRJqhvCNqv9/5tQ3zzk4hMtg==", + "dev": true, + "requires": { + "@types/http-link-header": "^1.0.1", + "@types/node": "^13.1.0", + "canonicalize": "^1.0.1", + "cross-fetch": "^3.0.6", + "http-link-header": "^1.0.2", + "relative-to-absolute-iri": "^1.0.5" + } + } + } + }, + "microdata-rdf-streaming-parser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/microdata-rdf-streaming-parser/-/microdata-rdf-streaming-parser-1.2.0.tgz", + "integrity": "sha512-cMLNLEcS0mPaiA9iwq6BnsQK9sx2uBwjpRZIEvMRBNJpbvV58f8AFtPeYzNFh3OPyX9B49NYJ77bB0jNAUCurw==", + "dev": true, + "requires": { + "@rdfjs/types": "*", + "htmlparser2": "^6.0.0", + "rdf-data-factory": "^1.1.0", + "relative-to-absolute-iri": "^1.0.2" + }, + "dependencies": { + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true + }, + "htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" + } + } + } + }, + "rdf-data-factory": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/rdf-data-factory/-/rdf-data-factory-1.1.0.tgz", + "integrity": "sha512-g8feOVZ/KL1OK2Pco/jDBDFh4m29QDsOOD+rWloG9qFvIzRFchGy2CviLUX491E0ByewXxMpaq/A3zsWHQA16A==", + "dev": true, + "requires": { + "@rdfjs/types": "*" + } + }, + "rdf-isomorphic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/rdf-isomorphic/-/rdf-isomorphic-1.3.0.tgz", + "integrity": "sha512-3BRwUwCNHHR8//bqmVH+knTFVbVfkp7CWyQk7qPHHA8JriXBYxrab21OomjJx/2KF21w8bWz344mgNYEaQABYQ==", + "dev": true, + "requires": { + "@rdfjs/types": "*", + "hash.js": "^1.1.7", + "rdf-string": "^1.6.0", + "rdf-terms": "^1.7.0" + } + }, + "rdf-object": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/rdf-object/-/rdf-object-1.11.1.tgz", + "integrity": "sha512-YMCZKa/2jEZjku1KfE2ODqLQo3DlKHexPwVK8el25L2RITFhdd7NUHw4TyEstrNzLje9IrbKP/ISUfsPLhoobw==", + "dev": true, + "requires": { + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.0.2", + "rdf-data-factory": "^1.1.0", + "rdf-string": "^1.6.0", + "streamify-array": "^1.0.1" + } + }, + "rdf-parse": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/rdf-parse/-/rdf-parse-1.9.1.tgz", + "integrity": "sha512-W6ouYE+ufmCNFmXD1iGs5gUZH75jZekh/I5qF8a4Sl37BUc9mY0Jz5A0CV1tiKKhx+I+HYfxyX9VjOljD8rzgQ==", + "dev": true, + "requires": { + "@comunica/actor-http-native": "~1.22.0", + "@comunica/actor-rdf-parse-html": "~1.22.0", + "@comunica/actor-rdf-parse-html-microdata": "~1.22.0", + "@comunica/actor-rdf-parse-html-rdfa": "~1.22.0", + "@comunica/actor-rdf-parse-html-script": "~1.22.0", + "@comunica/actor-rdf-parse-jsonld": "^1.22.0", + "@comunica/actor-rdf-parse-n3": "~1.22.0", + "@comunica/actor-rdf-parse-rdfxml": "~1.22.0", + "@comunica/actor-rdf-parse-xml-rdfa": "~1.22.0", + "@comunica/bus-http": "~1.22.0", + "@comunica/bus-init": "~1.22.0", + "@comunica/bus-rdf-parse": "~1.22.0", + "@comunica/bus-rdf-parse-html": "~1.22.0", + "@comunica/core": "~1.22.0", + "@comunica/mediator-combine-union": "~1.22.0", + "@comunica/mediator-number": "~1.22.0", + "@comunica/mediator-race": "~1.22.0", + "@rdfjs/types": "*", + "stream-to-string": "^1.2.0" + } + }, + "rdf-string": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/rdf-string/-/rdf-string-1.6.0.tgz", + "integrity": "sha512-6vQVlEobIHralPtx8V9vtgxA+fwnzZjZv6lRz8dfymILZF6Fl3QJwyRaOAvYaUQc1JMmshGI/wlYlaxin2AldQ==", + "dev": true, + "requires": { + "@rdfjs/types": "*", + "rdf-data-factory": "^1.1.0" + } + }, + "rdf-terms": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/rdf-terms/-/rdf-terms-1.7.0.tgz", + "integrity": "sha512-K83ACD+MuWFS3mNxwCRNYQAmc/Z9iK7PgqJq9N4VP8sUVlP7ioB2pPNQHKHy0IQh4RTkEq6fg4R4q7YlweLBZQ==", + "dev": true, + "requires": { + "@rdfjs/types": "*", + "lodash.uniqwith": "^4.5.0", + "rdf-data-factory": "^1.1.0" + } + }, + "rdfa-streaming-parser": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/rdfa-streaming-parser/-/rdfa-streaming-parser-1.5.0.tgz", + "integrity": "sha512-A+Kl0vbRQKK3SqgWdCiR48Hi75LK6z6glPdGcbLXMw6qMRcLeIKe4p6yFkPXpbwtegmOa94uaxeLs5HMdo66AQ==", + "dev": true, + "requires": { + "@rdfjs/types": "*", + "htmlparser2": "^6.0.0", + "rdf-data-factory": "^1.1.0", + "relative-to-absolute-iri": "^1.0.2" + }, + "dependencies": { + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true + }, + "htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" + } + } + } + }, + "rdfxml-streaming-parser": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/rdfxml-streaming-parser/-/rdfxml-streaming-parser-1.5.0.tgz", + "integrity": "sha512-pnt+7NgeqCMd2/rub+dqxzYJhZwJjBNU2BRwyYdCTmRZu2fr795jCPJB6Io5pjPzAt29ASqy+ODBSRMDKoKGbQ==", + "dev": true, + "requires": { + "@rdfjs/types": "*", + "rdf-data-factory": "^1.1.0", + "relative-to-absolute-iri": "^1.0.0", + "sax": "^1.2.4" + } + }, + "sparqlalgebrajs": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/sparqlalgebrajs/-/sparqlalgebrajs-3.0.3.tgz", + "integrity": "sha512-XFNhsO55bprayrM35h/jY0kzzuGc3oZ1On3kc+s7Un0BFQBXa046aLcMZFp4MYSvn7GtMe9eZ08ONFnBH5kEsQ==", + "dev": true, + "requires": { + "@rdfjs/types": "*", + "@types/sparqljs": "^3.1.2", + "fast-deep-equal": "^3.1.3", + "minimist": "^1.2.5", + "rdf-data-factory": "^1.1.0", + "rdf-isomorphic": "^1.3.0", + "rdf-string": "^1.6.0", + "sparqljs": "^3.4.2" + } + } } }, "concat-map": { @@ -1945,9 +2427,9 @@ "dev": true }, "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", "dev": true }, "cosmiconfig": { @@ -2168,6 +2650,14 @@ "domelementtype": "^2.0.1", "domhandler": "^4.2.0", "entities": "^2.0.0" + }, + "dependencies": { + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true + } } }, "domelementtype": { @@ -2194,18 +2684,18 @@ } }, "domhandler": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.0.tgz", - "integrity": "sha512-zk7sgt970kzPks2Bf+dwT/PLzghLnsivb9CcxkvR8Mzr66Olr0Ofd8neSbglHJHaHa2MadfoSdNlKYAaafmWfA==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.0.tgz", + "integrity": "sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g==", "dev": true, "requires": { "domelementtype": "^2.2.0" } }, "domutils": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.6.0.tgz", - "integrity": "sha512-y0BezHuy4MDYxh6OvolXYsH+1EMGmFbwv5FKW7ovwMG6zTPWqNPq3WF9ayZssFq+UlKdffGLbOEaghNdaOm1WA==", + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", "dev": true, "requires": { "dom-serializer": "^1.0.1", @@ -2256,9 +2746,9 @@ } }, "entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz", + "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==", "dev": true }, "error-ex": { @@ -2756,17 +3246,16 @@ "dev": true }, "fast-glob": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz", - "integrity": "sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==", + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", + "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", "dev": true, "requires": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.0", + "glob-parent": "^5.1.2", "merge2": "^1.3.0", - "micromatch": "^4.0.2", - "picomatch": "^2.2.1" + "micromatch": "^4.0.4" } }, "fast-json-stable-stringify": { @@ -2781,16 +3270,10 @@ "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", "dev": true }, - "fast-safe-stringify": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz", - "integrity": "sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA==", - "dev": true - }, "fastq": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.11.0.tgz", - "integrity": "sha512-7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g==", + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", + "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", "dev": true, "requires": { "reusify": "^1.0.4" @@ -2873,9 +3356,9 @@ "dev": true }, "follow-redirects": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.1.tgz", - "integrity": "sha512-HWqDgT7ZEkqRzBvc2s64vSZ/hfOceEol3ac/7tKwzuvEyWx3/4UegXh5oBOIotkGsObyk3xznnSRVADBgWSQVg==", + "version": "1.14.5", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.5.tgz", + "integrity": "sha512-wtphSXy7d4/OR+MvIFbCVBDzZ5520qV8XfPklSN5QtxuMUJZ+b0Wnst1e1lCDocfzuCkHqj8k0FpZqO+UIaKNA==", "dev": true }, "for-in": { @@ -3009,9 +3492,9 @@ } }, "globby": { - "version": "11.0.3", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.3.tgz", - "integrity": "sha512-ffdmosjA807y7+lA1NM0jELARVmYul/715xiILEjo3hBLPTcirgQNnXECn5g3mtR8TOLCVbkfua1Hpen25/Xcg==", + "version": "11.0.4", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz", + "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==", "dev": true, "requires": { "array-union": "^2.1.0", @@ -3134,15 +3617,15 @@ "dev": true }, "htmlparser2": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", - "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-7.2.0.tgz", + "integrity": "sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==", "dev": true, "requires": { "domelementtype": "^2.0.1", - "domhandler": "^4.0.0", - "domutils": "^2.5.2", - "entities": "^2.0.0" + "domhandler": "^4.2.2", + "domutils": "^2.8.0", + "entities": "^3.0.1" } }, "http-link-header": { @@ -3188,9 +3671,9 @@ } }, "ignore": { - "version": "5.1.8", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", - "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", + "version": "5.1.9", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.9.tgz", + "integrity": "sha512-2zeMQpbKz5dhZ9IwL0gbxSW5w0NK/MSAMtNuhgIHEPmaU3vPdKPL0UdvUCXs5SS4JAwsBxysK5sFMW8ocFiVjQ==", "dev": true }, "immutable": { @@ -4144,9 +4627,9 @@ } }, "jsonld-context-parser": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/jsonld-context-parser/-/jsonld-context-parser-2.1.2.tgz", - "integrity": "sha512-zAhus+dz4IrXiYAiYf6M1PSdYkILVWPg4bqqGfim+rGrmVc3d0drFAriLOU2RMwQFKljM+41lJTau47sxt6YWA==", + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/jsonld-context-parser/-/jsonld-context-parser-2.1.5.tgz", + "integrity": "sha512-rsu5hB6bADa511l0QhG4lndAqlN7PQ4wsS0UKqLWUKg1GUQqYmh2SNfbwXiRiHZRJqhvCNqv9/5tQ3zzk4hMtg==", "dev": true, "requires": { "@types/http-link-header": "^1.0.1", @@ -4166,18 +4649,18 @@ } }, "jsonld-streaming-parser": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/jsonld-streaming-parser/-/jsonld-streaming-parser-2.3.0.tgz", - "integrity": "sha512-IJiFhX9GQ/uLugd3BSYgJDaisAc22fV2Ij7tH0yWG8KZpriSGadRVvxUkfglzRKSjqxYBsZ+qAQ+UR7YGwiHRQ==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/jsonld-streaming-parser/-/jsonld-streaming-parser-2.4.2.tgz", + "integrity": "sha512-kA1+LD9jTPX3bz81c+zjF4ng8UVmVnOmLhKj5pE8pQE0GHc4HJrr0+dHRUgAQzg8jvCml1B9HRmr9egYw4ZfJA==", "dev": true, "requires": { + "@rdfjs/types": "*", "@types/http-link-header": "^1.0.1", - "@types/rdf-js": "*", "canonicalize": "^1.0.1", "http-link-header": "^1.0.2", - "jsonld-context-parser": "^2.1.2", + "jsonld-context-parser": "^2.1.3", "jsonparse": "^1.3.1", - "rdf-data-factory": "^1.0.4" + "rdf-data-factory": "^1.1.0" } }, "jsonparse": { @@ -4376,15 +4859,15 @@ } }, "logform": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/logform/-/logform-2.2.0.tgz", - "integrity": "sha512-N0qPlqfypFx7UHNn4B3lzS/b0uLqt2hmuoa+PpuXNYgozdJYAyauF5Ky0BWVjrxDlMWiT3qN4zPq3vVAfZy7Yg==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/logform/-/logform-2.3.0.tgz", + "integrity": "sha512-graeoWUH2knKbGthMtuG1EfaSPMZFZBIrhuJHhkS5ZseFBrc7DupCzihOQAzsK/qIKPQaPJ/lFQFctILUY5ARQ==", "dev": true, "requires": { "colors": "^1.2.1", - "fast-safe-stringify": "^2.0.4", "fecha": "^4.2.0", "ms": "^2.1.1", + "safe-stable-stringify": "^1.1.0", "triple-beam": "^1.3.0" } }, @@ -4457,35 +4940,32 @@ "dev": true }, "microdata-rdf-streaming-parser": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/microdata-rdf-streaming-parser/-/microdata-rdf-streaming-parser-1.1.0.tgz", - "integrity": "sha512-nvPEFzG4vZWzWJP2x8Ax7mJmdrFkSYrfhdTUDHLtXYZJVl8Ip7ScHUPLkUfX+Ci4g7sOdgHsotkxuccnlxtCAg==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/microdata-rdf-streaming-parser/-/microdata-rdf-streaming-parser-1.2.0.tgz", + "integrity": "sha512-cMLNLEcS0mPaiA9iwq6BnsQK9sx2uBwjpRZIEvMRBNJpbvV58f8AFtPeYzNFh3OPyX9B49NYJ77bB0jNAUCurw==", "dev": true, "requires": { - "@types/rdf-js": "*", - "htmlparser2": "^5.0.0", - "rdf-data-factory": "^1.0.2", + "@rdfjs/types": "*", + "htmlparser2": "^6.0.0", + "rdf-data-factory": "^1.1.0", "relative-to-absolute-iri": "^1.0.2" }, "dependencies": { - "domhandler": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-3.3.0.tgz", - "integrity": "sha512-J1C5rIANUbuYK+FuFL98650rihynUOEzRLxW+90bKZRWB6A1X1Tf82GxR1qAWLyfNPRvjqfip3Q5tdYlmAa9lA==", - "dev": true, - "requires": { - "domelementtype": "^2.0.1" - } + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true }, "htmlparser2": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-5.0.1.tgz", - "integrity": "sha512-vKZZra6CSe9qsJzh0BjBGXo8dvzNsq/oGvsjfRdOrrryfeD9UOBEEQdeoqCRmKZchF5h2zOBMQ6YuQ0uRUmdbQ==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", "dev": true, "requires": { "domelementtype": "^2.0.1", - "domhandler": "^3.3.0", - "domutils": "^2.4.2", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", "entities": "^2.0.0" } } @@ -4577,9 +5057,9 @@ "dev": true }, "n3": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/n3/-/n3-1.10.0.tgz", - "integrity": "sha512-y+qpS0GktEBttOaDR+BF1t1G2fw4Xn4nCZWNn+7MvEmD2I4YpMH6OJF/xHKSwInCxOC9vu9eI6pluB9/RDUyZQ==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/n3/-/n3-1.12.1.tgz", + "integrity": "sha512-/1q93MQzQdpFMklVQPfkqSrRJn11qY+/ukvkTcWsqHk2PES/XOqbGKb94JCTsJlS9Ri3JK/ysjLBScXqJwI7mA==", "dev": true, "requires": { "queue-microtask": "^1.1.2", @@ -5043,71 +5523,82 @@ "dev": true }, "rdf-data-factory": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/rdf-data-factory/-/rdf-data-factory-1.0.4.tgz", - "integrity": "sha512-ZIIwEkLcV7cTc+atvQFzAETFVRHz1BRe/MhdkZqYse8vxskErj8/bF/Ittc3B5c0GTyw6O3jVF2V7xBRGyRoSQ==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/rdf-data-factory/-/rdf-data-factory-1.1.0.tgz", + "integrity": "sha512-g8feOVZ/KL1OK2Pco/jDBDFh4m29QDsOOD+rWloG9qFvIzRFchGy2CviLUX491E0ByewXxMpaq/A3zsWHQA16A==", "dev": true, "requires": { - "@types/rdf-js": "*" + "@rdfjs/types": "*" } }, "rdf-isomorphic": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/rdf-isomorphic/-/rdf-isomorphic-1.2.1.tgz", - "integrity": "sha512-kIKlQYoizNqp8zhbca1zV3mYngisoD/KNt/xBRjagp7R3F8niI3b1vxvqcWlSkNXgPD6MsXpP2E/uXZ8oGTIcA==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/rdf-isomorphic/-/rdf-isomorphic-1.3.0.tgz", + "integrity": "sha512-3BRwUwCNHHR8//bqmVH+knTFVbVfkp7CWyQk7qPHHA8JriXBYxrab21OomjJx/2KF21w8bWz344mgNYEaQABYQ==", "dev": true, "requires": { + "@rdfjs/types": "*", "hash.js": "^1.1.7", - "rdf-string": "^1.5.0", - "rdf-terms": "^1.6.2" + "rdf-string": "^1.6.0", + "rdf-terms": "^1.7.0" + } + }, + "rdf-js": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/rdf-js/-/rdf-js-4.0.2.tgz", + "integrity": "sha512-ApvlFa/WsQh8LpPK/6hctQwG06Z9ztQQGWVtrcrf9L6+sejHNXLPOqL+w7q3hF+iL0C4sv3AX1PUtGkLNzyZ0Q==", + "dev": true, + "requires": { + "@rdfjs/types": "*" } }, "rdf-literal": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/rdf-literal/-/rdf-literal-1.2.0.tgz", - "integrity": "sha512-N7nyfp/xzoiUuJt0xZ80BvBGkCPwWejgVDkCxWDSuooXKSows4ToW+KouYkMHLcoFzGg1Rlw2lk6btjMJg5aSA==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/rdf-literal/-/rdf-literal-1.3.0.tgz", + "integrity": "sha512-5u5L4kPYNZANie5AE4gCXqwpNO/p9E/nUcDurk05XAOJT/pt9rQlDk6+BX7j3dNSee3h9GS4xlLoWxQDj7sXtg==", "dev": true, "requires": { - "@types/rdf-js": "*", - "rdf-data-factory": "^1.0.1" + "@rdfjs/types": "*", + "rdf-data-factory": "^1.1.0" } }, "rdf-object": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/rdf-object/-/rdf-object-1.10.2.tgz", - "integrity": "sha512-IvppylbhVlcbyxDuwJDLNYgUsX4m7Kztfa1B2zZzl7M8V6edmQqKglCFHZ93ZveQ6m9q1V1VTYLaGaB7p9no8Q==", + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/rdf-object/-/rdf-object-1.12.0.tgz", + "integrity": "sha512-LF4LjYCneh2RJcUSPWbTfGgsYqRMcElmHDR3lPkMrJQ6azrCqY9DLdVWaqK7xRn1ujeHWiOkS34ThTZgzzvuUQ==", "dev": true, "requires": { + "@rdfjs/types": "*", "jsonld-context-parser": "^2.0.2", - "rdf-data-factory": "^1.0.3", - "rdf-string": "^1.5.0", + "rdf-data-factory": "^1.1.0", + "rdf-string": "^1.6.0", "streamify-array": "^1.0.1" } }, "rdf-parse": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/rdf-parse/-/rdf-parse-1.8.0.tgz", - "integrity": "sha512-Pc6jvqjlJpY/ivVPbfbCJw372VhUx1dTMGLGGU/bHz6srjLL9Q4scn655afAuDI89KamDBRTDN+ZzlfiWfgbfg==", - "dev": true, - "requires": { - "@comunica/actor-http-native": "~1.21.1", - "@comunica/actor-rdf-parse-html": "~1.21.1", - "@comunica/actor-rdf-parse-html-microdata": "~1.21.1", - "@comunica/actor-rdf-parse-html-rdfa": "~1.21.1", - "@comunica/actor-rdf-parse-html-script": "~1.21.1", - "@comunica/actor-rdf-parse-jsonld": "~1.21.1", - "@comunica/actor-rdf-parse-n3": "~1.21.1", - "@comunica/actor-rdf-parse-rdfxml": "~1.21.1", - "@comunica/actor-rdf-parse-xml-rdfa": "~1.21.1", - "@comunica/bus-http": "~1.21.1", - "@comunica/bus-init": "~1.21.1", - "@comunica/bus-rdf-parse": "~1.21.1", - "@comunica/bus-rdf-parse-html": "~1.21.1", - "@comunica/core": "~1.21.1", - "@comunica/mediator-combine-union": "~1.21.1", - "@comunica/mediator-number": "~1.21.1", - "@comunica/mediator-race": "~1.21.1", - "@types/rdf-js": "*", + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/rdf-parse/-/rdf-parse-1.9.1.tgz", + "integrity": "sha512-W6ouYE+ufmCNFmXD1iGs5gUZH75jZekh/I5qF8a4Sl37BUc9mY0Jz5A0CV1tiKKhx+I+HYfxyX9VjOljD8rzgQ==", + "dev": true, + "requires": { + "@comunica/actor-http-native": "~1.22.0", + "@comunica/actor-rdf-parse-html": "~1.22.0", + "@comunica/actor-rdf-parse-html-microdata": "~1.22.0", + "@comunica/actor-rdf-parse-html-rdfa": "~1.22.0", + "@comunica/actor-rdf-parse-html-script": "~1.22.0", + "@comunica/actor-rdf-parse-jsonld": "^1.22.0", + "@comunica/actor-rdf-parse-n3": "~1.22.0", + "@comunica/actor-rdf-parse-rdfxml": "~1.22.0", + "@comunica/actor-rdf-parse-xml-rdfa": "~1.22.0", + "@comunica/bus-http": "~1.22.0", + "@comunica/bus-init": "~1.22.0", + "@comunica/bus-rdf-parse": "~1.22.0", + "@comunica/bus-rdf-parse-html": "~1.22.0", + "@comunica/core": "~1.22.0", + "@comunica/mediator-combine-union": "~1.22.0", + "@comunica/mediator-number": "~1.22.0", + "@comunica/mediator-race": "~1.22.0", + "@rdfjs/types": "*", "stream-to-string": "^1.2.0" } }, @@ -5123,67 +5614,66 @@ } }, "rdf-string": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/rdf-string/-/rdf-string-1.5.0.tgz", - "integrity": "sha512-3TEJuDIKUADgZrfcZG+zAN4GfVA1Ei2sKA7Z7QVHkAE36wWoRGPJbGihPQMldgzvy9lG2nzZU+CXz+6oGSQNsQ==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/rdf-string/-/rdf-string-1.6.0.tgz", + "integrity": "sha512-6vQVlEobIHralPtx8V9vtgxA+fwnzZjZv6lRz8dfymILZF6Fl3QJwyRaOAvYaUQc1JMmshGI/wlYlaxin2AldQ==", "dev": true, "requires": { - "rdf-data-factory": "^1.0.0" + "@rdfjs/types": "*", + "rdf-data-factory": "^1.1.0" } }, "rdf-terms": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/rdf-terms/-/rdf-terms-1.6.2.tgz", - "integrity": "sha512-dASpdYHYLEwzN9iSymJie1WUj6VHXy1By8Am4g2rJlhTfVvNitsJpDY+A3X2QehlGhCaWjHMzXS4q/JKNPI80A==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/rdf-terms/-/rdf-terms-1.7.0.tgz", + "integrity": "sha512-K83ACD+MuWFS3mNxwCRNYQAmc/Z9iK7PgqJq9N4VP8sUVlP7ioB2pPNQHKHy0IQh4RTkEq6fg4R4q7YlweLBZQ==", "dev": true, "requires": { + "@rdfjs/types": "*", "lodash.uniqwith": "^4.5.0", - "rdf-data-factory": "^1.0.1" + "rdf-data-factory": "^1.1.0" } }, "rdfa-streaming-parser": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/rdfa-streaming-parser/-/rdfa-streaming-parser-1.4.0.tgz", - "integrity": "sha512-tx2rsBpK7MhpuvuMFdpoIfH8t8ij/traX6+hiFe4WV648eWlcYKURLVdWwqqPkF4qwnT1PH8mqBpBY7CNpbjvg==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/rdfa-streaming-parser/-/rdfa-streaming-parser-1.5.0.tgz", + "integrity": "sha512-A+Kl0vbRQKK3SqgWdCiR48Hi75LK6z6glPdGcbLXMw6qMRcLeIKe4p6yFkPXpbwtegmOa94uaxeLs5HMdo66AQ==", "dev": true, "requires": { - "@types/rdf-js": "*", - "htmlparser2": "^5.0.0", - "rdf-data-factory": "^1.0.2", + "@rdfjs/types": "*", + "htmlparser2": "^6.0.0", + "rdf-data-factory": "^1.1.0", "relative-to-absolute-iri": "^1.0.2" }, "dependencies": { - "domhandler": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-3.3.0.tgz", - "integrity": "sha512-J1C5rIANUbuYK+FuFL98650rihynUOEzRLxW+90bKZRWB6A1X1Tf82GxR1qAWLyfNPRvjqfip3Q5tdYlmAa9lA==", - "dev": true, - "requires": { - "domelementtype": "^2.0.1" - } + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true }, "htmlparser2": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-5.0.1.tgz", - "integrity": "sha512-vKZZra6CSe9qsJzh0BjBGXo8dvzNsq/oGvsjfRdOrrryfeD9UOBEEQdeoqCRmKZchF5h2zOBMQ6YuQ0uRUmdbQ==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", "dev": true, "requires": { "domelementtype": "^2.0.1", - "domhandler": "^3.3.0", - "domutils": "^2.4.2", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", "entities": "^2.0.0" } } } }, "rdfxml-streaming-parser": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/rdfxml-streaming-parser/-/rdfxml-streaming-parser-1.4.0.tgz", - "integrity": "sha512-/FKDCq4tuSWz8PZaaPxqIQpenEvRR3Gsqllqg4VmdPFN6WiWfbaD244cKASfXfQHt9Bw7tLsLHsmtA1isIPBCg==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/rdfxml-streaming-parser/-/rdfxml-streaming-parser-1.5.0.tgz", + "integrity": "sha512-pnt+7NgeqCMd2/rub+dqxzYJhZwJjBNU2BRwyYdCTmRZu2fr795jCPJB6Io5pjPzAt29ASqy+ODBSRMDKoKGbQ==", "dev": true, "requires": { - "@types/rdf-js": "*", - "rdf-data-factory": "^1.0.2", + "@rdfjs/types": "*", + "rdf-data-factory": "^1.1.0", "relative-to-absolute-iri": "^1.0.0", "sax": "^1.2.4" } @@ -5242,6 +5732,15 @@ "integrity": "sha1-i3YU+qFGXr+g2pucpjA/onBzt88=", "dev": true }, + "readable-web-to-node-stream": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.2.tgz", + "integrity": "sha512-ePeK6cc1EcKLEhJFt/AebMCLL+GgSKhuygrZ/GLaKZYEecIgIECf4UaUuaByiGtzckwR4ain9VzUh95T1exYGw==", + "dev": true, + "requires": { + "readable-stream": "^3.6.0" + } + }, "regex-not": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", @@ -5418,6 +5917,12 @@ "ret": "~0.1.10" } }, + "safe-stable-stringify": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-1.1.1.tgz", + "integrity": "sha512-ERq4hUjKDbJfE4+XtZLFPCDi8Vb1JqaxAPTxWFLBx8XcAlf9Bda/ZJdVezs/NAfsMQScyIlUMx+Yeu7P7rx5jw==", + "dev": true + }, "safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", @@ -5854,23 +6359,25 @@ "dev": true }, "sparqlalgebrajs": { - "version": "2.5.5", - "resolved": "https://registry.npmjs.org/sparqlalgebrajs/-/sparqlalgebrajs-2.5.5.tgz", - "integrity": "sha512-sG9XI5311mS+JPDaeZUwtwYaYDRiTZDzxtHVS1GSrnfcZ2aiK1fa1PX9z16l7dtS35X3z1j1qyHEElzZO5OM3A==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/sparqlalgebrajs/-/sparqlalgebrajs-3.0.3.tgz", + "integrity": "sha512-XFNhsO55bprayrM35h/jY0kzzuGc3oZ1On3kc+s7Un0BFQBXa046aLcMZFp4MYSvn7GtMe9eZ08ONFnBH5kEsQ==", "dev": true, "requires": { + "@rdfjs/types": "*", + "@types/sparqljs": "^3.1.2", "fast-deep-equal": "^3.1.3", "minimist": "^1.2.5", - "rdf-data-factory": "^1.0.4", - "rdf-isomorphic": "^1.2.0", - "rdf-string": "^1.5.0", - "sparqljs": "^3.3.0" + "rdf-data-factory": "^1.1.0", + "rdf-isomorphic": "^1.3.0", + "rdf-string": "^1.6.0", + "sparqljs": "^3.4.2" } }, "sparqljs": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/sparqljs/-/sparqljs-3.4.2.tgz", - "integrity": "sha512-MmmZ6cMuvhf4Eh2FXX21dalgADUiZ9WN8XKMedwhTFg0r7W09/o8wvoZ8C4yA6FptnjjAjm+mGnxAEpkSRY3QQ==", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/sparqljs/-/sparqljs-3.5.1.tgz", + "integrity": "sha512-sHc6z7hNF3ACvXurKe8hT1sD52Fc0fN3uPLS6SQnXRV9CJl33GNAS4w5Dd3X3GgykUt9SlnjhI1QRKhLzun4qQ==", "dev": true, "requires": { "rdf-data-factory": "^1.0.4" diff --git a/packages/semcom-core/package.json b/packages/semcom-core/package.json index 4d11e50d..89c51e9a 100644 --- a/packages/semcom-core/package.json +++ b/packages/semcom-core/package.json @@ -1,12 +1,13 @@ { "name": "@digita-ai/semcom-core", - "version": "0.9.6", + "version": "0.11.0", "description": "> TODO: description", "author": "Wouter Janssens ", "homepage": "https://github.com/digita-ai/semcom/tree/master/packages/semcom-core#readme", "main": "./dist/semcom-core.umd.js", "module": "./dist/semcom-core.es.js", "types": "./dist/index.d.ts", + "license": "agpl-3.0", "exports": { ".": { "import": "./dist/semcom-core.es.js", @@ -32,8 +33,7 @@ "build": "rimraf ./dist && npm run build:bundle && npm run build:ts && npm run build:components", "build:bundle": "vite build", "build:ts": "tsc", - "build:components": "componentsjs-generator -s lib -c dist/components -i .componentsignore", - "clean": "rimraf ./dist && rimraf ./package-lock.json && rimraf ./node_modules", + "build:components": "componentsjs-generator --typeScopedContexts -s lib -c dist/components -i .componentsignore", "lint": "eslint .", "lint:fix": "eslint --fix .", "lint:staged": "lint-staged", @@ -56,10 +56,11 @@ "devDependencies": { "@digita-ai/typescript-config": "^0.3.4", "@types/jest": "^26.0.19", + "@types/n3": "1.10.0", "@types/node": "^14.14.14", "@types/rdf-js": "^4.0.1", - "componentsjs": "4.0.5", - "componentsjs-generator": "2.1.0", + "componentsjs": "^4.5.0", + "componentsjs-generator": "^2.6.1", "eslint": "^7.16.0", "jest": "^26.6.3", "jest-coverage-thresholds-bumper": "0.0.4", diff --git a/packages/semcom-demo-app/CHANGELOG.md b/packages/semcom-demo-app/CHANGELOG.md index ef9069f0..2ec3b47f 100644 --- a/packages/semcom-demo-app/CHANGELOG.md +++ b/packages/semcom-demo-app/CHANGELOG.md @@ -3,6 +3,56 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.11.0](https://github.com/digita-ai/semcom/compare/v0.10.2...v0.11.0) (2022-01-28) + + +### **Bug Fixes** + +* start default in memory without sync ([#185](https://github.com/digita-ai/semcom/issues/185)) ([9c6688c](https://github.com/digita-ai/semcom/commit/9c6688c10dd74da05b3dc6669862b960abbe0085)) + + + +### [0.10.2](https://github.com/digita-ai/semcom/compare/v0.10.1...v0.10.2) (2022-01-22) + +**Note:** Version bump only for package @digita-ai/semcom-demo-app + + + + + +### [0.10.1](https://github.com/digita-ai/semcom/compare/v0.10.0...v0.10.1) (2022-01-14) + +**Note:** Version bump only for package @digita-ai/semcom-demo-app + + + + + +## [0.10.0](https://github.com/digita-ai/semcom/compare/v0.9.8...v0.10.0) (2022-01-14) + +**Note:** Version bump only for package @digita-ai/semcom-demo-app + + + + + +### [0.9.8](https://github.com/digita-ai/semcom/compare/v0.9.7...v0.9.8) (2021-12-15) + +**Note:** Version bump only for package @digita-ai/semcom-demo-app + + + + + +### [0.9.7](https://github.com/digita-ai/semcom/compare/v0.9.6...v0.9.7) (2021-12-09) + + +### **Documentation** + +* complete-ts-docs ([#194](https://github.com/digita-ai/semcom/issues/194)) ([17a8415](https://github.com/digita-ai/semcom/commit/17a84154a5feaf960b70534a45c98c3bd048b95b)) + + + ### [0.9.6](https://github.com/digita-ai/semcom/compare/v0.9.5...v0.9.6) (2021-12-07) **Note:** Version bump only for package @digita-ai/semcom-demo-app diff --git a/packages/semcom-demo-app/LICENSE.md b/packages/semcom-demo-app/LICENSE.md new file mode 100644 index 00000000..e24707ae --- /dev/null +++ b/packages/semcom-demo-app/LICENSE.md @@ -0,0 +1,16 @@ + This program is offered under a commercial and under the AGPL license. + For commercial licensing, contact Digita at https://digita.ai. For AGPL licensing, see below. + + AGPL licensing: + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . \ No newline at end of file diff --git a/packages/semcom-demo-app/lib/demo.component.ts b/packages/semcom-demo-app/lib/demo.component.ts index 9fcba50b..b0048219 100644 --- a/packages/semcom-demo-app/lib/demo.component.ts +++ b/packages/semcom-demo-app/lib/demo.component.ts @@ -11,6 +11,9 @@ import { fetch } from '@digita-ai/inrupt-solid-client'; import { demoMachine, DemoContext, DemoEvent, DemoState, DemoStates, AuthenticatedEvent } from './demo.machine'; import { SemComService } from './services/semcom.service'; +/** + * A component to demo SemCom in an application. + */ export class DemoComponent extends RxLitElement { private solidService = new SolidSDKService('SemCom'); diff --git a/packages/semcom-demo-app/lib/services/resource.service.ts b/packages/semcom-demo-app/lib/services/resource.service.ts index cc74ce60..b1ea69f3 100644 --- a/packages/semcom-demo-app/lib/services/resource.service.ts +++ b/packages/semcom-demo-app/lib/services/resource.service.ts @@ -2,6 +2,9 @@ import { from, Observable } from 'rxjs'; import { SolidDataset, getSolidDataset } from '@inrupt/solid-client'; import { fetch } from '@digita-ai/inrupt-solid-client'; +/** + * A helper service to fetch the profile of a WebID. + */ export class ResourceService { fetchProfile = (webid: string): Observable => from(getSolidDataset(webid, { fetch })); diff --git a/packages/semcom-demo-app/lib/services/semcom.service.ts b/packages/semcom-demo-app/lib/services/semcom.service.ts index 76714598..f10c2680 100644 --- a/packages/semcom-demo-app/lib/services/semcom.service.ts +++ b/packages/semcom-demo-app/lib/services/semcom.service.ts @@ -4,24 +4,42 @@ import { QueryComponentRemoteService, RegisterComponentService, resourceShape } import { fetch } from '@digita-ai/inrupt-solid-client'; +/** + * A service providing methods to perform the whole SemCom application flow, from detection over querying to registration. + */ export class SemComService { private registry: AbstractRegisterComponentService; private repo: QueryComponentService; + /** + * Creates a { SemComService }. + */ constructor() { this.registry = new RegisterComponentService(); - this.repo = new QueryComponentRemoteService(process.env.VITE_SEMCOM_NODE_URI ?? 'http://localhost:3000'); + this.repo = new QueryComponentRemoteService(process.env.SEMCOM_NODE_URI ?? process.env.VITE_SEMCOM_NODE_URI ?? 'http://localhost:3000'); } + /** + * Detects shapes from a given uri. + * + * @param { string } uri - The uri to detect shapes from. + * @returns Observable that emits the uris of the discovered shapes. + */ detectShapes(uri: string): Observable { return from(resourceShape(uri, fetch)); } + /** + * Queries components from the QueryComponentService using a filter based on the provided shapeId. + * + * @param { string } shapeId - The shapeId to filter components by. + * @returns list of components based on the filter. + */ queryComponents(shapeId: string): Observable { const filter = { shapes: [ shapeId ], version: '^0.1.0' } as ComponentMetadata; @@ -30,6 +48,11 @@ export class SemComService { } + /** + * Registers a component with the RegisterComponentService using the provided component metadata. + * + * @param { ComponentMetadata } component - The component metadata to register the component with. + */ registerComponent(metadata: ComponentMetadata): Observable { return from(this.registry.register(metadata)); diff --git a/packages/semcom-demo-app/package-lock.json b/packages/semcom-demo-app/package-lock.json index 5a634e60..aee3b567 100644 --- a/packages/semcom-demo-app/package-lock.json +++ b/packages/semcom-demo-app/package-lock.json @@ -1,6 +1,6 @@ { "name": "@digita-ai/semcom-demo-app", - "version": "0.9.6", + "version": "0.11.0", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -511,13 +511,30 @@ } }, "@digita-ai/semcom-core": { - "version": "0.3.4", - "resolved": "https://npm.pkg.github.com/download/@digita-ai/semcom-core/0.3.4/4e4eb79b614fef361a15ba726c2a2fac7573ef6d44c941197e246ea1f6417d05", - "integrity": "sha512-lStrJsNAtkMoQ/OKZ90JxXefSHHmxM6W3gwozgNsqGmkjZUwLwOFqMnByWyjwW16tcSzplfdC2sU9oNdaAJ26Q==", - "requires": { - "@types/rdf-ext": "^1.3.8", - "@types/rdf-js": "^4.0.1", - "rdf-ext": "^1.3.0" + "version": "0.10.2", + "resolved": "https://npm.pkg.github.com/download/@digita-ai/semcom-core/0.10.2/c17fd9dd3e8c1c89a3c2dcbb55140f0a2a9e443dc724df056df50b11a3d3cf41", + "integrity": "sha512-3sFWlAsSMniF175NkSryZHbj+pEZQ3rgWX8W2cyyTYlfWwNyshuoeJ9p2J58lGY5paHnCwprliHhNelQjE8O7g==" + }, + "@digita-ai/semcom-sdk": { + "version": "0.10.2", + "resolved": "https://npm.pkg.github.com/download/@digita-ai/semcom-sdk/0.10.2/a2d1d74e5a0c90c8a348f7b18e66d5a9f2321ec58bd4b901096835bba78853a5", + "integrity": "sha512-JonVjwAPB4gvZZZK/icm11TMkFNn2vvi9b4xs026/eV4i7dUTk2sjUU8rM1MizyPtNMtVtUOf1hf2yizAkQABg==", + "requires": { + "@digita-ai/semcom-core": "0.10.2", + "buffer": "6.0.3", + "jssha": "^3.2.0", + "n3": "1.10.0" + }, + "dependencies": { + "n3": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/n3/-/n3-1.10.0.tgz", + "integrity": "sha512-y+qpS0GktEBttOaDR+BF1t1G2fw4Xn4nCZWNn+7MvEmD2I4YpMH6OJF/xHKSwInCxOC9vu9eI6pluB9/RDUyZQ==", + "requires": { + "queue-microtask": "^1.1.2", + "readable-stream": "^3.6.0" + } + } } }, "@digita-ai/typescript-config": { @@ -541,6 +558,16 @@ "xstate": "^4.17.1" }, "dependencies": { + "@digita-ai/semcom-core": { + "version": "0.3.4", + "resolved": "https://npm.pkg.github.com/download/@digita-ai/semcom-core/0.3.4/4e4eb79b614fef361a15ba726c2a2fac7573ef6d44c941197e246ea1f6417d05", + "integrity": "sha512-lStrJsNAtkMoQ/OKZ90JxXefSHHmxM6W3gwozgNsqGmkjZUwLwOFqMnByWyjwW16tcSzplfdC2sU9oNdaAJ26Q==", + "requires": { + "@types/rdf-ext": "^1.3.8", + "@types/rdf-js": "^4.0.1", + "rdf-ext": "^1.3.0" + } + }, "lit-element": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-2.4.0.tgz", @@ -1135,9 +1162,9 @@ } }, "@types/rdf-ext": { - "version": "1.3.9", - "resolved": "https://registry.npmjs.org/@types/rdf-ext/-/rdf-ext-1.3.9.tgz", - "integrity": "sha512-u9Kjp1fjTUyQGYz978KAU5rBHuxppjKKij11M92VdVgkxP9VvLZwMbs/7vXDJV6sTQdQ9hElXH56yZmwrYNXjA==", + "version": "1.3.11", + "resolved": "https://registry.npmjs.org/@types/rdf-ext/-/rdf-ext-1.3.11.tgz", + "integrity": "sha512-FBVBa+JZFa/zYxqbh09mF8D4fzxFaPLpz8IZeIyP8qSud1d6PhHIjCLS9NuoQTM5g/kVs6EPWFDCy7mxMqkKbA==", "requires": { "@types/rdf-dataset-indexed": "*", "rdf-js": "^4.0.2" @@ -1963,6 +1990,14 @@ "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", "dev": true }, + "cross-env": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz", + "integrity": "sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==", + "requires": { + "cross-spawn": "^7.0.1" + } + }, "cross-fetch": { "version": "3.1.4", "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.4.tgz", @@ -1975,7 +2010,6 @@ "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, "requires": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -3558,8 +3592,7 @@ "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" }, "isobject": { "version": "3.0.1", @@ -4391,6 +4424,11 @@ "minimist": "^1.2.5" } }, + "jssha": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jssha/-/jssha-3.2.0.tgz", + "integrity": "sha512-QuruyBENDWdN4tZwJbQq7/eAK85FqrI4oDbXjy5IBhYD+2pTJyBUWZe8ctWaCkrV0gy6AaelgOZZBMeswEa/6Q==" + }, "kind-of": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", @@ -5042,8 +5080,7 @@ "path-key": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" }, "path-parse": { "version": "1.0.7", @@ -5240,15 +5277,25 @@ } }, "rdf-ext": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/rdf-ext/-/rdf-ext-1.3.4.tgz", - "integrity": "sha512-yg4KG1+JYVbAa71ZE/yJZItxZPgl6WvQeMI2qpXuX2HkpkDBYfWOH1SO23mMQyvHgi/VkDLg6rJyIK8DHaw4JQ==", + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/rdf-ext/-/rdf-ext-1.3.5.tgz", + "integrity": "sha512-LS/waItwp5aGY9Ay7y147HxWLIaSvw4r172S995aGwVkvg0KwUA0NY8w61p/LoFdQ4V6mzxQdVoRN6x/6OaK0w==", "requires": { - "@rdfjs/data-model": "^1.1.0", + "@rdfjs/data-model": "^1.3.3", "@rdfjs/dataset": "^1.1.1", "@rdfjs/to-ntriples": "^1.0.1", "rdf-normalize": "^1.0.0", "readable-stream": "^3.6.0" + }, + "dependencies": { + "@rdfjs/data-model": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/@rdfjs/data-model/-/data-model-1.3.4.tgz", + "integrity": "sha512-iKzNcKvJotgbFDdti7GTQDCYmL7GsGldkYStiP0K8EYtN7deJu5t7U11rKTz+nR7RtesUggT+lriZ7BakFv8QQ==", + "requires": { + "@rdfjs/types": ">=1.0.1" + } + } } }, "rdf-js": { @@ -5736,7 +5783,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, "requires": { "shebang-regex": "^3.0.0" } @@ -5744,8 +5790,7 @@ "shebang-regex": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" }, "shellwords": { "version": "0.1.1", @@ -6610,7 +6655,6 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, "requires": { "isexe": "^2.0.0" } diff --git a/packages/semcom-demo-app/package.json b/packages/semcom-demo-app/package.json index c0a4c399..19c82090 100644 --- a/packages/semcom-demo-app/package.json +++ b/packages/semcom-demo-app/package.json @@ -1,6 +1,7 @@ { "name": "@digita-ai/semcom-demo-app", - "version": "0.9.6", + "version": "0.11.0", + "license": "agpl-3.0", "scripts": { "start": "http-server -p 4200 --gzip --brotli --proxy http://localhost:4200? dist/", "start:dev": "vite", @@ -18,11 +19,12 @@ ], "dependencies": { "@digita-ai/inrupt-solid-client": "0.3.0", - "@digita-ai/semcom-core": "0.9.6", - "@digita-ai/semcom-sdk": "0.9.6", + "@digita-ai/semcom-core": "0.11.0", + "@digita-ai/semcom-sdk": "0.11.0", "@digita-ai/ui-transfer-components": "0.6.1", "@digita-ai/ui-transfer-theme": "0.6.1", "@xstate/inspect": "^0.4.1", + "cross-env": "^7.0.3", "lit-element": "^2.5.1", "rx-lit": "^1.0.1", "rxjs": "^6.0.0", diff --git a/packages/semcom-demo-pods/CHANGELOG.md b/packages/semcom-demo-pods/CHANGELOG.md index 1fc1c2f0..b00b700b 100644 --- a/packages/semcom-demo-pods/CHANGELOG.md +++ b/packages/semcom-demo-pods/CHANGELOG.md @@ -3,6 +3,55 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.11.0](https://github.com/digita-ai/semcom/compare/v0.10.2...v0.11.0) (2022-01-28) + +**Note:** Version bump only for package @digita-ai/semcom-demo-pods + + + + + +### [0.10.2](https://github.com/digita-ai/semcom/compare/v0.10.1...v0.10.2) (2022-01-22) + + +### **Bug Fixes** + +* component-shape corrections ([#216](https://github.com/digita-ai/semcom/issues/216)) ([8dff959](https://github.com/digita-ai/semcom/commit/8dff959751e5c67a67903dbec92512a16f2ae7d6)) + + + +### [0.10.1](https://github.com/digita-ai/semcom/compare/v0.10.0...v0.10.1) (2022-01-14) + +**Note:** Version bump only for package @digita-ai/semcom-demo-pods + + + + + +## [0.10.0](https://github.com/digita-ai/semcom/compare/v0.9.8...v0.10.0) (2022-01-14) + +**Note:** Version bump only for package @digita-ai/semcom-demo-pods + + + + + +### [0.9.8](https://github.com/digita-ai/semcom/compare/v0.9.7...v0.9.8) (2021-12-15) + +**Note:** Version bump only for package @digita-ai/semcom-demo-pods + + + + + +### [0.9.7](https://github.com/digita-ai/semcom/compare/v0.9.6...v0.9.7) (2021-12-09) + +**Note:** Version bump only for package @digita-ai/semcom-demo-pods + + + + + ### [0.9.6](https://github.com/digita-ai/semcom/compare/v0.9.5...v0.9.6) (2021-12-07) **Note:** Version bump only for package @digita-ai/semcom-demo-pods diff --git a/packages/semcom-demo-pods/LICENSE.md b/packages/semcom-demo-pods/LICENSE.md new file mode 100644 index 00000000..e24707ae --- /dev/null +++ b/packages/semcom-demo-pods/LICENSE.md @@ -0,0 +1,16 @@ + This program is offered under a commercial and under the AGPL license. + For commercial licensing, contact Digita at https://digita.ai. For AGPL licensing, see below. + + AGPL licensing: + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . \ No newline at end of file diff --git a/packages/semcom-demo-pods/package-lock.json b/packages/semcom-demo-pods/package-lock.json index 80506e1b..0e6494c1 100644 --- a/packages/semcom-demo-pods/package-lock.json +++ b/packages/semcom-demo-pods/package-lock.json @@ -1,6 +1,6 @@ { "name": "@digita-ai/semcom-demo-pods", - "version": "0.9.6", + "version": "0.11.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/packages/semcom-demo-pods/package.json b/packages/semcom-demo-pods/package.json index 0050e44c..2311bb58 100644 --- a/packages/semcom-demo-pods/package.json +++ b/packages/semcom-demo-pods/package.json @@ -1,11 +1,10 @@ { "name": "@digita-ai/semcom-demo-pods", - "version": "0.9.6", + "version": "0.11.0", "description": "", "author": "", - "license": "", + "license": "agpl-3.0", "scripts": { - "clean": "rimraf ./dist && rimraf ./package-lock.json && rimraf ./node_modules", "start": "shx rm -rf rundata && shx cp -r data rundata && community-solid-server -p 9000 -f ./rundata -c config/config-file.json", "start:dev": "npm run start", "start:sync:dev": "npm run start:dev" diff --git a/packages/semcom-demo-upload-component/CHANGELOG.md b/packages/semcom-demo-upload-component/CHANGELOG.md index 806f49d7..40fd4bb1 100644 --- a/packages/semcom-demo-upload-component/CHANGELOG.md +++ b/packages/semcom-demo-upload-component/CHANGELOG.md @@ -3,6 +3,55 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.11.0](https://github.com/digita-ai/semcom/compare/v0.10.2...v0.11.0) (2022-01-28) + + +### **Bug Fixes** + +* start default in memory without sync ([#185](https://github.com/digita-ai/semcom/issues/185)) ([9c6688c](https://github.com/digita-ai/semcom/commit/9c6688c10dd74da05b3dc6669862b960abbe0085)) + + + +### [0.10.2](https://github.com/digita-ai/semcom/compare/v0.10.1...v0.10.2) (2022-01-22) + +**Note:** Version bump only for package @digita-ai/semcom-demo-upload-components + + + + + +### [0.10.1](https://github.com/digita-ai/semcom/compare/v0.10.0...v0.10.1) (2022-01-14) + +**Note:** Version bump only for package @digita-ai/semcom-demo-upload-components + + + + + +## [0.10.0](https://github.com/digita-ai/semcom/compare/v0.9.8...v0.10.0) (2022-01-14) + +**Note:** Version bump only for package @digita-ai/semcom-demo-upload-components + + + + + +### [0.9.8](https://github.com/digita-ai/semcom/compare/v0.9.7...v0.9.8) (2021-12-15) + +**Note:** Version bump only for package @digita-ai/semcom-demo-upload-components + + + + + +### [0.9.7](https://github.com/digita-ai/semcom/compare/v0.9.6...v0.9.7) (2021-12-09) + +**Note:** Version bump only for package @digita-ai/semcom-demo-upload-components + + + + + ### [0.9.6](https://github.com/digita-ai/semcom/compare/v0.9.5...v0.9.6) (2021-12-07) **Note:** Version bump only for package @digita-ai/semcom-demo-upload-components diff --git a/packages/semcom-demo-upload-component/LICENSE.md b/packages/semcom-demo-upload-component/LICENSE.md new file mode 100644 index 00000000..e24707ae --- /dev/null +++ b/packages/semcom-demo-upload-component/LICENSE.md @@ -0,0 +1,16 @@ + This program is offered under a commercial and under the AGPL license. + For commercial licensing, contact Digita at https://digita.ai. For AGPL licensing, see below. + + AGPL licensing: + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . \ No newline at end of file diff --git a/packages/semcom-demo-upload-component/package-lock.json b/packages/semcom-demo-upload-component/package-lock.json index 4db1d88e..6b8167ec 100644 --- a/packages/semcom-demo-upload-component/package-lock.json +++ b/packages/semcom-demo-upload-component/package-lock.json @@ -1,6 +1,6 @@ { "name": "@digita-ai/semcom-demo-upload-components", - "version": "0.9.6", + "version": "0.11.0", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -14,6 +14,46 @@ "rdf-ext": "^1.3.0" } }, + "@digita-ai/semcom-upload-component": { + "version": "0.10.2", + "resolved": "https://npm.pkg.github.com/download/@digita-ai/semcom-upload-component/0.10.2/5046837f7e94eed1085cc2c7af97799d9a243e5adde23c2bba13f3d50bde5cb8", + "integrity": "sha512-SnmRHdceuuImLzSxJf3yeu3U13pEYbDCLPkZrMq5fZE+4aCvlH58NfxfO8dXcTlMeGk7v2FS+8im2R7nDFm/Hg==", + "requires": { + "@digita-ai/semcom-core": "0.3.4", + "@digita-ai/ui-transfer-components": "0.7.2", + "@digita-ai/ui-transfer-solid-client": "0.7.2", + "@digita-ai/ui-transfer-theme": "0.7.2", + "@netwerk-digitaal-erfgoed/solid-crs-components": "^0.7.0", + "@types/semver": "^7.3.8", + "@xstate/inspect": "^0.4.1", + "jssha": "^3.2.0", + "lit-element": "^2.5.1", + "n3": "^1.11.1", + "rx-lit": "1.0.1", + "rxjs": "^6.6.7", + "semver": "^7.3.5", + "xstate": "^4.17.1" + }, + "dependencies": { + "lit-element": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-2.5.1.tgz", + "integrity": "sha512-ogu7PiJTA33bEK0xGu1dmaX5vhcRjBXCFexPja0e7P7jqLhTpNKYRPmE+GmiCaRVAbiQKGkUgkh/i6+bh++dPQ==", + "requires": { + "lit-html": "^1.1.1" + } + }, + "n3": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/n3/-/n3-1.13.0.tgz", + "integrity": "sha512-GMB4ypBfnuf6mmwbtyN6Whc8TfuVDedxc4n+3wsacQH/h0+RjaEobGMhlWrFLDsqVbT94XA6+q9yysMO5SadKA==", + "requires": { + "queue-microtask": "^1.1.2", + "readable-stream": "^3.6.0" + } + } + } + }, "@digita-ai/typescript-config": { "version": "0.3.4", "resolved": "https://npm.pkg.github.com/download/@digita-ai/typescript-config/0.3.4/16c8755238a358331f20ff2c6ab36abe32c45e74f83ec0bad66965a5ff5fdf6a", @@ -272,6 +312,11 @@ "rdf-js": "^4.0.2" } }, + "@types/semver": { + "version": "7.3.9", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.9.tgz", + "integrity": "sha512-L/TMpyURfBkf+o/526Zb6kd/tchUP3iBDEPjqjb+U2MAJhVRxxrmr2fwpe08E7QsV7YLcpq0tUaQ9O9x97ZIxQ==" + }, "@types/uuid": { "version": "8.3.1", "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.1.tgz", @@ -919,6 +964,11 @@ "@panva/asn1.js": "^1.0.0" } }, + "jssha": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jssha/-/jssha-3.2.0.tgz", + "integrity": "sha512-QuruyBENDWdN4tZwJbQq7/eAK85FqrI4oDbXjy5IBhYD+2pTJyBUWZe8ctWaCkrV0gy6AaelgOZZBMeswEa/6Q==" + }, "lit-element": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-2.4.0.tgz", @@ -937,6 +987,14 @@ "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=" }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "requires": { + "yallist": "^4.0.0" + } + }, "md5.js": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", @@ -1257,6 +1315,14 @@ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "requires": { + "lru-cache": "^6.0.0" + } + }, "serialize-javascript": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", @@ -1426,6 +1492,11 @@ "version": "4.23.1", "resolved": "https://registry.npmjs.org/xstate/-/xstate-4.23.1.tgz", "integrity": "sha512-8ZoCe8d6wDSPfkep+GBgi+fKAdMyXcaizoNf5FKceEhlso4+9n1TeK6oviaDsXZ3Z5O8xKkJOxXPNuD4cA9LCw==" + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" } } } diff --git a/packages/semcom-demo-upload-component/package.json b/packages/semcom-demo-upload-component/package.json index 454c2535..5a768011 100644 --- a/packages/semcom-demo-upload-component/package.json +++ b/packages/semcom-demo-upload-component/package.json @@ -1,6 +1,6 @@ { "name": "@digita-ai/semcom-demo-upload-components", - "version": "0.9.6", + "version": "0.11.0", "description": "Demo for the component to upload semcom-components", "main": "demo.js", "scripts": { @@ -10,9 +10,9 @@ "build": "rimraf ./dist && vite build && tsc" }, "author": "", - "license": "ISC", + "license": "agpl-3.0", "dependencies": { - "@digita-ai/semcom-upload-component": "0.9.6", + "@digita-ai/semcom-upload-component": "0.11.0", "@digita-ai/ui-transfer-components": "^0.7.2", "@digita-ai/ui-transfer-theme": "^0.7.2", "@netwerk-digitaal-erfgoed/solid-crs-components": "^0.7.0" diff --git a/packages/semcom-node/CHANGELOG.md b/packages/semcom-node/CHANGELOG.md index 0096fafb..6cfbed47 100644 --- a/packages/semcom-node/CHANGELOG.md +++ b/packages/semcom-node/CHANGELOG.md @@ -3,6 +3,57 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.11.0](https://github.com/digita-ai/semcom/compare/v0.10.2...v0.11.0) (2022-01-28) + + +### **Bug Fixes** + +* start default in memory without sync ([#185](https://github.com/digita-ai/semcom/issues/185)) ([9c6688c](https://github.com/digita-ai/semcom/commit/9c6688c10dd74da05b3dc6669862b960abbe0085)) + + + +### [0.10.2](https://github.com/digita-ai/semcom/compare/v0.10.1...v0.10.2) (2022-01-22) + + +### **Bug Fixes** + +* component-shape corrections ([#216](https://github.com/digita-ai/semcom/issues/216)) ([8dff959](https://github.com/digita-ai/semcom/commit/8dff959751e5c67a67903dbec92512a16f2ae7d6)) + + + +### [0.10.1](https://github.com/digita-ai/semcom/compare/v0.10.0...v0.10.1) (2022-01-14) + +**Note:** Version bump only for package @digita-ai/semcom-node + + + + + +## [0.10.0](https://github.com/digita-ai/semcom/compare/v0.9.8...v0.10.0) (2022-01-14) + +**Note:** Version bump only for package @digita-ai/semcom-node + + + + + +### [0.9.8](https://github.com/digita-ai/semcom/compare/v0.9.7...v0.9.8) (2021-12-15) + +**Note:** Version bump only for package @digita-ai/semcom-node + + + + + +### [0.9.7](https://github.com/digita-ai/semcom/compare/v0.9.6...v0.9.7) (2021-12-09) + + +### **Documentation** + +* complete-ts-docs ([#194](https://github.com/digita-ai/semcom/issues/194)) ([17a8415](https://github.com/digita-ai/semcom/commit/17a84154a5feaf960b70534a45c98c3bd048b95b)) + + + ### [0.9.6](https://github.com/digita-ai/semcom/compare/v0.9.5...v0.9.6) (2021-12-07) **Note:** Version bump only for package @digita-ai/semcom-node diff --git a/packages/semcom-node/LICENSE.md b/packages/semcom-node/LICENSE.md new file mode 100644 index 00000000..e24707ae --- /dev/null +++ b/packages/semcom-node/LICENSE.md @@ -0,0 +1,16 @@ + This program is offered under a commercial and under the AGPL license. + For commercial licensing, contact Digita at https://digita.ai. For AGPL licensing, see below. + + AGPL licensing: + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . \ No newline at end of file diff --git a/packages/semcom-node/config/config-default.json b/packages/semcom-node/config/config-default.json index 73a6c686..a1bc25dc 100644 --- a/packages/semcom-node/config/config-default.json +++ b/packages/semcom-node/config/config-default.json @@ -1,42 +1,4 @@ { - "@context": [ - "https://linkedsoftwaredependencies.org/bundles/npm/@digita-ai/semcom-node/^0.0.0/components/context.jsonld", - "https://linkedsoftwaredependencies.org/bundles/npm/@digita-ai/handlersjs-core/^0.0.0/components/context.jsonld" - ], - "import": [ - "files-dasn:config/presets/logger.json", - "files-dasn:config/presets/serializer.json", - "files-dasn:config/presets/component.json", - "files-dasn:config/presets/handlers.json", - "files-dasn:config/presets/server.json", - "files-dasn:config/presets/store.json", - "files-dasn:config/presets/decentralization.json" - ], - "@graph": [ - { - "@id": "urn:semcom-node:default:MemoryStore", - "@type": "MemoryStore", - "initialData": [ - ["peers", []], - ["storage", ["http://localhost:9000/metadata/"]] - ] - }, - { - "@id": "urn:semcom-node:default:PodSyncService", - "@type": "PodSyncService", - "storage": "storage", - "store": { - "@id": "urn:semcom-node:default:MemoryStore" - }, - "localPod": "http://localhost:9000/metadata/" - }, - { - "@id": "urn:semcom-node:default:PodSyncScheduler", - "@type": "Scheduler", - "interval": 20000, - "task": { - "@id": "urn:semcom-node:default:PodSyncService" - } - } - ] + "@context": [ "https://linkedsoftwaredependencies.org/bundles/npm/@digita-ai/semcom-node/^0.0.0/components/context.jsonld" ], + "import": [ "./config-memory.json" ] } diff --git a/packages/semcom-node/config/config-memory.json b/packages/semcom-node/config/config-memory.json index d4fa37f7..9c50832a 100644 --- a/packages/semcom-node/config/config-memory.json +++ b/packages/semcom-node/config/config-memory.json @@ -16,7 +16,7 @@ { "@id": "urn:semcom-node:default:MemoryStore", "@type": "MemoryStore", - "initialData": ["peers", []], + "initialData": ["peers", []], "initialData": ["storage", []] }, { diff --git a/packages/semcom-node/config/presets/decentralization.json b/packages/semcom-node/config/presets/decentralization.json index 884a238c..3c2d03cc 100644 --- a/packages/semcom-node/config/presets/decentralization.json +++ b/packages/semcom-node/config/presets/decentralization.json @@ -22,7 +22,6 @@ "@id": "urn:semcom-node:default:MemoryStore" } }, - { "@id": "urn:semcom-node:default:PeerSyncService", "@type": "SyncService", diff --git a/packages/semcom-node/config/presets/handlers.json b/packages/semcom-node/config/presets/handlers.json index f3399453..eeed41bc 100644 --- a/packages/semcom-node/config/presets/handlers.json +++ b/packages/semcom-node/config/presets/handlers.json @@ -21,6 +21,9 @@ { "@id": "urn:semcom-node:default:ContentNegotiationHttpHandler", "@type": "ContentNegotiationHttpHandler", + "contentHandler": { + "@id": "urn:semcom-node:default:ComponentHttpHandler" + }, "logger": { "@id": "urn:semcom-node:default:LoggerService" }, diff --git a/packages/semcom-node/config/presets/server.json b/packages/semcom-node/config/presets/server.json index 63537104..b88cc561 100644 --- a/packages/semcom-node/config/presets/server.json +++ b/packages/semcom-node/config/presets/server.json @@ -82,15 +82,7 @@ } ], "handler": { - "@type": "SequenceHandler", - "handlers": [ - { - "@id": "urn:semcom-node:default:ComponentHttpHandler" - }, - { - "@id": "urn:semcom-node:default:ContentNegotiationHttpHandler" - } - ] + "@id": "urn:semcom-node:default:ContentNegotiationHttpHandler" }, "path": "/component" diff --git a/packages/semcom-node/config/presets/store.json b/packages/semcom-node/config/presets/store.json deleted file mode 100644 index bd44f828..00000000 --- a/packages/semcom-node/config/presets/store.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "@context": [ - "https://linkedsoftwaredependencies.org/bundles/npm/@digita-ai/semcom-core/^0.0.0/components/context.jsonld", - "https://linkedsoftwaredependencies.org/bundles/npm/@digita-ai/semcom-node/^0.0.0/components/context.jsonld" - ], - "@graph": [ - { - "@id": "urn:semcom-node:default:ComponentStore", - "@type": "ComponentInMemoryStore", - "components": [ - { - "@type": "ComponentMetadata", - "description": "Digita SemCom component for profile information.", - "label": "SemCom Profile Component", - "uri": "https://components.semcom.digita.ai/components/profile.component.js", - "shapes": "http://xmlns.com/foaf/0.1/PersonalProfileDocument", - "author": "https://digita.ai", - "tag": "profile", - "version": "0.1.0", - "latest": true - }, - { - "@type": "ComponentMetadata", - "description": "Digita SemCom component with an input field.", - "label": "SemCom Input Component", - "uri": "https://components.semcom.digita.ai/components/input.component.js", - "shapes": "http://digita.ai/voc/input#input", - "author": "https://digita.ai", - "tag": "input", - "version": "0.1.0", - "latest": true - }, - { - "@type": "ComponentMetadata", - "description": "Digita SemCom component for payslip information.", - "label": "SemCom Payslip Component", - "uri": "https://components.semcom.digita.ai/components/payslip.component.js", - "shapes": "http://digita.ai/voc/payslip#payslip", - "author": "https://digita.ai", - "tag": "payslip", - "version": "0.1.0", - "latest": true - }, - { - "@type": "ComponentMetadata", - "description": "Digita SemCom component for displaying a type of gender.", - "label": "SemCom Gender Component", - "uri": "https://components.semcom.digita.ai/components/gender.component.js", - "shapes": "http://digita.ai/voc/gender#gender", - "author": "https://digita.ai", - "tag": "gender", - "version": "0.1.0", - "latest": true - } - ] - } - ] -} diff --git a/packages/semcom-node/lib/component/services/component.service.ts b/packages/semcom-node/lib/component/services/component.service.ts index 06f2fa2c..d02655b5 100644 --- a/packages/semcom-node/lib/component/services/component.service.ts +++ b/packages/semcom-node/lib/component/services/component.service.ts @@ -3,14 +3,29 @@ import { Observable, from } from 'rxjs'; import { ManageComponentStoreService } from './manage-component-store.service'; import { QueryComponentStoreService } from './query-component-store.service'; +/** + * Service to manage the component store. + */ export class ComponentService { + /** + * Creates a { ComponentService }. + * + * @param { QueryComponentStoreService } queryService - The service used to query components from the store. + * @param { ManageComponentStoreService } manageService - The service used to manage components in the store. + * @param { LoggerService } logger - Logger service used to log messages. + */ constructor( private queryService: QueryComponentStoreService, private manageService: ManageComponentStoreService, private logger: LoggerService, ) {} + /** + * Retrieves all components from the store using the query service and returns its metadata. + * + * @returns List of all components. + */ all(): Observable { this.logger.log('debug', 'Getting all components'); @@ -19,6 +34,12 @@ export class ComponentService { } + /** + * Retrieves specific components from the store based on the query argument using the query service and returns its metadata. + * + * @param { any } query - The query used to filter components. + * @returns List of queried components based upon the provided query. + */ query(query: any): Observable { this.logger.log('debug', 'Getting filtered components', query); @@ -27,6 +48,12 @@ export class ComponentService { } + /** + * Saves components in the store using the manage service based upon the provided body. + * + * @param { any } body - The body containing the components data to save. + * @returns The components saved in the store. + */ save(body: any): Observable { this.logger.log('debug', 'Saving components'); diff --git a/packages/semcom-node/lib/component/services/manage-component-store.service.ts b/packages/semcom-node/lib/component/services/manage-component-store.service.ts index d83545b5..315b41eb 100644 --- a/packages/semcom-node/lib/component/services/manage-component-store.service.ts +++ b/packages/semcom-node/lib/component/services/manage-component-store.service.ts @@ -1,14 +1,28 @@ import { ComponentMetadata, ManageComponentService } from '@digita-ai/semcom-core'; import { ComponentStore } from '../../store/services/component-store.service'; +/** + * A service to manage the component store. + */ export class ManageComponentStoreService extends ManageComponentService{ + /** + * Creates a { ManageComponentStoreService }. + * + * @param { ComponentStore } components - The store used to store components. + */ constructor(private components: ComponentStore) { super(); } + /** + * Saves components into the store. + * + * @param { ComponentMetadata[] } components - List of components to store. + * @returns The components saved in the store. + */ async save(components: ComponentMetadata[]): Promise { if (!components) { diff --git a/packages/semcom-node/lib/component/services/query-component-store.service.ts b/packages/semcom-node/lib/component/services/query-component-store.service.ts index f260259f..63c144bb 100644 --- a/packages/semcom-node/lib/component/services/query-component-store.service.ts +++ b/packages/semcom-node/lib/component/services/query-component-store.service.ts @@ -1,14 +1,27 @@ import { ComponentMetadata, QueryComponentService } from '@digita-ai/semcom-core'; import { ComponentStore } from '../../store/services/component-store.service'; +/** + * Queries components from the store based on a filter. + */ export class QueryComponentStoreService extends QueryComponentService { + /** + * Creates a { QueryComponentStoreService }. + * + * @param { ComponentStore } components - The store used to query components from. + */ constructor(private components: ComponentStore) { super(); } + /** + * Queries the components store based upon the specified filter + * + * @param { Partial } filter - The partial component metadata to filter by. + */ async query(filter: Partial): Promise { return this.components.query(filter); diff --git a/packages/semcom-node/lib/handlers/component.handler.ts b/packages/semcom-node/lib/handlers/component.handler.ts index e9113e7b..49fb6256 100644 --- a/packages/semcom-node/lib/handlers/component.handler.ts +++ b/packages/semcom-node/lib/handlers/component.handler.ts @@ -3,8 +3,16 @@ import { Observable, of, throwError } from 'rxjs'; import { map } from 'rxjs/operators'; import { ComponentService } from '../component/services/component.service'; +/** + * A { HttpHandler } that retrieves or stores components based on the request. + */ export class ComponentHttpHandler extends HttpHandler { + /** + * Creates a { ComponentHttpHandler }. + * + * @param { ComponentService } components - The component service used to manage and query components. + */ constructor( private components: ComponentService, ) { @@ -13,6 +21,11 @@ export class ComponentHttpHandler extends HttpHandler { } + /** + * Returns or saves components based on the request. + * + * @param { HttpHandlerContext } context - The context of the http request. + */ handle(context: HttpHandlerContext): Observable { if (context.request.method === 'GET') { @@ -76,6 +89,12 @@ export class ComponentHttpHandler extends HttpHandler { } + /** + * Confirms if the handler can handle the request. + * + * @param { HttpHandlerContext } context - The context of the http request. + * @returns Boolean confirming if the + */ canHandle(context: HttpHandlerContext): Observable { if ([ 'GET', 'POST' ].includes(context.request.method)) { diff --git a/packages/semcom-node/lib/handlers/content-negotiation.handler.spec.ts b/packages/semcom-node/lib/handlers/content-negotiation.handler.spec.ts index 696640b0..3a23f09b 100644 --- a/packages/semcom-node/lib/handlers/content-negotiation.handler.spec.ts +++ b/packages/semcom-node/lib/handlers/content-negotiation.handler.spec.ts @@ -1,20 +1,32 @@ -import { HttpHandlerContext, HttpHandlerResponse } from '@digita-ai/handlersjs-http'; +import { HttpError, HttpHandlerContext, HttpHandlerResponse } from '@digita-ai/handlersjs-http'; import { LoggerConsoleService } from '@digita-ai/semcom-core'; +import { of } from 'rxjs'; import { ComponentTransformerService } from '../component/services/component-transformer.service'; import { ContentNegotiationHttpHandler } from '../handlers/content-negotiation.handler'; import { QuadSerializationService } from '../quad/services/quad-serialization.service'; +import { ComponentHttpHandler } from './component.handler'; const logger = new LoggerConsoleService(); describe('ServerHandlerContentNegotiationService', () => { + let contentHandler: ComponentHttpHandler; let handler: ContentNegotiationHttpHandler; let mockCTX: HttpHandlerContext; let mockResponse: HttpHandlerResponse; beforeEach(() => { + contentHandler = ({ + handle: () => of({ + body: null, + headers: {}, + status: 200, + }), + }) as unknown as ComponentHttpHandler; + handler = new ContentNegotiationHttpHandler( + contentHandler, logger, 'application/ld+json', new ComponentTransformerService(logger), @@ -74,7 +86,7 @@ describe('ServerHandlerContentNegotiationService', () => { it('throws when context.request is null', async() => { - await expect(handler.handle({ ...mockCTX, request: null }, mockResponse).toPromise()).rejects.toThrow( + await expect(handler.handle({ ...mockCTX, request: null }).toPromise()).rejects.toThrow( 'Argument request should be set.', ); @@ -82,17 +94,15 @@ describe('ServerHandlerContentNegotiationService', () => { it('throws when response is null', async() => { - await expect(handler.handle(mockCTX, null).toPromise()).rejects.toThrow( - 'Argument response should be set.', - ); + contentHandler.handle = () => of(null); + await expect(handler.handle(mockCTX).toPromise()).rejects.toThrow(new Error('Argument response should be set.')); }); it('should return 406 for unknown content types', async() => { mockCTX.request.headers.accept = 'unsupportedContentType'; - const temp = await handler.handle(mockCTX, mockResponse).toPromise(); - await expect(temp.status).toBe(406); + await expect(handler.handle(mockCTX).toPromise()).rejects.toEqual(new HttpError(406, 'Not acceptable')); }); diff --git a/packages/semcom-node/lib/handlers/content-negotiation.handler.ts b/packages/semcom-node/lib/handlers/content-negotiation.handler.ts index 75559c84..e96873e7 100644 --- a/packages/semcom-node/lib/handlers/content-negotiation.handler.ts +++ b/packages/semcom-node/lib/handlers/content-negotiation.handler.ts @@ -1,14 +1,26 @@ import { ComponentMetadata, LoggerService } from '@digita-ai/semcom-core'; -import { HttpHandler, HttpHandlerContext, HttpHandlerResponse } from '@digita-ai/handlersjs-http'; +import { HttpError, HttpHandler, HttpHandlerContext, HttpHandlerResponse } from '@digita-ai/handlersjs-http'; import { Observable, Subject, from, of, throwError } from 'rxjs'; import { map, switchMap, tap, toArray } from 'rxjs/operators'; import serialize from 'rdf-serialize'; import { ComponentTransformerService } from '../component/services/component-transformer.service'; import { QuadSerializationService } from '../quad/services/quad-serialization.service'; +/** + * A { HttpHandler } that performs content negotiation on incoming requests. + */ export class ContentNegotiationHttpHandler extends HttpHandler { + /** + * Creates a { ContentNegotiationHttpHandler} + * + * @param { LoggerService } loggerService - The logger service used to log messages. + * @param { string } defaultContentType - The default content type to use if none is specified. + * @param { ComponentTransformerService } transformer - The service that transforms components to quads. + * @param { QuadSerializationService } serializer - The service that serializes quads to different forms of linked data. + */ constructor( + private contentHandler: HttpHandler, private logger: LoggerService, private defaultContentType: string, private transformer: ComponentTransformerService, @@ -19,6 +31,12 @@ export class ContentNegotiationHttpHandler extends HttpHandler { } + /** + * Confirms if the handler can handle the request. + * + * @param { HttpHandlerContext } context - The context of the http request. + * @returns Boolean confirming if the accept headers is application/json or not. + */ canHandle(context: HttpHandlerContext): Observable { this.logger.log('debug', 'Checking content negotiation handler', { context }); @@ -27,25 +45,23 @@ export class ContentNegotiationHttpHandler extends HttpHandler { } - handle(context: HttpHandlerContext, response: HttpHandlerResponse): Observable { + /** + * Checks the content type of the incoming request and if supported serializes the components to a response of that type. + * If not returns a 406 Not Acceptable response. + * + * @param { HttpHandlerContext } context - The context of the http request. + * @param { HttpHandlerResponse } response - The response object to be returned. + */ + handle(context: HttpHandlerContext): Observable { - this.logger.log('debug', 'Running content negotiation handler', { - context, - response, - }); + this.logger.log('debug', 'Running content negotiation handler', context); - if (!context.request) { + if (!context?.request) { return throwError(new Error('Argument request should be set.')); } - if (!response) { - - return throwError(new Error('Argument response should be set.')); - - } - const request = context.request; const contentType = @@ -54,47 +70,44 @@ export class ContentNegotiationHttpHandler extends HttpHandler { : request.headers.accept; return this.isContentTypeSupported(contentType).pipe( - switchMap((isContentTypeSupported) => { + switchMap((isContentTypeSupported) => isContentTypeSupported ? this.contentHandler.handle(context) : throwError(new HttpError(406, 'Not Acceptable'))), + switchMap((response) => { - if (isContentTypeSupported) { + if (!response) { return throwError(new Error('Argument response should be set.')); } - const components: ComponentMetadata[] = JSON.parse(response.body); + const components: ComponentMetadata[] = JSON.parse(response.body); - const quads = this.transformer.toQuads(components); + const quads = this.transformer.toQuads(components); - const resultStream = this.serializer.serialize(quads, contentType); + const resultStream = this.serializer.serialize(quads, contentType); - this.logger.log('debug', 'Mapped to rdf', { request, response }); + this.logger.log('debug', 'Mapped to rdf', { request, response }); - const buffer = new Subject(); - resultStream.on('data', (chunk) => buffer.next(chunk)); - resultStream.on('end', () => buffer.complete()); + const buffer = new Subject(); + resultStream.on('data', (chunk) => buffer.next(chunk)); + resultStream.on('end', () => buffer.complete()); - return buffer.pipe( - toArray(), - map((chunks: string[]) => chunks.join('')), - map((body) => ({ - ...response, - body, - headers: { ...response.headers, 'content-type': contentType }, - })), - ); - - } else { - - return of({ + return buffer.pipe( + toArray(), + map((chunks: string[]) => chunks.join('')), + map((body) => ({ ...response, - status: 406, - body: '', - }); - - } + body, + headers: { ...response.headers, 'content-type': contentType }, + })), + ); }), ); } + /** + * Checks if the given content type is supported. + * + * @param { string } contentType - The content type to check. + * @returns Boolean stating if the provided content type is supported. + */ private isContentTypeSupported(contentType: string): Observable { if (!contentType) { diff --git a/packages/semcom-node/lib/handlers/query-component.handler.ts b/packages/semcom-node/lib/handlers/query-component.handler.ts index 41b057bf..89870078 100644 --- a/packages/semcom-node/lib/handlers/query-component.handler.ts +++ b/packages/semcom-node/lib/handlers/query-component.handler.ts @@ -3,8 +3,16 @@ import { Observable, of, throwError } from 'rxjs'; import { map } from 'rxjs/operators'; import { ComponentService } from '../component/services/component.service'; +/** + * A { HttpHandler } retrieving components based on a query. + */ export class QueryComponentHttpHandler extends HttpHandler { + /** + * Creates a { QueryComponentHttpHandler }. + * + * @param { ComponentService } components - The component service used to manage and query components. + */ constructor( private components: ComponentService, ) { @@ -13,6 +21,12 @@ export class QueryComponentHttpHandler extends HttpHandler { } + /** + * Retrieves components based on the query specified in the request, + * and returns them as a JSON response. + * + * @param { HttpHandlerContext } context - The context of the request. + */ handle(context: HttpHandlerContext): Observable { if (!context.request.body) { @@ -33,6 +47,12 @@ export class QueryComponentHttpHandler extends HttpHandler { } + /** + * Confirms if the handler can handle the request by checking the HTTP method. + * + * @param { HttpHandlerContext } context - The context of the http request. + * @returns Boolean confirming if the handler can handle the request based on the HTTP method. + */ canHandle(context: HttpHandlerContext): Observable { if (context.request.method === 'POST') { diff --git a/packages/semcom-node/lib/main.spec.ts b/packages/semcom-node/lib/main.spec.ts index c9d887ce..f8a8bc94 100644 --- a/packages/semcom-node/lib/main.spec.ts +++ b/packages/semcom-node/lib/main.spec.ts @@ -33,6 +33,7 @@ describe('createVariables', () => { 'urn:semcom-node:variables:schema': undefined, 'urn:semcom-node:variables:host': 'localhost', 'urn:semcom-node:variables:port': '3000', + 'urn:semcom-node:variables:sync': false, }); })); @@ -44,6 +45,7 @@ describe('createVariables', () => { 'bin', '-c', 'bla', + 'true', ]); expect(variables).toEqual({ @@ -52,6 +54,7 @@ describe('createVariables', () => { 'urn:semcom-node:variables:schema': undefined, 'urn:semcom-node:variables:host': 'localhost', 'urn:semcom-node:variables:port': '3000', + 'urn:semcom-node:variables:sync': false, }); })); diff --git a/packages/semcom-node/lib/main.ts b/packages/semcom-node/lib/main.ts index e74ecaa8..13921203 100644 --- a/packages/semcom-node/lib/main.ts +++ b/packages/semcom-node/lib/main.ts @@ -28,17 +28,31 @@ export const launch: (variables: Record) => Promise = async ( await manager.configRegistry.register(configPath); const server: NodeHttpServer = await manager.instantiate('urn:semcom-node:default:NodeHttpServer', { variables }); - const peerSyncScheduler: Scheduler = await manager.instantiate('urn:semcom-node:default:PeerSyncScheduler', { variables }); - const storageSyncScheduler: Scheduler = await manager.instantiate('urn:semcom-node:default:StorageSyncScheduler', { variables }); - const podSyncScheduler: Scheduler = await manager.instantiate('urn:semcom-node:default:PodSyncScheduler', { variables }); server.start(); - peerSyncScheduler.start(); - storageSyncScheduler.start(); - podSyncScheduler.start(); + + const sync: boolean = variables['urn:semcom-node:variables:sync']; + + if (sync) { + + const peerSyncScheduler: Scheduler = await manager.instantiate('urn:semcom-node:default:PeerSyncScheduler', { variables }); + const storageSyncScheduler: Scheduler = await manager.instantiate('urn:semcom-node:default:StorageSyncScheduler', { variables }); + const podSyncScheduler: Scheduler = await manager.instantiate('urn:semcom-node:default:PodSyncScheduler', { variables }); + + peerSyncScheduler.start(); + storageSyncScheduler.start(); + podSyncScheduler.start(); + + } }; +/** + * Creates configuration variables from the passed cli arguments. + * + * @param { string[] } args - List of launch arguments passed to the cli. + * @returns An object containing the passed variables and their values. + */ export const createVariables = (args: string[]): Record => { const argv = yargs(hideBin(args)) @@ -49,6 +63,7 @@ export const createVariables = (args: string[]): Record => { host: { type: 'string', alias: 'h' }, schema: { type: 'string', alias: 's' }, mainModulePath: { type: 'string', alias: 'm' }, + sync: { type: 'boolean', alias: 'y' }, }) .help().parseSync(); @@ -58,6 +73,7 @@ export const createVariables = (args: string[]): Record => { 'urn:semcom-node:variables:schema': argv.schema, 'urn:semcom-node:variables:host': argv.host ?? 'localhost', 'urn:semcom-node:variables:port': argv.port ?? '3000', + 'urn:semcom-node:variables:sync': argv.sync ?? false, }; }; diff --git a/packages/semcom-node/lib/mock/initial-components.ts b/packages/semcom-node/lib/mock/initial-components.ts index de81fa54..6d87779e 100644 --- a/packages/semcom-node/lib/mock/initial-components.ts +++ b/packages/semcom-node/lib/mock/initial-components.ts @@ -1,5 +1,8 @@ import { ComponentMetadata } from '@digita-ai/semcom-core'; +/** + * Mock data for initial components + */ export const initialComponents = [ { uri: 'foo1/bar', diff --git a/packages/semcom-node/lib/quad/services/quad-serialization.service.ts b/packages/semcom-node/lib/quad/services/quad-serialization.service.ts index 5621cc59..e7487145 100644 --- a/packages/semcom-node/lib/quad/services/quad-serialization.service.ts +++ b/packages/semcom-node/lib/quad/services/quad-serialization.service.ts @@ -17,6 +17,7 @@ export class QuadSerializationService { * * @param quads The quads to convert * @param contentType The content type to convert to + * @returns A serialized stream of the quads. */ serialize(quads: Quad[], contentType: string): NodeJS.ReadableStream { diff --git a/packages/semcom-node/lib/store/services/component-in-memory-store.service.ts b/packages/semcom-node/lib/store/services/component-in-memory-store.service.ts index 5d8c3897..18c32539 100644 --- a/packages/semcom-node/lib/store/services/component-in-memory-store.service.ts +++ b/packages/semcom-node/lib/store/services/component-in-memory-store.service.ts @@ -1,20 +1,37 @@ import { ComponentMetadata } from '@digita-ai/semcom-core'; import { ComponentStore } from './component-store.service'; +/** + * A { ComponentStore } that stores components in memory. + */ export class ComponentInMemoryStore extends ComponentStore { + /** + * Creates a { ComponentInMemoryStore }. + * + * @param { ComponentMetadata[] } components - List of component metadata. + */ constructor(private components: ComponentMetadata[]) { super(); } + /** + * @returns the entire list of components metadata. + */ async all(): Promise { return this.components; } + /** + * Compares the list of components provided with the current list of components and merges the differences. + * + * @param { ComponentMetadata[] } components - List of component metadata. + * @returns List of the components saved. + */ async save(components: ComponentMetadata[]): Promise { if (!components) { diff --git a/packages/semcom-node/lib/store/services/component-pod-store.service.ts b/packages/semcom-node/lib/store/services/component-pod-store.service.ts index 8992e87f..37fddfbf 100644 --- a/packages/semcom-node/lib/store/services/component-pod-store.service.ts +++ b/packages/semcom-node/lib/store/services/component-pod-store.service.ts @@ -3,13 +3,27 @@ import { Parser, Quad } from 'n3'; import { ComponentTransformerService } from '../../component/services/component-transformer.service'; import { ComponentStore } from './component-store.service'; +/** + * A { ComponentStore } that stores and retrieves component metadata in/from a pod. + */ export class ComponentPodStore extends ComponentStore { + /** + * Creates a { ComponentPodStore }. + * + * @param { string } uri - The URI of the pod. + * @param { ComponentTransformerService } transformer - Service used to transform components. + */ constructor( private readonly uri: string, private readonly transformer: ComponentTransformerService ) { super(); } + /** + * Fetches all quads from the URI of the pod. + * + * @returns A list of quads retrieved from the webid. + */ private async fetchAllQuads(): Promise { const response = await fetch(this.uri, { headers: { 'Accept': 'text/turtle' } }); @@ -26,6 +40,13 @@ export class ComponentPodStore extends ComponentStore { } + /** + * Fetch the specified quads from the URI of the pod. + * + * @param { string } metadataName - The name of the component to fetch. + * @returns List of quads retrieved baesed on the metadata name. + * @ + */ private async fetchQuads(metadataName: string): Promise { const response = await fetch(`${this.uri}${metadataName}`, { headers: { 'Accept': 'text/turtle' } }); @@ -35,6 +56,11 @@ export class ComponentPodStore extends ComponentStore { } + /** + * Transforms all fetched quads to components. + * + * @returns List of all transformed components. + */ async all(): Promise { const quads = await this.fetchAllQuads(); diff --git a/packages/semcom-node/lib/store/services/component-store.service.ts b/packages/semcom-node/lib/store/services/component-store.service.ts index 7d05bfa1..87f0589c 100644 --- a/packages/semcom-node/lib/store/services/component-store.service.ts +++ b/packages/semcom-node/lib/store/services/component-store.service.ts @@ -2,8 +2,16 @@ import { ComponentMetadata } from '@digita-ai/semcom-core'; import * as semver from 'semver'; import { Store } from './store.service'; +/** + * A { Store } for keeping { ComponentMetadata }, implementing a default query method. + */ export abstract class ComponentStore implements Store{ + /** + * Queries the components based on a filter of partial metadata. + * + * @returns List of components that match the filter. + */ async query(filter: Partial): Promise { const components = await this.all(); diff --git a/packages/semcom-node/lib/store/services/pod-sync.service.ts b/packages/semcom-node/lib/store/services/pod-sync.service.ts index e7622b49..a9f4476f 100644 --- a/packages/semcom-node/lib/store/services/pod-sync.service.ts +++ b/packages/semcom-node/lib/store/services/pod-sync.service.ts @@ -3,14 +3,18 @@ import { Parser } from 'n3'; import fetch from 'node-fetch'; import { from, Observable, of } from 'rxjs'; +/** + * A { Handler } that handles the synchronization of components between a local pod and a store. + */ export class PodSyncService extends Handler { /** + * Creates a { PodSyncService }. * - * @param storage - key in which the storage is located - * @param store - the given store - * @param localPod - the URI of the local pod + * @param { S } storage - The key pointing to the list of storage pods. + * @param { TypedKeyValueStore } store - The store containing the list of storage pods. + * @param { string } localPod - The URI of the local pod. */ constructor( private readonly storage: S, @@ -24,6 +28,12 @@ export class PodSyncService } + /** + * Fetches all components for the given pod uri and returns them in a set. + * + * @param { string } uri - The given pod. + * @returns The set of components found in the pod. + */ private async componentsInPod(uri: string): Promise> { try { @@ -47,6 +57,9 @@ export class PodSyncService } + /** + * Synchronizes the local components to contain all remote components as well. + */ private async synchronizeComponents(): Promise { const existingComponents = await this.componentsInPod(this.localPod); @@ -89,6 +102,9 @@ export class PodSyncService } + /** + * Synchronizes the local components to contain all remote components as well. + */ handle(): Observable { return from(this.synchronizeComponents()); diff --git a/packages/semcom-node/lib/store/services/store.service.ts b/packages/semcom-node/lib/store/services/store.service.ts index 26c59028..9ad79870 100644 --- a/packages/semcom-node/lib/store/services/store.service.ts +++ b/packages/semcom-node/lib/store/services/store.service.ts @@ -1,3 +1,6 @@ +/** + * A store to query and save data. + */ export interface Store { query(filter: Partial): Promise; all(): Promise; diff --git a/packages/semcom-node/package-lock.json b/packages/semcom-node/package-lock.json index c884a11e..7bf929ab 100644 --- a/packages/semcom-node/package-lock.json +++ b/packages/semcom-node/package-lock.json @@ -1,6 +1,6 @@ { "name": "@digita-ai/semcom-node", - "version": "0.9.6", + "version": "0.11.0", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -727,6 +727,11 @@ "rxjs": "6.3.3" } }, + "@digita-ai/semcom-core": { + "version": "0.10.2", + "resolved": "https://npm.pkg.github.com/download/@digita-ai/semcom-core/0.10.2/c17fd9dd3e8c1c89a3c2dcbb55140f0a2a9e443dc724df056df50b11a3d3cf41", + "integrity": "sha512-3sFWlAsSMniF175NkSryZHbj+pEZQ3rgWX8W2cyyTYlfWwNyshuoeJ9p2J58lGY5paHnCwprliHhNelQjE8O7g==" + }, "@digita-ai/typescript-config": { "version": "0.3.4", "resolved": "https://npm.pkg.github.com/download/@digita-ai/typescript-config/0.3.4/16c8755238a358331f20ff2c6ab36abe32c45e74f83ec0bad66965a5ff5fdf6a", @@ -1294,19 +1299,19 @@ "dev": true }, "@typescript-eslint/types": { - "version": "4.30.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.30.0.tgz", - "integrity": "sha512-YKldqbNU9K4WpTNwBqtAerQKLLW/X2A/j4yw92e3ZJYLx+BpKLeheyzoPfzIXHfM8BXfoleTdiYwpsvVPvHrDw==", + "version": "4.33.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.33.0.tgz", + "integrity": "sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "4.30.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.30.0.tgz", - "integrity": "sha512-6WN7UFYvykr/U0Qgy4kz48iGPWILvYL34xXJxvDQeiRE018B7POspNRVtAZscWntEPZpFCx4hcz/XBT+erenfg==", + "version": "4.33.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.33.0.tgz", + "integrity": "sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA==", "dev": true, "requires": { - "@typescript-eslint/types": "4.30.0", - "@typescript-eslint/visitor-keys": "4.30.0", + "@typescript-eslint/types": "4.33.0", + "@typescript-eslint/visitor-keys": "4.33.0", "debug": "^4.3.1", "globby": "^11.0.3", "is-glob": "^4.0.1", @@ -1315,12 +1320,12 @@ } }, "@typescript-eslint/visitor-keys": { - "version": "4.30.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.30.0.tgz", - "integrity": "sha512-pNaaxDt/Ol/+JZwzP7MqWc8PJQTUhZwoee/PVlQ+iYoYhagccvoHnC9e4l+C/krQYYkENxznhVSDwClIbZVxRw==", + "version": "4.33.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.33.0.tgz", + "integrity": "sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg==", "dev": true, "requires": { - "@typescript-eslint/types": "4.30.0", + "@typescript-eslint/types": "4.33.0", "eslint-visitor-keys": "^2.0.0" } }, @@ -2007,9 +2012,9 @@ } }, "componentsjs-generator": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/componentsjs-generator/-/componentsjs-generator-2.6.0.tgz", - "integrity": "sha512-xhUJXHGLvnT5yQ+U6WlabqK1LgKDQ8kn8tdChhKVrPCSOsO+Zdryunv5GwEUUj7Ia1VAJah5fXT6jnXXzT1t9g==", + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/componentsjs-generator/-/componentsjs-generator-2.6.1.tgz", + "integrity": "sha512-WA8UNWbBbTmJmC5IxP/N+TJz/XBPfpdzlnzRB5fS2vOmZbwul54/kTxl2V+jjEh/k7Nyh8oKFd/4kE9ZRFSChA==", "dev": true, "requires": { "@types/lru-cache": "^5.1.0", @@ -2861,9 +2866,9 @@ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, "fast-glob": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", - "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", + "version": "3.2.11", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", + "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", "dev": true, "requires": { "@nodelib/fs.stat": "^2.0.2", @@ -2891,9 +2896,9 @@ "integrity": "sha512-lXatBjf3WPjmWD6DpIZxkeSsCOwqI0maYMpgDlx8g4U2qi4lbjA9oH/HD2a87G+KfsUmo5WbJFmqBZlPxtptag==" }, "fastq": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.12.0.tgz", - "integrity": "sha512-VNX0QkHK3RsXVKr9KrlUv/FoTa0NdbYoHHl7uXHv2rzyHSlxjdNAKug2twd9luJxpcyNeAgf5iPPMutJO67Dfg==", + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", + "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", "dev": true, "requires": { "reusify": "^1.0.4" @@ -3117,16 +3122,16 @@ } }, "globby": { - "version": "11.0.4", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz", - "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==", + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", "dev": true, "requires": { "array-union": "^2.1.0", "dir-glob": "^3.0.1", - "fast-glob": "^3.1.1", - "ignore": "^5.1.4", - "merge2": "^1.3.0", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", "slash": "^3.0.0" } }, @@ -3299,9 +3304,9 @@ } }, "ignore": { - "version": "5.1.8", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", - "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", + "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", "dev": true }, "immutable": { diff --git a/packages/semcom-node/package.json b/packages/semcom-node/package.json index 91499699..9416b2f7 100644 --- a/packages/semcom-node/package.json +++ b/packages/semcom-node/package.json @@ -1,10 +1,10 @@ { "name": "@digita-ai/semcom-node", - "version": "0.9.6", + "version": "0.11.0", "description": "> TODO: description", "author": "Wouter Janssens ", "homepage": "https://github.com/digita-ai/semcom/tree/master/packages/semcom-node#readme", - "license": "ISC", + "license": "agpl-3.0", "main": "./dist/public-api.js", "directories": { "lib": "lib", @@ -28,17 +28,15 @@ "semcom-node": "./bin/server.js" }, "scripts": { + "start": "node bin/server.js --no-sync", + "start:dev": "node bin/server.js -p 3000 -c config/config-default.json", + "start:sync:dev": "node bin/synchronizing-servers.js -y", "build": "rimraf ./dist && npm run build:ts && npm run build:components", "build:ts": "tsc", "build:components": "componentsjs-generator --typeScopedContexts -s lib -c dist/components -i .componentsignore", - "clean": "rimraf ./dist && rimraf ./package-lock.json && rimraf ./node_modules", "lint": "eslint .", "lint:fix": "eslint --fix .", "lint:staged": "lint-staged", - "start": "node bin/server.js", - "start:dev": "node bin/server.js -p 3000 -c config/config-default.dev.json", - "start:dev2": "node bin/server.js -p 3001 -c config/config-default.dev2.json", - "start:sync:dev": "node bin/synchronizing-servers.js", "test": "jest", "test:ci": "jest --runInBand --silent", "posttest": "jest-coverage-thresholds-bumper --silent --coverage-summary-path coverage-summary.json" @@ -62,8 +60,8 @@ "dependencies": { "@digita-ai/handlersjs-core": "^0.3.4", "@digita-ai/handlersjs-http": "^0.3.4", - "@digita-ai/semcom-core": "0.9.6", - "componentsjs": "4.5.0", + "@digita-ai/semcom-core": "0.11.0", + "componentsjs": "^4.5.0", "n3": "^1.6.3", "node-fetch": "^2.6.1", "rdf-serialize": "^1.0.1", @@ -81,7 +79,7 @@ "@types/streamify-array": "^1.0.0", "@types/supertest": "^2.0.10", "@types/yargs": "^17.0.2", - "componentsjs-generator": "2.6.0", + "componentsjs-generator": "^2.6.1", "eslint": "^7.16.0", "jest": "^26.6.3", "jest-coverage-thresholds-bumper": "0.0.4", @@ -110,7 +108,7 @@ "global": { "branches": 64.56, "functions": 81.93, - "lines": 79.63, + "lines": 79.53, "statements": 79.22 } } diff --git a/packages/semcom-sdk/CHANGELOG.md b/packages/semcom-sdk/CHANGELOG.md index fee43838..1989b3a5 100644 --- a/packages/semcom-sdk/CHANGELOG.md +++ b/packages/semcom-sdk/CHANGELOG.md @@ -3,6 +3,62 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.11.0](https://github.com/digita-ai/semcom/compare/v0.10.2...v0.11.0) (2022-01-28) + + +### **Bug Fixes** + +* start default in memory without sync ([#185](https://github.com/digita-ai/semcom/issues/185)) ([9c6688c](https://github.com/digita-ai/semcom/commit/9c6688c10dd74da05b3dc6669862b960abbe0085)) + + + +### [0.10.2](https://github.com/digita-ai/semcom/compare/v0.10.1...v0.10.2) (2022-01-22) + + +### **Bug Fixes** + +* component-shape corrections ([#216](https://github.com/digita-ai/semcom/issues/216)) ([8dff959](https://github.com/digita-ai/semcom/commit/8dff959751e5c67a67903dbec92512a16f2ae7d6)) + + + +### [0.10.1](https://github.com/digita-ai/semcom/compare/v0.10.0...v0.10.1) (2022-01-14) + +**Note:** Version bump only for package @digita-ai/semcom-sdk + + + + + +## [0.10.0](https://github.com/digita-ai/semcom/compare/v0.9.8...v0.10.0) (2022-01-14) + +**Note:** Version bump only for package @digita-ai/semcom-sdk + + + + + +### [0.9.8](https://github.com/digita-ai/semcom/compare/v0.9.7...v0.9.8) (2021-12-15) + +**Note:** Version bump only for package @digita-ai/semcom-sdk + + + + + +### [0.9.7](https://github.com/digita-ai/semcom/compare/v0.9.6...v0.9.7) (2021-12-09) + + +### **Features** + +* add resourceShapeFromQuads to discovery ([#201](https://github.com/digita-ai/semcom/issues/201)) ([e6b863d](https://github.com/digita-ai/semcom/commit/e6b863dcde92e2950d5a516b5e898a8fe6bf68c4)) + + +### **Documentation** + +* complete-ts-docs ([#194](https://github.com/digita-ai/semcom/issues/194)) ([17a8415](https://github.com/digita-ai/semcom/commit/17a84154a5feaf960b70534a45c98c3bd048b95b)) + + + ### [0.9.6](https://github.com/digita-ai/semcom/compare/v0.9.5...v0.9.6) (2021-12-07) **Note:** Version bump only for package @digita-ai/semcom-sdk diff --git a/packages/semcom-sdk/LICENSE.md b/packages/semcom-sdk/LICENSE.md new file mode 100644 index 00000000..e24707ae --- /dev/null +++ b/packages/semcom-sdk/LICENSE.md @@ -0,0 +1,16 @@ + This program is offered under a commercial and under the AGPL license. + For commercial licensing, contact Digita at https://digita.ai. For AGPL licensing, see below. + + AGPL licensing: + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . \ No newline at end of file diff --git a/packages/semcom-sdk/lib/addListener.ts b/packages/semcom-sdk/lib/addListener.ts index 7c5910c3..b9706f51 100644 --- a/packages/semcom-sdk/lib/addListener.ts +++ b/packages/semcom-sdk/lib/addListener.ts @@ -1,6 +1,9 @@ import { ComponentDataTypes } from '@digita-ai/semcom-core'; import { ComponentAppendEvent, ComponentEventTypes, ComponentReadEvent, ComponentResponseEvent, ComponentWriteEvent } from './component/models/component-events.model'; +/** + * Make TypeScript believe in the existence of SemCom event types. + */ declare global { interface GlobalEventHandlersEventMap { [ComponentEventTypes.READ]: ComponentReadEvent; @@ -10,6 +13,14 @@ declare global { } } +/** + * Adds listeners to a SemCom component, to listen for SemCom events of a certain event type and data type. + * + * @param { T } eventType - The type of event to listen to. + * @param { D } dataType -The type of data to listen to. + * @param { GlobalEventHandlers} element - The element on which the event should occur. + * @param { (event: GlobalEventHandlersEventMap[T]) } process - The function to call when the event occurs. + */ export const addListener = ( eventType: T, dataType: D, diff --git a/packages/semcom-sdk/lib/component/services/query-component-remote.service.ts b/packages/semcom-sdk/lib/component/services/query-component-remote.service.ts index dcf832d0..e0d2672e 100644 --- a/packages/semcom-sdk/lib/component/services/query-component-remote.service.ts +++ b/packages/semcom-sdk/lib/component/services/query-component-remote.service.ts @@ -1,9 +1,17 @@ import { ComponentMetadata, QueryComponentService } from '@digita-ai/semcom-core'; +/** + * A { QueryComponentService } that queries the remote component repository for a component. + */ export class QueryComponentRemoteService extends QueryComponentService { private repository: string; + /** + * Creates a { QueryComponentRemoteService }. + * + * @param { string } repository - The remote component repository to query the components from. + */ constructor(repository: string) { super(); @@ -11,6 +19,12 @@ export class QueryComponentRemoteService extends QueryComponentService { } + /** + * Queries the remote component repository for components based upon the given filter. + * + * @param { Partial } filter - The filter to use when querying the remote component repository. + * @returns List of components matching the filter. + */ async query(filter: Partial): Promise { if (!this.repository) { diff --git a/packages/semcom-sdk/lib/component/services/register-component.service.ts b/packages/semcom-sdk/lib/component/services/register-component.service.ts index 90d5d615..666b83bf 100644 --- a/packages/semcom-sdk/lib/component/services/register-component.service.ts +++ b/packages/semcom-sdk/lib/component/services/register-component.service.ts @@ -2,8 +2,16 @@ import jsSHA from 'jssha'; import { AbstractRegisterComponentService, ComponentMetadata } from '@digita-ai/semcom-core'; +/** + * A { AbstractRegisterComponentService } that registers a component. + */ export class RegisterComponentService extends AbstractRegisterComponentService { + /** + * Checks if the component is already registered. + * + * @param { ComponentMetadata } componentMetadata - The component metadata to check. + */ async isRegistered(componentMetadata: ComponentMetadata): Promise { if (!componentMetadata || !componentMetadata.uri) { @@ -16,6 +24,12 @@ export class RegisterComponentService extends AbstractRegisterComponentService { } + /** + * Registers the component. + * + * @param { ComponentMetadata } componentMetadata - The component metadata to register. + * @returns The tag of the registered component. + */ async register(componentMetadata: ComponentMetadata): Promise { if (!componentMetadata || !componentMetadata.tag || !componentMetadata.uri) { diff --git a/packages/semcom-sdk/lib/discovery.spec.ts b/packages/semcom-sdk/lib/discovery.spec.ts new file mode 100644 index 00000000..d2cfa4a1 --- /dev/null +++ b/packages/semcom-sdk/lib/discovery.spec.ts @@ -0,0 +1,21 @@ +import { DataFactory } from 'n3'; +import { resourceShapeFromQuads } from './discovery'; + +describe('resourceShapeFromQuads', () => { + + const quadPredicate = 'http://example.com/predicate'; + + const quad = DataFactory.quad( + DataFactory.namedNode('test'), + DataFactory.namedNode(quadPredicate), + DataFactory.namedNode('test') + ); + + it('should discover shapes from a quad', () => { + + const shapes = resourceShapeFromQuads([ quad ]); + expect(shapes).toContainEqual(quadPredicate); + + }); + +}); diff --git a/packages/semcom-sdk/lib/discovery.ts b/packages/semcom-sdk/lib/discovery.ts index 71766551..ee5bb252 100644 --- a/packages/semcom-sdk/lib/discovery.ts +++ b/packages/semcom-sdk/lib/discovery.ts @@ -1,4 +1,20 @@ -import { Store, Parser, DataFactory } from 'n3'; +import { Store, Parser, DataFactory, Quad } from 'n3'; + +/** + * Discovers the shape of a resource, given quads. + * + * @param quads the quads for which to discover shapes. + * @returns the uris of the discovered shapes. + */ +export const resourceShapeFromQuads = (quads: Quad[]): string[] => { + + const predicates = new Set(quads.map((quad) => quad.predicate.value)); + + const classes = new Store(quads).getQuads(null, DataFactory.namedNode('http://www.w3.org/1999/02/22-rdf-syntax-ns#type'), null, null).map((quad) => quad.object.value); + + return Array.from(predicates).concat(classes); + +}; /** * Discovers the shape of a resource, given its uri and a (custom) fetch function. @@ -21,13 +37,7 @@ export const resourceShape = ( const parser = new Parser(); - return response.text().then((body) => { - - const classes = new Store(parser.parse(body)).getQuads(null, DataFactory.namedNode('http://www.w3.org/1999/02/22-rdf-syntax-ns#type'), null, null).map((quad) => quad.object.value); - - return classes; - - }); + return response.text().then((body) => resourceShapeFromQuads(parser.parse(body))); }); diff --git a/packages/semcom-sdk/package-lock.json b/packages/semcom-sdk/package-lock.json index 09d519c4..5b90109a 100644 --- a/packages/semcom-sdk/package-lock.json +++ b/packages/semcom-sdk/package-lock.json @@ -1,6 +1,6 @@ { "name": "@digita-ai/semcom-sdk", - "version": "0.9.6", + "version": "0.11.0", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -491,18 +491,18 @@ } }, "@comunica/actor-abstract-mediatyped": { - "version": "1.21.1", - "resolved": "https://registry.npmjs.org/@comunica/actor-abstract-mediatyped/-/actor-abstract-mediatyped-1.21.1.tgz", - "integrity": "sha512-5LzWccqId3AfAeCPGqPkOiDATXrooXYLn58sNXDRdDUsRpL/jZ6be+7F000ZLTHnDRVCiLCXtb5P7984bBIzaA==", + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-abstract-mediatyped/-/actor-abstract-mediatyped-1.22.0.tgz", + "integrity": "sha512-+KQLPpx8GFqrhWFfuvrsA4Rjlfbo/QOIo2IvzSgmDwy6YVQZXaSQiNQv/BnrnedaFCf2ONV+w+PMLqXgzn8N9A==", "dev": true }, "@comunica/actor-http-native": { - "version": "1.21.1", - "resolved": "https://registry.npmjs.org/@comunica/actor-http-native/-/actor-http-native-1.21.1.tgz", - "integrity": "sha512-dJlBz8/nQgxH5ARkh8/092BbvQ8vaJ38hjWinLXXakmdj8WsVHnhUJ7/D4YtqY61bjwCBFekOLSPjfxKCEMRgA==", + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-http-native/-/actor-http-native-1.22.1.tgz", + "integrity": "sha512-BdB+hvQ9CJF9tI42hNhcvTMagOty+jw21LIQDJWI628xMcXZ88BJaUX0Ulc7g2nrWH97ZRm5+KjLC4Zf+OGwZg==", "dev": true, "requires": { - "@comunica/context-entries": "^1.21.1", + "@comunica/context-entries": "^1.22.0", "@types/parse-link-header": "^1.0.0", "cross-fetch": "^3.0.5", "follow-redirects": "^1.5.1", @@ -510,62 +510,62 @@ } }, "@comunica/actor-rdf-parse-html": { - "version": "1.21.1", - "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-html/-/actor-rdf-parse-html-1.21.1.tgz", - "integrity": "sha512-eZUExtLtC28nEMrECL2g3kmZjLmuY/Nu7S9p5NyvI60cwEjj1Rbf0aM9xqWLG5vuCiSKQz7MUobQ92WxtG6RHA==", + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-html/-/actor-rdf-parse-html-1.22.0.tgz", + "integrity": "sha512-U9pznSpQ1POSH+ekOke3lYKO0fsUbNdv1g1nfuWz/MV3xMCF/d2f3CVBjXRSx9qwyb/2zUrOjBCJRrYkfZ6geQ==", "dev": true, "requires": { - "@comunica/bus-rdf-parse-html": "^1.21.1", - "@types/rdf-js": "*", - "htmlparser2": "^6.0.0" + "@comunica/bus-rdf-parse-html": "^1.22.0", + "@rdfjs/types": "*", + "htmlparser2": "^7.0.0" } }, "@comunica/actor-rdf-parse-html-microdata": { - "version": "1.21.1", - "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-html-microdata/-/actor-rdf-parse-html-microdata-1.21.1.tgz", - "integrity": "sha512-50EjJ0HYiCdKEb2nebULLGkqLk9XZeLLSPCMDo+4Est65dGXcLkFPerBPTIlcrpOMmVXLry8F7m+fAtDQxUcmw==", + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-html-microdata/-/actor-rdf-parse-html-microdata-1.22.0.tgz", + "integrity": "sha512-OdB3Z7ZCtVAcsVU2Vs0ytGbiz0eYkeBwVA3k0vGVhSN3ygng5Thj+t8jxG6QWHlLvaIXfJFh0x57qY5tXkr8uQ==", "dev": true, "requires": { - "microdata-rdf-streaming-parser": "^1.1.0" + "microdata-rdf-streaming-parser": "^1.2.0" } }, "@comunica/actor-rdf-parse-html-rdfa": { - "version": "1.21.1", - "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-html-rdfa/-/actor-rdf-parse-html-rdfa-1.21.1.tgz", - "integrity": "sha512-37whUUn3LsvCV/kj37/ztAnBjGqKdGP8fLUpD3z8vDOg3ArhktPvWn+cB0ssU0DKSzsCTnCNujS7QoVyINPxJQ==", + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-html-rdfa/-/actor-rdf-parse-html-rdfa-1.22.0.tgz", + "integrity": "sha512-yVjYLpm9rbpPiqU1OE4Yioyk/YHtO6ywVMbdOPUNLeOwrtWou8vKX0Xh4UUR24Qrt8nuhE+p0kCJiZZtM1PmSQ==", "dev": true, "requires": { - "rdfa-streaming-parser": "^1.4.0" + "rdfa-streaming-parser": "^1.5.0" } }, "@comunica/actor-rdf-parse-html-script": { - "version": "1.21.1", - "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-html-script/-/actor-rdf-parse-html-script-1.21.1.tgz", - "integrity": "sha512-cM06ZEVpgj4/fLFrM8alRi0a4kh1XVY3vwWOyZXnkjVkIKp36Nc17Pw4+vM10z7D+x5VI/mZc0tGMohr8u7dcw==", + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-html-script/-/actor-rdf-parse-html-script-1.22.0.tgz", + "integrity": "sha512-gQSY56wkS/uftRyjQf+/dQFRpA/jZ6z2o2RgGbQc2avgKTkhaiTtPxpfO1oarLskm1sPlQOFo24ZwqUSqjOwcA==", "dev": true, "requires": { - "@comunica/bus-rdf-parse-html": "^1.21.1", - "@types/rdf-js": "*", + "@comunica/bus-rdf-parse-html": "^1.22.0", + "@rdfjs/types": "*", "relative-to-absolute-iri": "^1.0.5" } }, "@comunica/actor-rdf-parse-jsonld": { - "version": "1.21.1", - "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-jsonld/-/actor-rdf-parse-jsonld-1.21.1.tgz", - "integrity": "sha512-0pnZJUQ5bhaUwM7pQNr1afmoVKMmnYhJHdub9j/l2jAJWJFbVWucZI9z/g7r9Tek4SBS6PcM2+2sx8U9+WiiIA==", + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-jsonld/-/actor-rdf-parse-jsonld-1.22.1.tgz", + "integrity": "sha512-MFFhJ6eGyO40Be80zsFKAbRjkPXr80PvCqvVKsEstdv3u9C6GFV3nqZpCwvsVCz22IPQhW+rzb8ZyasmgHnurA==", "dev": true, "requires": { - "@comunica/context-entries": "^1.21.1", - "@types/rdf-js": "*", + "@comunica/context-entries": "^1.22.0", + "@rdfjs/types": "*", "jsonld-context-parser": "^2.1.2", - "jsonld-streaming-parser": "^2.3.0", + "jsonld-streaming-parser": "^2.4.0", "stream-to-string": "^1.2.0" } }, "@comunica/actor-rdf-parse-n3": { - "version": "1.21.1", - "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-n3/-/actor-rdf-parse-n3-1.21.1.tgz", - "integrity": "sha512-SFx/hkY0yr/TxfVdEecVg3DY2KOWPeGfM288CjDQjogx6Sxb6JuF9JaipNX8/twKVdBefGS9b1S9EyKpcr99Zg==", + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-n3/-/actor-rdf-parse-n3-1.22.0.tgz", + "integrity": "sha512-qHrGfh5k/pZa4imy7m9gJ1kt9aW1uxXqLDKnLKvR2l0m09YiEx/YOYWr1Wtu1YtH/Yyc13OX4mo/OwaE5PfrHQ==", "dev": true, "requires": { "@types/n3": "^1.4.4", @@ -573,104 +573,106 @@ } }, "@comunica/actor-rdf-parse-rdfxml": { - "version": "1.21.1", - "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-rdfxml/-/actor-rdf-parse-rdfxml-1.21.1.tgz", - "integrity": "sha512-fv5+DF5LagSJUayyQm7a917XQ9PNUfJVh2bqO/NlVfESXO8OFUAIySefW+j1y1JA0fpa5v1OnWTGAfdxGKnrUg==", + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-rdfxml/-/actor-rdf-parse-rdfxml-1.22.0.tgz", + "integrity": "sha512-k47WEAZ6qKEhf1eBZZeI5aVywlrUUKP3BKHw2zKJUjuWq5k+w/rp2WALCyt0Owtb37UlJbET3fTlUhXKvT+2aw==", "dev": true, "requires": { - "rdfxml-streaming-parser": "^1.4.0" + "rdfxml-streaming-parser": "^1.5.0" } }, "@comunica/actor-rdf-parse-xml-rdfa": { - "version": "1.21.1", - "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-xml-rdfa/-/actor-rdf-parse-xml-rdfa-1.21.1.tgz", - "integrity": "sha512-+9qyKJS+Ab3BWqrWnFU5CSgEDGtoGJpe19TzpymSXDP0aSAM6lnkZpCvT3EKi/Y8Bmw9xRXJZwemtxQK2y4SSQ==", + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-xml-rdfa/-/actor-rdf-parse-xml-rdfa-1.22.0.tgz", + "integrity": "sha512-y315YcZTz7AizKf8Jl022IocAJIh3OHSlzNrRNH3zB7i/ch+WHj1VL9pjIf6y77PD4BR75EdeoQCPafpm5Gsbg==", "dev": true, "requires": { - "rdfa-streaming-parser": "^1.3.0" + "rdfa-streaming-parser": "^1.5.0" } }, "@comunica/bus-http": { - "version": "1.21.1", - "resolved": "https://registry.npmjs.org/@comunica/bus-http/-/bus-http-1.21.1.tgz", - "integrity": "sha512-M6gi128ME+7uSnLPz4Bx3jgXhIb5/O7tODVHAtw9gt0z/9AAuYfmW9jqmcZ5Uwv3CCvJSvEc/m+dooCv35dTsA==", + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/@comunica/bus-http/-/bus-http-1.22.1.tgz", + "integrity": "sha512-CZ0NDWZH0k0FOshuRQJzYr3Z+2ZM1vqr9ZepONuaoYDwyKaxl29xPs3hNfjSy6YawjEQP+elr/WDc3TxKIpu8g==", "dev": true, "requires": { - "@comunica/context-entries": "^1.21.1", + "@comunica/context-entries": "^1.22.0", + "@types/readable-stream": "^2.3.11", "is-stream": "^2.0.0", + "readable-web-to-node-stream": "^3.0.2", "web-streams-node": "^0.4.0" } }, "@comunica/bus-init": { - "version": "1.21.1", - "resolved": "https://registry.npmjs.org/@comunica/bus-init/-/bus-init-1.21.1.tgz", - "integrity": "sha512-h8Gp/iJiyY8mbqhrbfLySwTXasjxmCX6kpM9RyXWqCBJzdx8Bfq6F/nYg2N+zpEJgyrn5zLdNgbBkcDetdeAmA==", + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-init/-/bus-init-1.22.0.tgz", + "integrity": "sha512-NIfEJLI8EYFdTWJB0PV/lxPagStPl+gUj3LtOnovcF1ZhC5rgcJSC/tq1r04n0TziY2KVangnLDsF4752LjD6g==", "dev": true }, "@comunica/bus-rdf-parse": { - "version": "1.21.1", - "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-parse/-/bus-rdf-parse-1.21.1.tgz", - "integrity": "sha512-JQD9Cgml/W+PCSEX3WulwxiQOdULFxAFDipLk69/J9WZxOj6emufxStM8M9R+pavbLaLYRcBQWgO0KLhEn/Rnw==", + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-parse/-/bus-rdf-parse-1.22.0.tgz", + "integrity": "sha512-ohZGlabX5K+dEmn+v4BzP+IZVyRc1ovWItHDLznnRqsHQr8W19WPG21lEFh5kk2MK4YnyQWmlUax1Yxrg7cbXg==", "dev": true, "requires": { - "@comunica/actor-abstract-mediatyped": "^1.21.1", - "@types/rdf-js": "*" + "@comunica/actor-abstract-mediatyped": "^1.22.0", + "@rdfjs/types": "*" } }, "@comunica/bus-rdf-parse-html": { - "version": "1.21.1", - "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-parse-html/-/bus-rdf-parse-html-1.21.1.tgz", - "integrity": "sha512-DJDFB8lxTJ1Pt+AhjOqe9hvj2nKtC23fJfEihU7DYIbz67O5pXAFgFtp9gn3gefoGB7T/CKoB8y8DcZy8N5u0A==", + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-parse-html/-/bus-rdf-parse-html-1.22.0.tgz", + "integrity": "sha512-zqdLdF5qvru1vnzN4t9eXpJhi6khKm1ZWhUovBB9pfYnnyGRCQCPlFpcgJPrD8JfKd6nTvhgdLB5QcAbBb1I0A==", "dev": true, "requires": { - "@types/rdf-js": "*" + "@rdfjs/types": "*" } }, "@comunica/context-entries": { - "version": "1.21.1", - "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-1.21.1.tgz", - "integrity": "sha512-7wBb+J+YLg4hcRQLFeP6/2b/xyK+lnQlc71OSjVMinQx1OO6tsjqlqHvQ6py56uVFs3cYduASgFuHTRVuoe1xA==", + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-1.22.0.tgz", + "integrity": "sha512-HOYr1HdhgavxABpw8saZa9pueLAeGVVd/6cZ3FWcYnH3CvfQu6Ima06Gd00QdIAiGjQm01qQcWCxp0xURiqLKg==", "dev": true }, "@comunica/core": { - "version": "1.21.1", - "resolved": "https://registry.npmjs.org/@comunica/core/-/core-1.21.1.tgz", - "integrity": "sha512-5lY/HkyOCorY2CtxQiKUKEOcUGjIKf/YG/txJrz84SKuy+zC91zq1Zt8qWfzNihCcWrgfmk0oZuvjbYvZGK4EA==", + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-1.22.0.tgz", + "integrity": "sha512-tgozygRFTd6t6l0YyvfVUWNC+KXWiTlBclkxtzFioQsplKvUSvg1TPjopRk8hhAvMaNRGMNBK2ZafNaqNTkI4w==", "dev": true, "requires": { - "@comunica/context-entries": "^1.21.1", - "@comunica/types": "^1.21.1", + "@comunica/context-entries": "^1.22.0", + "@comunica/types": "^1.22.0", "immutable": "^3.8.2" } }, "@comunica/mediator-combine-union": { - "version": "1.21.1", - "resolved": "https://registry.npmjs.org/@comunica/mediator-combine-union/-/mediator-combine-union-1.21.1.tgz", - "integrity": "sha512-wp2lbViVOOeNKTBRD+6sze7TKVX71T2RD324/1Syb8vOpwT3mtaDNJYFg0Mrwer/Xs54d7nA7JGZA2wC2HaXow==", + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/mediator-combine-union/-/mediator-combine-union-1.22.0.tgz", + "integrity": "sha512-iUHmEGgWVmk02e80uB7w8xZ5vgTLpiqzrImvbokolJzWcVbobVCUkq8DUxzz3FJbNVRGipZUFrOqkRPAuAX6FA==", "dev": true }, "@comunica/mediator-number": { - "version": "1.21.1", - "resolved": "https://registry.npmjs.org/@comunica/mediator-number/-/mediator-number-1.21.1.tgz", - "integrity": "sha512-OeuGx0R/mWI1uMMXM2V1vcR8J1DPhYXPR+Ncg4/qKHl7tSCQH1tlCgZu0+fovY2Qmc14f1tmw5YgnsE8lsikSQ==", + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/mediator-number/-/mediator-number-1.22.0.tgz", + "integrity": "sha512-KDPlJEvj0Lu+JygGXjnH8pf33k01lJ+wgzUlWK216jZJ1Px2lTlfc/COhSqi/e0y+k4ZSBcxx0gnjt2awMpbrQ==", "dev": true }, "@comunica/mediator-race": { - "version": "1.21.1", - "resolved": "https://registry.npmjs.org/@comunica/mediator-race/-/mediator-race-1.21.1.tgz", - "integrity": "sha512-SgdtF1JmqDyhZJsAOiVMPuV1qgdXqv/hbsFCxcmDQ+8q1ObmQ+0DZvdUe5Ymf2IyFaevsOHHG7hF5hJbLZmdmQ==", + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/mediator-race/-/mediator-race-1.22.0.tgz", + "integrity": "sha512-hIMaHyf9M4jOS0199OURSVgWFmzkyF2K2keuAb+iHoCH3UUcUnWjPOL1TrdkxvaUnrxmsBWR9SXbnqgMnhIsiQ==", "dev": true }, "@comunica/types": { - "version": "1.21.1", - "resolved": "https://registry.npmjs.org/@comunica/types/-/types-1.21.1.tgz", - "integrity": "sha512-Sdp8m9yvKbcCSx31L4nLe0tORCRc1TvUXSgpIUVGBXunqZpoWAhxcn2PZn7//xb6xnYUjHqrQZhYQbMdDIqONQ==", + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-1.22.0.tgz", + "integrity": "sha512-ZQ8p+ZvMAKmdq6Hz2QwqIQ2JScwRMotiWz0iSw2zYHsYQOhVmLg7HSMzMHpWNEA5UWzO/A5A+Co/ONXMhlnx3g==", "dev": true, "requires": { - "@types/rdf-js": "*", - "asynciterator": "^3.1.0", + "@rdfjs/types": "*", + "asynciterator": "^3.2.0", "immutable": "^3.8.2", - "sparqlalgebrajs": "^2.4.0" + "sparqlalgebrajs": "^3.0.1" } }, "@dabh/diagnostics": { @@ -955,31 +957,40 @@ } }, "@nodelib/fs.scandir": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz", - "integrity": "sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==", + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dev": true, "requires": { - "@nodelib/fs.stat": "2.0.4", + "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" } }, "@nodelib/fs.stat": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz", - "integrity": "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", "dev": true }, "@nodelib/fs.walk": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz", - "integrity": "sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==", + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dev": true, "requires": { - "@nodelib/fs.scandir": "2.1.4", + "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" } }, + "@rdfjs/types": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@rdfjs/types/-/types-1.0.1.tgz", + "integrity": "sha512-YxVkH0XrCNG3MWeZxfg596GFe+oorTVusmNxRP6ZHTsGczZ8AGvG3UchRNkg3Fy4MyysI7vBAA5YZbESL+VmHQ==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, "@sinonjs/commons": { "version": "1.8.3", "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz", @@ -1055,9 +1066,9 @@ } }, "@types/http-link-header": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@types/http-link-header/-/http-link-header-1.0.2.tgz", - "integrity": "sha512-rWvCGMtwx+01LFVpLbSYagloSMgqDwfzLSx9JcwUEkJWo4oDBKihp6X92Ff5tIS4VE5ojV4wH6iMnAnr/TZhhg==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@types/http-link-header/-/http-link-header-1.0.3.tgz", + "integrity": "sha512-y8HkoD/vyid+5MrJ3aas0FvU3/BVBGcyG9kgxL0Zn4JwstA8CglFPnrR0RuzOjRCXwqzL5uxWC2IO7Ub0rMU2A==", "dev": true, "requires": { "@types/node": "*" @@ -1098,25 +1109,25 @@ } }, "@types/lru-cache": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@types/lru-cache/-/lru-cache-5.1.0.tgz", - "integrity": "sha512-RaE0B+14ToE4l6UqdarKPnXwVDuigfFv+5j9Dze/Nqr23yyuqdNvzcZi3xB+3Agvi5R4EOgAksfv3lXX4vBt9w==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@types/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==", "dev": true }, "@types/minimist": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.1.tgz", - "integrity": "sha512-fZQQafSREFyuZcdWFAExYjBiCL7AUCdgsk80iO0q4yihYYdcIiH28CcuPTGFgLOCC8RlW49GSQxdHwZP+I7CNg==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", + "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==", "dev": true }, "@types/n3": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/@types/n3/-/n3-1.8.0.tgz", - "integrity": "sha512-uyVeuz1TmdmKORidY0+hSfhonXgMk/hzpTnfZXG4HmQdXdykeoi7ohVxmAfYX21aaIcx9wJr1nqRN1griAOMPw==", + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@types/n3/-/n3-1.10.0.tgz", + "integrity": "sha512-PTr6D6IV3l+dG0Og6E2vHVyXNAyOjEPEz1si3htgo9bkgjIj+9HDS68cbXjAxH7P5bDzyL1Cu5yaHZwjKYtLAw==", "dev": true, "requires": { "@types/node": "*", - "@types/rdf-js": "*" + "rdf-js": "^4.0.2" } }, "@types/node": { @@ -1138,9 +1149,9 @@ "dev": true }, "@types/parse-link-header": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/parse-link-header/-/parse-link-header-1.0.0.tgz", - "integrity": "sha512-fCA3btjE7QFeRLfcD0Sjg+6/CnmC66HpMBoRfRzd2raTaWMJV21CCZ0LO8MOqf8onl5n0EPfjq4zDhbyX8SVwA==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/parse-link-header/-/parse-link-header-1.0.1.tgz", + "integrity": "sha512-E2+Go9rQgPbmpkeA2iFXTWSTxX38KXlXwcdiIbt71Oorqr+G5QtH4AhpuDdxwRVyiTzdUrHnaaIumW/LhiZwVg==", "dev": true }, "@types/prettier": { @@ -1158,12 +1169,31 @@ "@types/node": "*" } }, + "@types/readable-stream": { + "version": "2.3.12", + "resolved": "https://registry.npmjs.org/@types/readable-stream/-/readable-stream-2.3.12.tgz", + "integrity": "sha512-IVe0ietigIRWjRg0gv2sydr0rhyPzdXQsBMU/gda8fl82xQL+J9UWRBcD0asxoe4pb5wTOsPrOz0KYJZVCXZJQ==", + "dev": true, + "requires": { + "@types/node": "*", + "safe-buffer": "*" + } + }, "@types/semver": { - "version": "7.3.6", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.6.tgz", - "integrity": "sha512-0caWDWmpCp0uifxFh+FaqK3CuZ2SkRR/ZRxAV5+zNdC3QVUi6wyOJnefhPvtNt8NQWXB5OA93BUvZsXpWat2Xw==", + "version": "7.3.9", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.9.tgz", + "integrity": "sha512-L/TMpyURfBkf+o/526Zb6kd/tchUP3iBDEPjqjb+U2MAJhVRxxrmr2fwpe08E7QsV7YLcpq0tUaQ9O9x97ZIxQ==", "dev": true }, + "@types/sparqljs": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@types/sparqljs/-/sparqljs-3.1.3.tgz", + "integrity": "sha512-nmFgmR6ns4i8sg9fYu+293H+PMLKmDOZy34sgwgAeUEEiIqSs4guj5aCZRt3gq1g0yuKXkqrxLDq/684g7pGtQ==", + "dev": true, + "requires": { + "rdf-js": "^4.0.2" + } + }, "@types/stack-utils": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.0.tgz", @@ -1186,19 +1216,19 @@ "dev": true }, "@typescript-eslint/types": { - "version": "4.26.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.26.0.tgz", - "integrity": "sha512-rADNgXl1kS/EKnDr3G+m7fB9yeJNnR9kF7xMiXL6mSIWpr3Wg5MhxyfEXy/IlYthsqwBqHOr22boFbf/u6O88A==", + "version": "4.33.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.33.0.tgz", + "integrity": "sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "4.26.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.26.0.tgz", - "integrity": "sha512-GHUgahPcm9GfBuy3TzdsizCcPjKOAauG9xkz9TR8kOdssz2Iz9jRCSQm6+aVFa23d5NcSpo1GdHGSQKe0tlcbg==", + "version": "4.33.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.33.0.tgz", + "integrity": "sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA==", "dev": true, "requires": { - "@typescript-eslint/types": "4.26.0", - "@typescript-eslint/visitor-keys": "4.26.0", + "@typescript-eslint/types": "4.33.0", + "@typescript-eslint/visitor-keys": "4.33.0", "debug": "^4.3.1", "globby": "^11.0.3", "is-glob": "^4.0.1", @@ -1207,12 +1237,12 @@ } }, "@typescript-eslint/visitor-keys": { - "version": "4.26.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.26.0.tgz", - "integrity": "sha512-cw4j8lH38V1ycGBbF+aFiLUls9Z0Bw8QschP3mkth50BbWzgFS33ISIgBzUMuQ2IdahoEv/rXstr8Zhlz4B1Zg==", + "version": "4.33.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.33.0.tgz", + "integrity": "sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg==", "dev": true, "requires": { - "@typescript-eslint/types": "4.26.0", + "@typescript-eslint/types": "4.33.0", "eslint-visitor-keys": "^2.0.0" } }, @@ -1387,15 +1417,15 @@ "dev": true }, "async": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.0.tgz", - "integrity": "sha512-TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw==", + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.2.tgz", + "integrity": "sha512-H0E+qZaDEfx/FY4t7iLRv1W2fFI6+pyCeTw1uN20AQPiwqwM6ojPxHxdLv4z8hi2DtnW9BOckSspLucW7pIE5g==", "dev": true }, "asynciterator": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/asynciterator/-/asynciterator-3.1.0.tgz", - "integrity": "sha512-+iDz8roOCGT+hvhhJ+GsQliEEB4Qd1QL1RIsllssZ3MkrtBGqc5Uwi3n5LcLp2f3rXRK07+qJPZQO+YvFCQzug==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/asynciterator/-/asynciterator-3.2.1.tgz", + "integrity": "sha512-sVOetIEbK8Rs13+l/RGAGjaGem8nihMsBiRpH+Sb4B1s8nWQsiWU2Xj+rk5wnJ/MhFP9O+y1ObEg3AufA2EzSQ==", "dev": true }, "asynckit": { @@ -1654,9 +1684,9 @@ "dev": true }, "canonicalize": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/canonicalize/-/canonicalize-1.0.5.tgz", - "integrity": "sha512-mAjKJPIyP0xqqv6IAkvso07StOmz6cmGtNDg3pXCSzXVZOqka7StIkAhJl/zHOi4M2CgpYfD6aeRWbnrmtvBEA==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/canonicalize/-/canonicalize-1.0.8.tgz", + "integrity": "sha512-0CNTVCLZggSh7bc5VkX5WWPWO+cyZbNd07IHIsSXLia/eAq+r836hgk+8BKoEh7949Mda87VUOitx5OddVj64A==", "dev": true }, "capture-exit": { @@ -1791,13 +1821,13 @@ } }, "color": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/color/-/color-3.0.0.tgz", - "integrity": "sha512-jCpd5+s0s0t7p3pHQKpnJ0TpQKKdleP71LWcA0aqiljpiuAkOSUFN/dyH8ZwF0hRmFlrIuRhufds1QyEP9EB+w==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", + "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", "dev": true, "requires": { - "color-convert": "^1.9.1", - "color-string": "^1.5.2" + "color-convert": "^1.9.3", + "color-string": "^1.6.0" }, "dependencies": { "color-convert": { @@ -1833,9 +1863,9 @@ "dev": true }, "color-string": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.5.tgz", - "integrity": "sha512-jgIoum0OfQfq9Whcfc2z/VhCNcmQjWbey6qBX0vqt7YICflUmBCh9E9CiQD5GSJ+Uehixm3NUwHVhqUAWRivZg==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.0.tgz", + "integrity": "sha512-9Mrz2AQLefkH1UvASKj6v6hj/7eWgjnT/cVsR8CumieLoT+g900exWeNogqtweI8dxloXN9BDQTYro1oWu/5CQ==", "dev": true, "requires": { "color-name": "^1.0.0", @@ -1855,12 +1885,12 @@ "dev": true }, "colorspace": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/colorspace/-/colorspace-1.1.2.tgz", - "integrity": "sha512-vt+OoIP2d76xLhjwbBaucYlNSpPsrJWPlBTtwCpQKIu6/CSMutyzX93O/Do0qzpH3YoHEes8YEFXyZ797rEhzQ==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/colorspace/-/colorspace-1.1.4.tgz", + "integrity": "sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w==", "dev": true, "requires": { - "color": "3.0.x", + "color": "^3.1.3", "text-hex": "1.0.x" } }, @@ -1892,41 +1922,493 @@ "dev": true }, "componentsjs": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/componentsjs/-/componentsjs-4.0.5.tgz", - "integrity": "sha512-vmeb6BGqks+y92k3oW9LIjX2HVabZUj+CgPqvROjMmmjP6JZkZEoRShBGNEXV9bVOufHz67iAlYo5D6EMS0Udw==", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/componentsjs/-/componentsjs-4.5.0.tgz", + "integrity": "sha512-0F473HDUFfizVXZH1KBP4jmZRBAqYdVdpGhaNmHFmla/AB76B8NN7hQk7YDGaKkESl9zYqQ6kF3i8UgJBQ+rtg==", "dev": true, "requires": { + "@rdfjs/types": "*", "@types/minimist": "^1.2.0", "@types/node": "^14.14.7", - "@types/rdf-js": "*", "@types/semver": "^7.3.4", "jsonld-context-parser": "^2.1.1", "minimist": "^1.2.0", - "rdf-data-factory": "^1.0.4", - "rdf-object": "^1.8.0", - "rdf-parse": "^1.7.0", + "rdf-data-factory": "^1.1.0", + "rdf-object": "^1.11.1", + "rdf-parse": "^1.9.1", "rdf-quad": "^1.5.0", - "rdf-terms": "^1.6.2", + "rdf-terms": "^1.7.0", "semver": "^7.3.2", "winston": "^3.3.3" } }, "componentsjs-generator": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/componentsjs-generator/-/componentsjs-generator-2.1.0.tgz", - "integrity": "sha512-anyw6eZtXEpMkHX0feRw1DVxEdLGZWtnCN5PHTDZy6uz+7IzzMzLrl8Td9PULO6+XD8U8N4lZQRMnqDeszSD2Q==", + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/componentsjs-generator/-/componentsjs-generator-2.6.1.tgz", + "integrity": "sha512-WA8UNWbBbTmJmC5IxP/N+TJz/XBPfpdzlnzRB5fS2vOmZbwul54/kTxl2V+jjEh/k7Nyh8oKFd/4kE9ZRFSChA==", "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", + "componentsjs": "^4.4.0", "jsonld-context-parser": "^2.0.2", "lru-cache": "^6.0.0", "minimist": "^1.2.5", "semver": "^7.3.2" + }, + "dependencies": { + "@comunica/actor-abstract-mediatyped": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-abstract-mediatyped/-/actor-abstract-mediatyped-1.22.0.tgz", + "integrity": "sha512-+KQLPpx8GFqrhWFfuvrsA4Rjlfbo/QOIo2IvzSgmDwy6YVQZXaSQiNQv/BnrnedaFCf2ONV+w+PMLqXgzn8N9A==", + "dev": true + }, + "@comunica/actor-http-native": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-http-native/-/actor-http-native-1.22.0.tgz", + "integrity": "sha512-4EUY+iCnq51vzX850JnV2nZpgtM3G29spy/SMjBx9xZ4snU4AHACZifDm1jkos60wxEzoP89iagcztcRrv71kA==", + "dev": true, + "requires": { + "@comunica/context-entries": "^1.22.0", + "@types/parse-link-header": "^1.0.0", + "cross-fetch": "^3.0.5", + "follow-redirects": "^1.5.1", + "parse-link-header": "^1.0.1" + } + }, + "@comunica/actor-rdf-parse-html": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-html/-/actor-rdf-parse-html-1.22.0.tgz", + "integrity": "sha512-U9pznSpQ1POSH+ekOke3lYKO0fsUbNdv1g1nfuWz/MV3xMCF/d2f3CVBjXRSx9qwyb/2zUrOjBCJRrYkfZ6geQ==", + "dev": true, + "requires": { + "@comunica/bus-rdf-parse-html": "^1.22.0", + "@rdfjs/types": "*", + "htmlparser2": "^7.0.0" + } + }, + "@comunica/actor-rdf-parse-html-microdata": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-html-microdata/-/actor-rdf-parse-html-microdata-1.22.0.tgz", + "integrity": "sha512-OdB3Z7ZCtVAcsVU2Vs0ytGbiz0eYkeBwVA3k0vGVhSN3ygng5Thj+t8jxG6QWHlLvaIXfJFh0x57qY5tXkr8uQ==", + "dev": true, + "requires": { + "microdata-rdf-streaming-parser": "^1.2.0" + } + }, + "@comunica/actor-rdf-parse-html-rdfa": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-html-rdfa/-/actor-rdf-parse-html-rdfa-1.22.0.tgz", + "integrity": "sha512-yVjYLpm9rbpPiqU1OE4Yioyk/YHtO6ywVMbdOPUNLeOwrtWou8vKX0Xh4UUR24Qrt8nuhE+p0kCJiZZtM1PmSQ==", + "dev": true, + "requires": { + "rdfa-streaming-parser": "^1.5.0" + } + }, + "@comunica/actor-rdf-parse-html-script": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-html-script/-/actor-rdf-parse-html-script-1.22.0.tgz", + "integrity": "sha512-gQSY56wkS/uftRyjQf+/dQFRpA/jZ6z2o2RgGbQc2avgKTkhaiTtPxpfO1oarLskm1sPlQOFo24ZwqUSqjOwcA==", + "dev": true, + "requires": { + "@comunica/bus-rdf-parse-html": "^1.22.0", + "@rdfjs/types": "*", + "relative-to-absolute-iri": "^1.0.5" + } + }, + "@comunica/actor-rdf-parse-jsonld": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-jsonld/-/actor-rdf-parse-jsonld-1.22.0.tgz", + "integrity": "sha512-cWUQOfJ2k4Ggx3MaHspJAxO5qHWA42FDMoZlpKw00+9bNYJajVpmLqZ8vd6FWo8BhBTKUgCa27QCxlCcbJjjdA==", + "dev": true, + "requires": { + "@comunica/context-entries": "^1.22.0", + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.1.2", + "jsonld-streaming-parser": "^2.4.0", + "stream-to-string": "^1.2.0" + } + }, + "@comunica/actor-rdf-parse-n3": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-n3/-/actor-rdf-parse-n3-1.22.0.tgz", + "integrity": "sha512-qHrGfh5k/pZa4imy7m9gJ1kt9aW1uxXqLDKnLKvR2l0m09YiEx/YOYWr1Wtu1YtH/Yyc13OX4mo/OwaE5PfrHQ==", + "dev": true, + "requires": { + "@types/n3": "^1.4.4", + "n3": "^1.6.3" + } + }, + "@comunica/actor-rdf-parse-rdfxml": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-rdfxml/-/actor-rdf-parse-rdfxml-1.22.0.tgz", + "integrity": "sha512-k47WEAZ6qKEhf1eBZZeI5aVywlrUUKP3BKHw2zKJUjuWq5k+w/rp2WALCyt0Owtb37UlJbET3fTlUhXKvT+2aw==", + "dev": true, + "requires": { + "rdfxml-streaming-parser": "^1.5.0" + } + }, + "@comunica/actor-rdf-parse-xml-rdfa": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/actor-rdf-parse-xml-rdfa/-/actor-rdf-parse-xml-rdfa-1.22.0.tgz", + "integrity": "sha512-y315YcZTz7AizKf8Jl022IocAJIh3OHSlzNrRNH3zB7i/ch+WHj1VL9pjIf6y77PD4BR75EdeoQCPafpm5Gsbg==", + "dev": true, + "requires": { + "rdfa-streaming-parser": "^1.5.0" + } + }, + "@comunica/bus-http": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-http/-/bus-http-1.22.0.tgz", + "integrity": "sha512-hslwWJiu7pbPPGXye8NQnYeBoTdiPSpr51oZf4fj5jTxHPLJEbnika7+anYncQsW+amHYAmaDqJDwEQJIQYQog==", + "dev": true, + "requires": { + "@comunica/context-entries": "^1.22.0", + "is-stream": "^2.0.0", + "web-streams-node": "^0.4.0" + } + }, + "@comunica/bus-init": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-init/-/bus-init-1.22.0.tgz", + "integrity": "sha512-NIfEJLI8EYFdTWJB0PV/lxPagStPl+gUj3LtOnovcF1ZhC5rgcJSC/tq1r04n0TziY2KVangnLDsF4752LjD6g==", + "dev": true + }, + "@comunica/bus-rdf-parse": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-parse/-/bus-rdf-parse-1.22.0.tgz", + "integrity": "sha512-ohZGlabX5K+dEmn+v4BzP+IZVyRc1ovWItHDLznnRqsHQr8W19WPG21lEFh5kk2MK4YnyQWmlUax1Yxrg7cbXg==", + "dev": true, + "requires": { + "@comunica/actor-abstract-mediatyped": "^1.22.0", + "@rdfjs/types": "*" + } + }, + "@comunica/bus-rdf-parse-html": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/bus-rdf-parse-html/-/bus-rdf-parse-html-1.22.0.tgz", + "integrity": "sha512-zqdLdF5qvru1vnzN4t9eXpJhi6khKm1ZWhUovBB9pfYnnyGRCQCPlFpcgJPrD8JfKd6nTvhgdLB5QcAbBb1I0A==", + "dev": true, + "requires": { + "@rdfjs/types": "*" + } + }, + "@comunica/context-entries": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/context-entries/-/context-entries-1.22.0.tgz", + "integrity": "sha512-HOYr1HdhgavxABpw8saZa9pueLAeGVVd/6cZ3FWcYnH3CvfQu6Ima06Gd00QdIAiGjQm01qQcWCxp0xURiqLKg==", + "dev": true + }, + "@comunica/core": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/core/-/core-1.22.0.tgz", + "integrity": "sha512-tgozygRFTd6t6l0YyvfVUWNC+KXWiTlBclkxtzFioQsplKvUSvg1TPjopRk8hhAvMaNRGMNBK2ZafNaqNTkI4w==", + "dev": true, + "requires": { + "@comunica/context-entries": "^1.22.0", + "@comunica/types": "^1.22.0", + "immutable": "^3.8.2" + } + }, + "@comunica/mediator-combine-union": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/mediator-combine-union/-/mediator-combine-union-1.22.0.tgz", + "integrity": "sha512-iUHmEGgWVmk02e80uB7w8xZ5vgTLpiqzrImvbokolJzWcVbobVCUkq8DUxzz3FJbNVRGipZUFrOqkRPAuAX6FA==", + "dev": true + }, + "@comunica/mediator-number": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/mediator-number/-/mediator-number-1.22.0.tgz", + "integrity": "sha512-KDPlJEvj0Lu+JygGXjnH8pf33k01lJ+wgzUlWK216jZJ1Px2lTlfc/COhSqi/e0y+k4ZSBcxx0gnjt2awMpbrQ==", + "dev": true + }, + "@comunica/mediator-race": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/mediator-race/-/mediator-race-1.22.0.tgz", + "integrity": "sha512-hIMaHyf9M4jOS0199OURSVgWFmzkyF2K2keuAb+iHoCH3UUcUnWjPOL1TrdkxvaUnrxmsBWR9SXbnqgMnhIsiQ==", + "dev": true + }, + "@comunica/types": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@comunica/types/-/types-1.22.0.tgz", + "integrity": "sha512-ZQ8p+ZvMAKmdq6Hz2QwqIQ2JScwRMotiWz0iSw2zYHsYQOhVmLg7HSMzMHpWNEA5UWzO/A5A+Co/ONXMhlnx3g==", + "dev": true, + "requires": { + "@rdfjs/types": "*", + "asynciterator": "^3.2.0", + "immutable": "^3.8.2", + "sparqlalgebrajs": "^3.0.1" + } + }, + "asynciterator": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/asynciterator/-/asynciterator-3.2.0.tgz", + "integrity": "sha512-gVrDh9bNDA0TJPTKNFqb0A1je+VBBeS6D18oR92volMcLYN0qizAfOZXH3lmun5XNUim4oIlXWkGoR8mDZlwdg==", + "dev": true + }, + "componentsjs": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/componentsjs/-/componentsjs-4.5.0.tgz", + "integrity": "sha512-0F473HDUFfizVXZH1KBP4jmZRBAqYdVdpGhaNmHFmla/AB76B8NN7hQk7YDGaKkESl9zYqQ6kF3i8UgJBQ+rtg==", + "dev": true, + "requires": { + "@rdfjs/types": "*", + "@types/minimist": "^1.2.0", + "@types/node": "^14.14.7", + "@types/semver": "^7.3.4", + "jsonld-context-parser": "^2.1.1", + "minimist": "^1.2.0", + "rdf-data-factory": "^1.1.0", + "rdf-object": "^1.11.1", + "rdf-parse": "^1.9.1", + "rdf-quad": "^1.5.0", + "rdf-terms": "^1.7.0", + "semver": "^7.3.2", + "winston": "^3.3.3" + } + }, + "domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dev": true, + "requires": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + } + }, + "entities": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz", + "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==", + "dev": true + }, + "htmlparser2": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-7.1.1.tgz", + "integrity": "sha512-hZb0lfG0hbhR/hB879zbBr8Opv0Be9Zp+JYHgqTw5epF++aotu/zmMTPLy/60iJyR1MaD/3pYRp7xYteXsZMEA==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.8.0", + "entities": "^3.0.1" + } + }, + "jsonld-streaming-parser": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonld-streaming-parser/-/jsonld-streaming-parser-2.4.0.tgz", + "integrity": "sha512-bDXUcHgeoEXX3uNNO9L9zsx/HEO9X4yxHi14Xfd6yS7kuaXqcUzKB6QaeJFwEoQAJB5v4XoXU/bcOcErWaEPLg==", + "dev": true, + "requires": { + "@rdfjs/types": "*", + "@types/http-link-header": "^1.0.1", + "canonicalize": "^1.0.1", + "http-link-header": "^1.0.2", + "jsonld-context-parser": "^2.1.3", + "jsonparse": "^1.3.1", + "rdf-data-factory": "^1.1.0" + }, + "dependencies": { + "@types/node": { + "version": "13.13.52", + "resolved": "https://registry.npmjs.org/@types/node/-/node-13.13.52.tgz", + "integrity": "sha512-s3nugnZumCC//n4moGGe6tkNMyYEdaDBitVjwPxXmR5lnMG5dHePinH2EdxkG3Rh1ghFHHixAG4NJhpJW1rthQ==", + "dev": true + }, + "jsonld-context-parser": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/jsonld-context-parser/-/jsonld-context-parser-2.1.5.tgz", + "integrity": "sha512-rsu5hB6bADa511l0QhG4lndAqlN7PQ4wsS0UKqLWUKg1GUQqYmh2SNfbwXiRiHZRJqhvCNqv9/5tQ3zzk4hMtg==", + "dev": true, + "requires": { + "@types/http-link-header": "^1.0.1", + "@types/node": "^13.1.0", + "canonicalize": "^1.0.1", + "cross-fetch": "^3.0.6", + "http-link-header": "^1.0.2", + "relative-to-absolute-iri": "^1.0.5" + } + } + } + }, + "microdata-rdf-streaming-parser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/microdata-rdf-streaming-parser/-/microdata-rdf-streaming-parser-1.2.0.tgz", + "integrity": "sha512-cMLNLEcS0mPaiA9iwq6BnsQK9sx2uBwjpRZIEvMRBNJpbvV58f8AFtPeYzNFh3OPyX9B49NYJ77bB0jNAUCurw==", + "dev": true, + "requires": { + "@rdfjs/types": "*", + "htmlparser2": "^6.0.0", + "rdf-data-factory": "^1.1.0", + "relative-to-absolute-iri": "^1.0.2" + }, + "dependencies": { + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true + }, + "htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" + } + } + } + }, + "rdf-data-factory": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/rdf-data-factory/-/rdf-data-factory-1.1.0.tgz", + "integrity": "sha512-g8feOVZ/KL1OK2Pco/jDBDFh4m29QDsOOD+rWloG9qFvIzRFchGy2CviLUX491E0ByewXxMpaq/A3zsWHQA16A==", + "dev": true, + "requires": { + "@rdfjs/types": "*" + } + }, + "rdf-isomorphic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/rdf-isomorphic/-/rdf-isomorphic-1.3.0.tgz", + "integrity": "sha512-3BRwUwCNHHR8//bqmVH+knTFVbVfkp7CWyQk7qPHHA8JriXBYxrab21OomjJx/2KF21w8bWz344mgNYEaQABYQ==", + "dev": true, + "requires": { + "@rdfjs/types": "*", + "hash.js": "^1.1.7", + "rdf-string": "^1.6.0", + "rdf-terms": "^1.7.0" + } + }, + "rdf-object": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/rdf-object/-/rdf-object-1.11.1.tgz", + "integrity": "sha512-YMCZKa/2jEZjku1KfE2ODqLQo3DlKHexPwVK8el25L2RITFhdd7NUHw4TyEstrNzLje9IrbKP/ISUfsPLhoobw==", + "dev": true, + "requires": { + "@rdfjs/types": "*", + "jsonld-context-parser": "^2.0.2", + "rdf-data-factory": "^1.1.0", + "rdf-string": "^1.6.0", + "streamify-array": "^1.0.1" + } + }, + "rdf-parse": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/rdf-parse/-/rdf-parse-1.9.1.tgz", + "integrity": "sha512-W6ouYE+ufmCNFmXD1iGs5gUZH75jZekh/I5qF8a4Sl37BUc9mY0Jz5A0CV1tiKKhx+I+HYfxyX9VjOljD8rzgQ==", + "dev": true, + "requires": { + "@comunica/actor-http-native": "~1.22.0", + "@comunica/actor-rdf-parse-html": "~1.22.0", + "@comunica/actor-rdf-parse-html-microdata": "~1.22.0", + "@comunica/actor-rdf-parse-html-rdfa": "~1.22.0", + "@comunica/actor-rdf-parse-html-script": "~1.22.0", + "@comunica/actor-rdf-parse-jsonld": "^1.22.0", + "@comunica/actor-rdf-parse-n3": "~1.22.0", + "@comunica/actor-rdf-parse-rdfxml": "~1.22.0", + "@comunica/actor-rdf-parse-xml-rdfa": "~1.22.0", + "@comunica/bus-http": "~1.22.0", + "@comunica/bus-init": "~1.22.0", + "@comunica/bus-rdf-parse": "~1.22.0", + "@comunica/bus-rdf-parse-html": "~1.22.0", + "@comunica/core": "~1.22.0", + "@comunica/mediator-combine-union": "~1.22.0", + "@comunica/mediator-number": "~1.22.0", + "@comunica/mediator-race": "~1.22.0", + "@rdfjs/types": "*", + "stream-to-string": "^1.2.0" + } + }, + "rdf-string": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/rdf-string/-/rdf-string-1.6.0.tgz", + "integrity": "sha512-6vQVlEobIHralPtx8V9vtgxA+fwnzZjZv6lRz8dfymILZF6Fl3QJwyRaOAvYaUQc1JMmshGI/wlYlaxin2AldQ==", + "dev": true, + "requires": { + "@rdfjs/types": "*", + "rdf-data-factory": "^1.1.0" + } + }, + "rdf-terms": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/rdf-terms/-/rdf-terms-1.7.0.tgz", + "integrity": "sha512-K83ACD+MuWFS3mNxwCRNYQAmc/Z9iK7PgqJq9N4VP8sUVlP7ioB2pPNQHKHy0IQh4RTkEq6fg4R4q7YlweLBZQ==", + "dev": true, + "requires": { + "@rdfjs/types": "*", + "lodash.uniqwith": "^4.5.0", + "rdf-data-factory": "^1.1.0" + } + }, + "rdfa-streaming-parser": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/rdfa-streaming-parser/-/rdfa-streaming-parser-1.5.0.tgz", + "integrity": "sha512-A+Kl0vbRQKK3SqgWdCiR48Hi75LK6z6glPdGcbLXMw6qMRcLeIKe4p6yFkPXpbwtegmOa94uaxeLs5HMdo66AQ==", + "dev": true, + "requires": { + "@rdfjs/types": "*", + "htmlparser2": "^6.0.0", + "rdf-data-factory": "^1.1.0", + "relative-to-absolute-iri": "^1.0.2" + }, + "dependencies": { + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true + }, + "htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" + } + } + } + }, + "rdfxml-streaming-parser": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/rdfxml-streaming-parser/-/rdfxml-streaming-parser-1.5.0.tgz", + "integrity": "sha512-pnt+7NgeqCMd2/rub+dqxzYJhZwJjBNU2BRwyYdCTmRZu2fr795jCPJB6Io5pjPzAt29ASqy+ODBSRMDKoKGbQ==", + "dev": true, + "requires": { + "@rdfjs/types": "*", + "rdf-data-factory": "^1.1.0", + "relative-to-absolute-iri": "^1.0.0", + "sax": "^1.2.4" + } + }, + "sparqlalgebrajs": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/sparqlalgebrajs/-/sparqlalgebrajs-3.0.3.tgz", + "integrity": "sha512-XFNhsO55bprayrM35h/jY0kzzuGc3oZ1On3kc+s7Un0BFQBXa046aLcMZFp4MYSvn7GtMe9eZ08ONFnBH5kEsQ==", + "dev": true, + "requires": { + "@rdfjs/types": "*", + "@types/sparqljs": "^3.1.2", + "fast-deep-equal": "^3.1.3", + "minimist": "^1.2.5", + "rdf-data-factory": "^1.1.0", + "rdf-isomorphic": "^1.3.0", + "rdf-string": "^1.6.0", + "sparqljs": "^3.4.2" + } + } } }, "concat-map": { @@ -1959,9 +2441,9 @@ "dev": true }, "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", "dev": true }, "cosmiconfig": { @@ -2182,6 +2664,14 @@ "domelementtype": "^2.0.1", "domhandler": "^4.2.0", "entities": "^2.0.0" + }, + "dependencies": { + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true + } } }, "domelementtype": { @@ -2208,18 +2698,18 @@ } }, "domhandler": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.0.tgz", - "integrity": "sha512-zk7sgt970kzPks2Bf+dwT/PLzghLnsivb9CcxkvR8Mzr66Olr0Ofd8neSbglHJHaHa2MadfoSdNlKYAaafmWfA==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.0.tgz", + "integrity": "sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g==", "dev": true, "requires": { "domelementtype": "^2.2.0" } }, "domutils": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.6.0.tgz", - "integrity": "sha512-y0BezHuy4MDYxh6OvolXYsH+1EMGmFbwv5FKW7ovwMG6zTPWqNPq3WF9ayZssFq+UlKdffGLbOEaghNdaOm1WA==", + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", "dev": true, "requires": { "dom-serializer": "^1.0.1", @@ -2270,9 +2760,9 @@ } }, "entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz", + "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==", "dev": true }, "error-ex": { @@ -2770,17 +3260,16 @@ "dev": true }, "fast-glob": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz", - "integrity": "sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==", + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", + "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", "dev": true, "requires": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.0", + "glob-parent": "^5.1.2", "merge2": "^1.3.0", - "micromatch": "^4.0.2", - "picomatch": "^2.2.1" + "micromatch": "^4.0.4" } }, "fast-json-stable-stringify": { @@ -2795,16 +3284,10 @@ "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", "dev": true }, - "fast-safe-stringify": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz", - "integrity": "sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA==", - "dev": true - }, "fastq": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.11.0.tgz", - "integrity": "sha512-7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g==", + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", + "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", "dev": true, "requires": { "reusify": "^1.0.4" @@ -2887,9 +3370,9 @@ "dev": true }, "follow-redirects": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.1.tgz", - "integrity": "sha512-HWqDgT7ZEkqRzBvc2s64vSZ/hfOceEol3ac/7tKwzuvEyWx3/4UegXh5oBOIotkGsObyk3xznnSRVADBgWSQVg==", + "version": "1.14.5", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.5.tgz", + "integrity": "sha512-wtphSXy7d4/OR+MvIFbCVBDzZ5520qV8XfPklSN5QtxuMUJZ+b0Wnst1e1lCDocfzuCkHqj8k0FpZqO+UIaKNA==", "dev": true }, "for-in": { @@ -3023,9 +3506,9 @@ } }, "globby": { - "version": "11.0.3", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.3.tgz", - "integrity": "sha512-ffdmosjA807y7+lA1NM0jELARVmYul/715xiILEjo3hBLPTcirgQNnXECn5g3mtR8TOLCVbkfua1Hpen25/Xcg==", + "version": "11.0.4", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz", + "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==", "dev": true, "requires": { "array-union": "^2.1.0", @@ -3148,15 +3631,15 @@ "dev": true }, "htmlparser2": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", - "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-7.2.0.tgz", + "integrity": "sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==", "dev": true, "requires": { "domelementtype": "^2.0.1", - "domhandler": "^4.0.0", - "domutils": "^2.5.2", - "entities": "^2.0.0" + "domhandler": "^4.2.2", + "domutils": "^2.8.0", + "entities": "^3.0.1" } }, "http-link-header": { @@ -3207,9 +3690,9 @@ "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" }, "ignore": { - "version": "5.1.8", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", - "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", + "version": "5.1.9", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.9.tgz", + "integrity": "sha512-2zeMQpbKz5dhZ9IwL0gbxSW5w0NK/MSAMtNuhgIHEPmaU3vPdKPL0UdvUCXs5SS4JAwsBxysK5sFMW8ocFiVjQ==", "dev": true }, "immutable": { @@ -4162,9 +4645,9 @@ } }, "jsonld-context-parser": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/jsonld-context-parser/-/jsonld-context-parser-2.1.2.tgz", - "integrity": "sha512-zAhus+dz4IrXiYAiYf6M1PSdYkILVWPg4bqqGfim+rGrmVc3d0drFAriLOU2RMwQFKljM+41lJTau47sxt6YWA==", + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/jsonld-context-parser/-/jsonld-context-parser-2.1.5.tgz", + "integrity": "sha512-rsu5hB6bADa511l0QhG4lndAqlN7PQ4wsS0UKqLWUKg1GUQqYmh2SNfbwXiRiHZRJqhvCNqv9/5tQ3zzk4hMtg==", "dev": true, "requires": { "@types/http-link-header": "^1.0.1", @@ -4184,18 +4667,18 @@ } }, "jsonld-streaming-parser": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/jsonld-streaming-parser/-/jsonld-streaming-parser-2.3.0.tgz", - "integrity": "sha512-IJiFhX9GQ/uLugd3BSYgJDaisAc22fV2Ij7tH0yWG8KZpriSGadRVvxUkfglzRKSjqxYBsZ+qAQ+UR7YGwiHRQ==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/jsonld-streaming-parser/-/jsonld-streaming-parser-2.4.2.tgz", + "integrity": "sha512-kA1+LD9jTPX3bz81c+zjF4ng8UVmVnOmLhKj5pE8pQE0GHc4HJrr0+dHRUgAQzg8jvCml1B9HRmr9egYw4ZfJA==", "dev": true, "requires": { + "@rdfjs/types": "*", "@types/http-link-header": "^1.0.1", - "@types/rdf-js": "*", "canonicalize": "^1.0.1", "http-link-header": "^1.0.2", - "jsonld-context-parser": "^2.1.2", + "jsonld-context-parser": "^2.1.3", "jsonparse": "^1.3.1", - "rdf-data-factory": "^1.0.4" + "rdf-data-factory": "^1.1.0" } }, "jsonparse": { @@ -4399,15 +4882,15 @@ } }, "logform": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/logform/-/logform-2.2.0.tgz", - "integrity": "sha512-N0qPlqfypFx7UHNn4B3lzS/b0uLqt2hmuoa+PpuXNYgozdJYAyauF5Ky0BWVjrxDlMWiT3qN4zPq3vVAfZy7Yg==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/logform/-/logform-2.3.0.tgz", + "integrity": "sha512-graeoWUH2knKbGthMtuG1EfaSPMZFZBIrhuJHhkS5ZseFBrc7DupCzihOQAzsK/qIKPQaPJ/lFQFctILUY5ARQ==", "dev": true, "requires": { "colors": "^1.2.1", - "fast-safe-stringify": "^2.0.4", "fecha": "^4.2.0", "ms": "^2.1.1", + "safe-stable-stringify": "^1.1.0", "triple-beam": "^1.3.0" } }, @@ -4480,35 +4963,32 @@ "dev": true }, "microdata-rdf-streaming-parser": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/microdata-rdf-streaming-parser/-/microdata-rdf-streaming-parser-1.1.0.tgz", - "integrity": "sha512-nvPEFzG4vZWzWJP2x8Ax7mJmdrFkSYrfhdTUDHLtXYZJVl8Ip7ScHUPLkUfX+Ci4g7sOdgHsotkxuccnlxtCAg==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/microdata-rdf-streaming-parser/-/microdata-rdf-streaming-parser-1.2.0.tgz", + "integrity": "sha512-cMLNLEcS0mPaiA9iwq6BnsQK9sx2uBwjpRZIEvMRBNJpbvV58f8AFtPeYzNFh3OPyX9B49NYJ77bB0jNAUCurw==", "dev": true, "requires": { - "@types/rdf-js": "*", - "htmlparser2": "^5.0.0", - "rdf-data-factory": "^1.0.2", + "@rdfjs/types": "*", + "htmlparser2": "^6.0.0", + "rdf-data-factory": "^1.1.0", "relative-to-absolute-iri": "^1.0.2" }, "dependencies": { - "domhandler": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-3.3.0.tgz", - "integrity": "sha512-J1C5rIANUbuYK+FuFL98650rihynUOEzRLxW+90bKZRWB6A1X1Tf82GxR1qAWLyfNPRvjqfip3Q5tdYlmAa9lA==", - "dev": true, - "requires": { - "domelementtype": "^2.0.1" - } + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true }, "htmlparser2": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-5.0.1.tgz", - "integrity": "sha512-vKZZra6CSe9qsJzh0BjBGXo8dvzNsq/oGvsjfRdOrrryfeD9UOBEEQdeoqCRmKZchF5h2zOBMQ6YuQ0uRUmdbQ==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", "dev": true, "requires": { "domelementtype": "^2.0.1", - "domhandler": "^3.3.0", - "domutils": "^2.4.2", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", "entities": "^2.0.0" } } @@ -5064,71 +5544,82 @@ "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" }, "rdf-data-factory": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/rdf-data-factory/-/rdf-data-factory-1.0.4.tgz", - "integrity": "sha512-ZIIwEkLcV7cTc+atvQFzAETFVRHz1BRe/MhdkZqYse8vxskErj8/bF/Ittc3B5c0GTyw6O3jVF2V7xBRGyRoSQ==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/rdf-data-factory/-/rdf-data-factory-1.1.0.tgz", + "integrity": "sha512-g8feOVZ/KL1OK2Pco/jDBDFh4m29QDsOOD+rWloG9qFvIzRFchGy2CviLUX491E0ByewXxMpaq/A3zsWHQA16A==", "dev": true, "requires": { - "@types/rdf-js": "*" + "@rdfjs/types": "*" } }, "rdf-isomorphic": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/rdf-isomorphic/-/rdf-isomorphic-1.2.1.tgz", - "integrity": "sha512-kIKlQYoizNqp8zhbca1zV3mYngisoD/KNt/xBRjagp7R3F8niI3b1vxvqcWlSkNXgPD6MsXpP2E/uXZ8oGTIcA==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/rdf-isomorphic/-/rdf-isomorphic-1.3.0.tgz", + "integrity": "sha512-3BRwUwCNHHR8//bqmVH+knTFVbVfkp7CWyQk7qPHHA8JriXBYxrab21OomjJx/2KF21w8bWz344mgNYEaQABYQ==", "dev": true, "requires": { + "@rdfjs/types": "*", "hash.js": "^1.1.7", - "rdf-string": "^1.5.0", - "rdf-terms": "^1.6.2" + "rdf-string": "^1.6.0", + "rdf-terms": "^1.7.0" + } + }, + "rdf-js": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/rdf-js/-/rdf-js-4.0.2.tgz", + "integrity": "sha512-ApvlFa/WsQh8LpPK/6hctQwG06Z9ztQQGWVtrcrf9L6+sejHNXLPOqL+w7q3hF+iL0C4sv3AX1PUtGkLNzyZ0Q==", + "dev": true, + "requires": { + "@rdfjs/types": "*" } }, "rdf-literal": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/rdf-literal/-/rdf-literal-1.2.0.tgz", - "integrity": "sha512-N7nyfp/xzoiUuJt0xZ80BvBGkCPwWejgVDkCxWDSuooXKSows4ToW+KouYkMHLcoFzGg1Rlw2lk6btjMJg5aSA==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/rdf-literal/-/rdf-literal-1.3.0.tgz", + "integrity": "sha512-5u5L4kPYNZANie5AE4gCXqwpNO/p9E/nUcDurk05XAOJT/pt9rQlDk6+BX7j3dNSee3h9GS4xlLoWxQDj7sXtg==", "dev": true, "requires": { - "@types/rdf-js": "*", - "rdf-data-factory": "^1.0.1" + "@rdfjs/types": "*", + "rdf-data-factory": "^1.1.0" } }, "rdf-object": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/rdf-object/-/rdf-object-1.10.2.tgz", - "integrity": "sha512-IvppylbhVlcbyxDuwJDLNYgUsX4m7Kztfa1B2zZzl7M8V6edmQqKglCFHZ93ZveQ6m9q1V1VTYLaGaB7p9no8Q==", + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/rdf-object/-/rdf-object-1.12.0.tgz", + "integrity": "sha512-LF4LjYCneh2RJcUSPWbTfGgsYqRMcElmHDR3lPkMrJQ6azrCqY9DLdVWaqK7xRn1ujeHWiOkS34ThTZgzzvuUQ==", "dev": true, "requires": { + "@rdfjs/types": "*", "jsonld-context-parser": "^2.0.2", - "rdf-data-factory": "^1.0.3", - "rdf-string": "^1.5.0", + "rdf-data-factory": "^1.1.0", + "rdf-string": "^1.6.0", "streamify-array": "^1.0.1" } }, "rdf-parse": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/rdf-parse/-/rdf-parse-1.8.0.tgz", - "integrity": "sha512-Pc6jvqjlJpY/ivVPbfbCJw372VhUx1dTMGLGGU/bHz6srjLL9Q4scn655afAuDI89KamDBRTDN+ZzlfiWfgbfg==", - "dev": true, - "requires": { - "@comunica/actor-http-native": "~1.21.1", - "@comunica/actor-rdf-parse-html": "~1.21.1", - "@comunica/actor-rdf-parse-html-microdata": "~1.21.1", - "@comunica/actor-rdf-parse-html-rdfa": "~1.21.1", - "@comunica/actor-rdf-parse-html-script": "~1.21.1", - "@comunica/actor-rdf-parse-jsonld": "~1.21.1", - "@comunica/actor-rdf-parse-n3": "~1.21.1", - "@comunica/actor-rdf-parse-rdfxml": "~1.21.1", - "@comunica/actor-rdf-parse-xml-rdfa": "~1.21.1", - "@comunica/bus-http": "~1.21.1", - "@comunica/bus-init": "~1.21.1", - "@comunica/bus-rdf-parse": "~1.21.1", - "@comunica/bus-rdf-parse-html": "~1.21.1", - "@comunica/core": "~1.21.1", - "@comunica/mediator-combine-union": "~1.21.1", - "@comunica/mediator-number": "~1.21.1", - "@comunica/mediator-race": "~1.21.1", - "@types/rdf-js": "*", + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/rdf-parse/-/rdf-parse-1.9.1.tgz", + "integrity": "sha512-W6ouYE+ufmCNFmXD1iGs5gUZH75jZekh/I5qF8a4Sl37BUc9mY0Jz5A0CV1tiKKhx+I+HYfxyX9VjOljD8rzgQ==", + "dev": true, + "requires": { + "@comunica/actor-http-native": "~1.22.0", + "@comunica/actor-rdf-parse-html": "~1.22.0", + "@comunica/actor-rdf-parse-html-microdata": "~1.22.0", + "@comunica/actor-rdf-parse-html-rdfa": "~1.22.0", + "@comunica/actor-rdf-parse-html-script": "~1.22.0", + "@comunica/actor-rdf-parse-jsonld": "^1.22.0", + "@comunica/actor-rdf-parse-n3": "~1.22.0", + "@comunica/actor-rdf-parse-rdfxml": "~1.22.0", + "@comunica/actor-rdf-parse-xml-rdfa": "~1.22.0", + "@comunica/bus-http": "~1.22.0", + "@comunica/bus-init": "~1.22.0", + "@comunica/bus-rdf-parse": "~1.22.0", + "@comunica/bus-rdf-parse-html": "~1.22.0", + "@comunica/core": "~1.22.0", + "@comunica/mediator-combine-union": "~1.22.0", + "@comunica/mediator-number": "~1.22.0", + "@comunica/mediator-race": "~1.22.0", + "@rdfjs/types": "*", "stream-to-string": "^1.2.0" } }, @@ -5144,67 +5635,66 @@ } }, "rdf-string": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/rdf-string/-/rdf-string-1.5.0.tgz", - "integrity": "sha512-3TEJuDIKUADgZrfcZG+zAN4GfVA1Ei2sKA7Z7QVHkAE36wWoRGPJbGihPQMldgzvy9lG2nzZU+CXz+6oGSQNsQ==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/rdf-string/-/rdf-string-1.6.0.tgz", + "integrity": "sha512-6vQVlEobIHralPtx8V9vtgxA+fwnzZjZv6lRz8dfymILZF6Fl3QJwyRaOAvYaUQc1JMmshGI/wlYlaxin2AldQ==", "dev": true, "requires": { - "rdf-data-factory": "^1.0.0" + "@rdfjs/types": "*", + "rdf-data-factory": "^1.1.0" } }, "rdf-terms": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/rdf-terms/-/rdf-terms-1.6.2.tgz", - "integrity": "sha512-dASpdYHYLEwzN9iSymJie1WUj6VHXy1By8Am4g2rJlhTfVvNitsJpDY+A3X2QehlGhCaWjHMzXS4q/JKNPI80A==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/rdf-terms/-/rdf-terms-1.7.0.tgz", + "integrity": "sha512-K83ACD+MuWFS3mNxwCRNYQAmc/Z9iK7PgqJq9N4VP8sUVlP7ioB2pPNQHKHy0IQh4RTkEq6fg4R4q7YlweLBZQ==", "dev": true, "requires": { + "@rdfjs/types": "*", "lodash.uniqwith": "^4.5.0", - "rdf-data-factory": "^1.0.1" + "rdf-data-factory": "^1.1.0" } }, "rdfa-streaming-parser": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/rdfa-streaming-parser/-/rdfa-streaming-parser-1.4.0.tgz", - "integrity": "sha512-tx2rsBpK7MhpuvuMFdpoIfH8t8ij/traX6+hiFe4WV648eWlcYKURLVdWwqqPkF4qwnT1PH8mqBpBY7CNpbjvg==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/rdfa-streaming-parser/-/rdfa-streaming-parser-1.5.0.tgz", + "integrity": "sha512-A+Kl0vbRQKK3SqgWdCiR48Hi75LK6z6glPdGcbLXMw6qMRcLeIKe4p6yFkPXpbwtegmOa94uaxeLs5HMdo66AQ==", "dev": true, "requires": { - "@types/rdf-js": "*", - "htmlparser2": "^5.0.0", - "rdf-data-factory": "^1.0.2", + "@rdfjs/types": "*", + "htmlparser2": "^6.0.0", + "rdf-data-factory": "^1.1.0", "relative-to-absolute-iri": "^1.0.2" }, "dependencies": { - "domhandler": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-3.3.0.tgz", - "integrity": "sha512-J1C5rIANUbuYK+FuFL98650rihynUOEzRLxW+90bKZRWB6A1X1Tf82GxR1qAWLyfNPRvjqfip3Q5tdYlmAa9lA==", - "dev": true, - "requires": { - "domelementtype": "^2.0.1" - } + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true }, "htmlparser2": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-5.0.1.tgz", - "integrity": "sha512-vKZZra6CSe9qsJzh0BjBGXo8dvzNsq/oGvsjfRdOrrryfeD9UOBEEQdeoqCRmKZchF5h2zOBMQ6YuQ0uRUmdbQ==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", "dev": true, "requires": { "domelementtype": "^2.0.1", - "domhandler": "^3.3.0", - "domutils": "^2.4.2", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", "entities": "^2.0.0" } } } }, "rdfxml-streaming-parser": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/rdfxml-streaming-parser/-/rdfxml-streaming-parser-1.4.0.tgz", - "integrity": "sha512-/FKDCq4tuSWz8PZaaPxqIQpenEvRR3Gsqllqg4VmdPFN6WiWfbaD244cKASfXfQHt9Bw7tLsLHsmtA1isIPBCg==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/rdfxml-streaming-parser/-/rdfxml-streaming-parser-1.5.0.tgz", + "integrity": "sha512-pnt+7NgeqCMd2/rub+dqxzYJhZwJjBNU2BRwyYdCTmRZu2fr795jCPJB6Io5pjPzAt29ASqy+ODBSRMDKoKGbQ==", "dev": true, "requires": { - "@types/rdf-js": "*", - "rdf-data-factory": "^1.0.2", + "@rdfjs/types": "*", + "rdf-data-factory": "^1.1.0", "relative-to-absolute-iri": "^1.0.0", "sax": "^1.2.4" } @@ -5262,6 +5752,15 @@ "integrity": "sha1-i3YU+qFGXr+g2pucpjA/onBzt88=", "dev": true }, + "readable-web-to-node-stream": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.2.tgz", + "integrity": "sha512-ePeK6cc1EcKLEhJFt/AebMCLL+GgSKhuygrZ/GLaKZYEecIgIECf4UaUuaByiGtzckwR4ain9VzUh95T1exYGw==", + "dev": true, + "requires": { + "readable-stream": "^3.6.0" + } + }, "regex-not": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", @@ -5437,6 +5936,12 @@ "ret": "~0.1.10" } }, + "safe-stable-stringify": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-1.1.1.tgz", + "integrity": "sha512-ERq4hUjKDbJfE4+XtZLFPCDi8Vb1JqaxAPTxWFLBx8XcAlf9Bda/ZJdVezs/NAfsMQScyIlUMx+Yeu7P7rx5jw==", + "dev": true + }, "safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", @@ -5873,23 +6378,25 @@ "dev": true }, "sparqlalgebrajs": { - "version": "2.5.5", - "resolved": "https://registry.npmjs.org/sparqlalgebrajs/-/sparqlalgebrajs-2.5.5.tgz", - "integrity": "sha512-sG9XI5311mS+JPDaeZUwtwYaYDRiTZDzxtHVS1GSrnfcZ2aiK1fa1PX9z16l7dtS35X3z1j1qyHEElzZO5OM3A==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/sparqlalgebrajs/-/sparqlalgebrajs-3.0.3.tgz", + "integrity": "sha512-XFNhsO55bprayrM35h/jY0kzzuGc3oZ1On3kc+s7Un0BFQBXa046aLcMZFp4MYSvn7GtMe9eZ08ONFnBH5kEsQ==", "dev": true, "requires": { + "@rdfjs/types": "*", + "@types/sparqljs": "^3.1.2", "fast-deep-equal": "^3.1.3", "minimist": "^1.2.5", - "rdf-data-factory": "^1.0.4", - "rdf-isomorphic": "^1.2.0", - "rdf-string": "^1.5.0", - "sparqljs": "^3.3.0" + "rdf-data-factory": "^1.1.0", + "rdf-isomorphic": "^1.3.0", + "rdf-string": "^1.6.0", + "sparqljs": "^3.4.2" } }, "sparqljs": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/sparqljs/-/sparqljs-3.4.2.tgz", - "integrity": "sha512-MmmZ6cMuvhf4Eh2FXX21dalgADUiZ9WN8XKMedwhTFg0r7W09/o8wvoZ8C4yA6FptnjjAjm+mGnxAEpkSRY3QQ==", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/sparqljs/-/sparqljs-3.5.1.tgz", + "integrity": "sha512-sHc6z7hNF3ACvXurKe8hT1sD52Fc0fN3uPLS6SQnXRV9CJl33GNAS4w5Dd3X3GgykUt9SlnjhI1QRKhLzun4qQ==", "dev": true, "requires": { "rdf-data-factory": "^1.0.4" diff --git a/packages/semcom-sdk/package.json b/packages/semcom-sdk/package.json index 58268389..dcbc1408 100644 --- a/packages/semcom-sdk/package.json +++ b/packages/semcom-sdk/package.json @@ -1,11 +1,12 @@ { "name": "@digita-ai/semcom-sdk", - "version": "0.9.6", + "version": "0.11.0", "description": "> TODO: description", "author": "Wouter Janssens ", "homepage": "https://github.com/digita-ai/semcom/tree/master/packages/semcom-sdk#readme", "main": "./dist/semcom-sdk.umd.js", "module": "./dist/semcom-sdk.es.js", + "license": "agpl-3.0", "types": "./dist/index.d.ts", "exports": { ".": { @@ -29,11 +30,10 @@ "directory": "packages/semcom-sdk" }, "scripts": { - "clean": "rimraf ./dist && rimraf ./package-lock.json && rimraf ./node_modules", "build": "rimraf ./dist && npm run build:bundle && npm run build:ts && npm run build:components", "build:bundle": "vite build --mode development", "build:ts": "tsc", - "build:components": "componentsjs-generator -s lib -c dist/components -i .componentsignore", + "build:components": "componentsjs-generator --typeScopedContexts -s lib -c dist/components -i .componentsignore", "lint": "eslint .", "lint:fix": "eslint --fix .", "lint:staged": "lint-staged", @@ -56,11 +56,11 @@ "devDependencies": { "@digita-ai/typescript-config": "^0.3.4", "@types/jest": "^26.0.19", - "@types/n3": "^1.4.5", + "@types/n3": "1.10.0", "@types/node": "^14.14.14", "@types/rdf-js": "^4.0.1", - "componentsjs": "4.0.5", - "componentsjs-generator": "2.1.0", + "componentsjs": "^4.5.0", + "componentsjs-generator": "^2.6.1", "eslint": "^7.16.0", "jest": "^26.6.3", "jest-coverage-thresholds-bumper": "0.0.4", @@ -72,7 +72,7 @@ "vite": "2.2.3" }, "dependencies": { - "@digita-ai/semcom-core": "0.9.6", + "@digita-ai/semcom-core": "0.11.0", "buffer": "6.0.3", "jssha": "^3.2.0", "n3": "1.10.0" @@ -97,9 +97,9 @@ "coverageThreshold": { "global": { "branches": 87.5, - "functions": 50, - "lines": 80.95, - "statements": 77.61 + "functions": 55.56, + "lines": 87.69, + "statements": 84.72 } } } diff --git a/packages/semcom-upload-component/CHANGELOG.md b/packages/semcom-upload-component/CHANGELOG.md index 491d8eaf..24277680 100644 --- a/packages/semcom-upload-component/CHANGELOG.md +++ b/packages/semcom-upload-component/CHANGELOG.md @@ -3,6 +3,55 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.11.0](https://github.com/digita-ai/semcom/compare/v0.10.2...v0.11.0) (2022-01-28) + +**Note:** Version bump only for package @digita-ai/semcom-upload-component + + + + + +### [0.10.2](https://github.com/digita-ai/semcom/compare/v0.10.1...v0.10.2) (2022-01-22) + +**Note:** Version bump only for package @digita-ai/semcom-upload-component + + + + + +### [0.10.1](https://github.com/digita-ai/semcom/compare/v0.10.0...v0.10.1) (2022-01-14) + +**Note:** Version bump only for package @digita-ai/semcom-upload-component + + + + + +## [0.10.0](https://github.com/digita-ai/semcom/compare/v0.9.8...v0.10.0) (2022-01-14) + +**Note:** Version bump only for package @digita-ai/semcom-upload-component + + + + + +### [0.9.8](https://github.com/digita-ai/semcom/compare/v0.9.7...v0.9.8) (2021-12-15) + +**Note:** Version bump only for package @digita-ai/semcom-upload-component + + + + + +### [0.9.7](https://github.com/digita-ai/semcom/compare/v0.9.6...v0.9.7) (2021-12-09) + + +### **Documentation** + +* complete-ts-docs ([#194](https://github.com/digita-ai/semcom/issues/194)) ([17a8415](https://github.com/digita-ai/semcom/commit/17a84154a5feaf960b70534a45c98c3bd048b95b)) + + + ### [0.9.6](https://github.com/digita-ai/semcom/compare/v0.9.5...v0.9.6) (2021-12-07) **Note:** Version bump only for package @digita-ai/semcom-upload-component diff --git a/packages/semcom-upload-component/LICENSE.md b/packages/semcom-upload-component/LICENSE.md new file mode 100644 index 00000000..e24707ae --- /dev/null +++ b/packages/semcom-upload-component/LICENSE.md @@ -0,0 +1,16 @@ + This program is offered under a commercial and under the AGPL license. + For commercial licensing, contact Digita at https://digita.ai. For AGPL licensing, see below. + + AGPL licensing: + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . \ No newline at end of file diff --git a/packages/semcom-upload-component/lib/components/sem-com-register.component.ts b/packages/semcom-upload-component/lib/components/sem-com-register.component.ts index 8986e447..20093037 100644 --- a/packages/semcom-upload-component/lib/components/sem-com-register.component.ts +++ b/packages/semcom-upload-component/lib/components/sem-com-register.component.ts @@ -10,6 +10,9 @@ import { semComRegisterMachine, SemComRegisterContext, SemComRegisterEvent, SemC import { SemComStoreSelectionComponent } from './sem-com-store-selection.component'; import { SemComUploadFormComponent } from './sem-com-upload-form.component'; +/** + * A LitElement WebComponent for registering SemCom components at a SemCom node. + */ export class SemComRegisterComponent extends RxLitElement { private solidService = new SolidSDKService('SemCom'); @@ -27,6 +30,9 @@ export class SemComRegisterComponent extends RxLitElement { @state() state: State; + /** + * Creates a { SemComRegisterComponent }. + */ constructor() { super(); @@ -46,27 +52,50 @@ export class SemComRegisterComponent extends RxLitElement { } - // What type is module? + /** + * Defines components by the provided tag and module. + * + * @param { string } tag - The tag to define the component by. + * @param { CustomElementConstructor } module - The module to define the component by. + */ defineComponent = (tag: string, module: CustomElementConstructor): void => { if (!customElements.get(tag)) { customElements.define(tag, module); } }; + /** + * Creates a new AuthenticationEvent for the specified event and sends it to the actor. + * + * @param { CustomEvent } event - The event to create an AuthenticationEvent for. + */ onAuthenticated = (event: CustomEvent): void => { this.actor.send(new AuthenticatedEvent(event.detail)); }; + /** + * Creates a StoreSelectedEvent for the specified event and sends it to the actor. + * + * @param { StoreSelectedEvent } event - The event to create a StoreSelectedEvent for. + */ storeSelected = (event: CustomEvent): void => { this.actor.send(new StoreSelectedEvent(event.detail.input)); }; + /** + * Creates a UploadFormSubmittedEvent for the specified event and sends it to the actor. + * + * @param { UploadFormSubmittedEvent } event - The event to create an UploadFormSubmittedEvent for. + */ formUploaded = (event: CustomEvent): void => { this.actor.send(new UploadFormSubmittedEvent(event.detail)); }; + /** + * Renders the HTML of components based upon the current state. + */ render(): TemplateResult { let componentToRender = html``; @@ -117,6 +146,9 @@ export class SemComRegisterComponent extends RxLitElement { } + /** + * Returns the CSS for the components. + */ static get styles(): CSSResult[] { return [ diff --git a/packages/semcom-upload-component/lib/components/sem-com-store-selection.component.ts b/packages/semcom-upload-component/lib/components/sem-com-store-selection.component.ts index 17cec64c..017a827b 100644 --- a/packages/semcom-upload-component/lib/components/sem-com-store-selection.component.ts +++ b/packages/semcom-upload-component/lib/components/sem-com-store-selection.component.ts @@ -12,6 +12,9 @@ export interface StoreSelectionContext { [key: string]: string; } +/** + * A LitElement WebComponent for selecting a SemCom storage pod. + */ export class SemComStoreSelectionComponent extends RxLitElement { /** A space separated list of urls, each of which points to a SemCom store */ @@ -41,6 +44,9 @@ export class SemComStoreSelectionComponent extends RxLitElement { @query('#dropDown') dropDown: HTMLSelectElement; + /** + * Creates a { SemComStoreSelectionComponent }. + */ constructor() { super(); @@ -77,6 +83,12 @@ export class SemComStoreSelectionComponent extends RxLitElement { } + /** + * Defines components by the provided tag and module. + * + * @param { string } tag - The tag to define the component by. + * @param { CustomElementConstructor } module - The module to define the component by. + */ defineComponent = (tag: string, module: CustomElementConstructor): void => { if (!customElements.get(tag)) { customElements.define(tag, module); } @@ -118,6 +130,9 @@ export class SemComStoreSelectionComponent extends RxLitElement { }; + /** + * Clears the input of the form. + */ clearFreeInput = (): void => { this.freeInput.value = ''; @@ -125,6 +140,9 @@ export class SemComStoreSelectionComponent extends RxLitElement { }; + /** + * Clears the dropdown values. + */ clearDropDown = (): void => { this.dropDown.value = 'empty'; @@ -134,6 +152,9 @@ export class SemComStoreSelectionComponent extends RxLitElement { translator = { translate: (value: string): string => value }; + /** + * Renders the HTML template. + */ render(): TemplateResult { return html` @@ -160,6 +181,9 @@ export class SemComStoreSelectionComponent extends RxLitElement { } + /** + * Returns the CSS for the components. + */ static get styles(): CSSResult[] { return [ diff --git a/packages/semcom-upload-component/lib/components/sem-com-upload-form.component.ts b/packages/semcom-upload-component/lib/components/sem-com-upload-form.component.ts index 175a017d..0b6410ce 100644 --- a/packages/semcom-upload-component/lib/components/sem-com-upload-form.component.ts +++ b/packages/semcom-upload-component/lib/components/sem-com-upload-form.component.ts @@ -7,6 +7,9 @@ import { from } from 'rxjs'; import { map } from 'rxjs/operators'; import valid from 'semver/functions/valid'; +/** + * Interface representing upload form fields. + */ export interface UploadFormContext { uri: string; label: string; @@ -20,6 +23,9 @@ export interface UploadFormContext { [key: string]: string; } +/** + * A LitElement WebComponent for entering component metadata. + */ export class SemComUploadFormComponent extends RxLitElement { @property({ type: Array }) @@ -73,6 +79,9 @@ export class SemComUploadFormComponent extends RxLitElement { @query('#checksum') checksum: HTMLTextAreaElement; + /** + * Creates a { SemComUploadFormComponent }. + */ constructor() { super(); @@ -115,13 +124,23 @@ export class SemComUploadFormComponent extends RxLitElement { } - // What type is module? + /** + * Defines components by the provided tag and module. + * + * @param { string } tag - The tag to define the component by. + * @param { CustomElementConstructor } module - The module to define the component by. + */ defineComponent = (tag: string, module: CustomElementConstructor): void => { if (!customElements.get(tag)) { customElements.define(tag, module); } }; + /** + * Validates the upload form by checking the validity of the different fields. + * + * @param { FormContext } context - The form context to validate. + */ validateUploadForm = async (context: FormContext): Promise => { // only validate dirty fields @@ -185,6 +204,9 @@ export class SemComUploadFormComponent extends RxLitElement { }; + /** + * Checks if the form has empty fields. + */ hasEmptyFields = (): boolean => this.uri?.value.trim() === '' || this.label?.value.trim() === '' || this.description?.value.trim() === '' @@ -194,6 +216,10 @@ export class SemComUploadFormComponent extends RxLitElement { || this.version?.value.trim() === '' || this.checksum?.value.trim() === ''; + /** + * Validates the form upon submission by checking the validity and content of the fields + * and setting error messages accordingly. + */ validateOnSubmission = (): void => { this.errorDiv.innerHTML = ''; @@ -220,6 +246,12 @@ export class SemComUploadFormComponent extends RxLitElement { translator = { translate: (value: string): string => value }; + /** + * Generates a HTML template for a form input element. + * + * @param { string } field - The name of the input field. + * @param options (optional) - The options for the input field element. + */ generateInputFormElement = (field: string, options?: { placeholder?: string; debounceTimeout?: string }): TemplateResult => html` @@ -234,6 +266,9 @@ export class SemComUploadFormComponent extends RxLitElement { `; + /** + * Renders a HTML upload form template. + */ render(): TemplateResult { return html` @@ -291,6 +326,9 @@ export class SemComUploadFormComponent extends RxLitElement { } + /** + * Get the CSS for the form element. + */ static get styles(): CSSResult[] { return [ diff --git a/packages/semcom-upload-component/package-lock.json b/packages/semcom-upload-component/package-lock.json index 5c138ed4..a1d30f4d 100644 --- a/packages/semcom-upload-component/package-lock.json +++ b/packages/semcom-upload-component/package-lock.json @@ -1,6 +1,6 @@ { "name": "@digita-ai/semcom-upload-component", - "version": "0.9.6", + "version": "0.11.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/packages/semcom-upload-component/package.json b/packages/semcom-upload-component/package.json index bbb2251a..a7bf1f52 100644 --- a/packages/semcom-upload-component/package.json +++ b/packages/semcom-upload-component/package.json @@ -1,11 +1,12 @@ { "name": "@digita-ai/semcom-upload-component", - "version": "0.9.6", + "version": "0.11.0", "description": "Collection of Semantic Components to upload Semantic Components.", "author": "Wouter Termont ", "main": "./dist/semcom-upload-component.umd.js", "types": "./dist/index.d.ts", "module": "./dist/semcom-upload-component.es.js", + "license": "agpl-3.0", "exports": { ".": { "import": "./dist/semcom-upload-component.es.js",