diff --git a/packages/semcom-components/lib/components/input.component.ts b/packages/semcom-components/lib/components/input.component.ts index f5e5fdca..6e8b0aa2 100644 --- a/packages/semcom-components/lib/components/input.component.ts +++ b/packages/semcom-components/lib/components/input.component.ts @@ -1,7 +1,6 @@ -import { css, html, PropertyValues, query, state } from 'lit-element'; -import { ComponentResponseEvent } from '@digita-ai/semcom-sdk'; +import { css, html, query, state } from 'lit-element'; +import { BaseComponent, ComponentResponseEvent } from '@digita-ai/semcom-core'; import { Literal, NamedNode, Quad } from 'n3'; -import { BaseComponent } from './base.component'; export default class InputComponent extends BaseComponent { diff --git a/packages/semcom-components/lib/components/payslip.component.ts b/packages/semcom-components/lib/components/payslip.component.ts index dab868e0..43efa09c 100644 --- a/packages/semcom-components/lib/components/payslip.component.ts +++ b/packages/semcom-components/lib/components/payslip.component.ts @@ -1,8 +1,7 @@ /* eslint-disable no-console -- is a web component */ import { NamedNode, Store } from 'n3'; import { css, html, property, PropertyValues } from 'lit-element'; -import { ComponentResponseEvent } from '@digita-ai/semcom-sdk'; -import { BaseComponent } from './base.component'; +import { BaseComponent, ComponentResponseEvent } from '@digita-ai/semcom-core'; export default class PayslipComponent extends BaseComponent { diff --git a/packages/semcom-components/lib/components/profile.component.ts b/packages/semcom-components/lib/components/profile.component.ts index 3189357c..840616b2 100644 --- a/packages/semcom-components/lib/components/profile.component.ts +++ b/packages/semcom-components/lib/components/profile.component.ts @@ -1,7 +1,6 @@ import { NamedNode, Store } from 'n3'; import { css, html, property, PropertyValues } from 'lit-element'; -import { ComponentResponseEvent } from '@digita-ai/semcom-sdk'; -import { BaseComponent } from './base.component'; +import { BaseComponent, ComponentResponseEvent } from '@digita-ai/semcom-core'; export class ProfileComponent extends BaseComponent { diff --git a/packages/semcom-components/lib/demo.ts b/packages/semcom-components/lib/demo.ts index 05e0e5db..72a66f90 100644 --- a/packages/semcom-components/lib/demo.ts +++ b/packages/semcom-components/lib/demo.ts @@ -1,8 +1,8 @@ import { Parser } from 'n3'; -import { ComponentEventType, ComponentReadEvent, ComponentResponseEvent, ComponentWriteEvent } from '@digita-ai/semcom-sdk'; -import ProfileComponent from './components/profile.component'; +import { ComponentEventType, ComponentReadEvent, ComponentResponseEvent, ComponentWriteEvent } from '@digita-ai/semcom-core'; import PayslipComponent from './components/payslip.component'; import InputComponent from './components/input.component'; +import ProfileComponent from './components/profile.component'; customElements.define('profile-component', ProfileComponent); customElements.define('payslip-component', PayslipComponent); diff --git a/packages/semcom-components/package.json b/packages/semcom-components/package.json index d6a94952..edab500c 100644 --- a/packages/semcom-components/package.json +++ b/packages/semcom-components/package.json @@ -21,7 +21,7 @@ ], "scripts": { "clean": "rimraf ./dist && rimraf ./package-lock.json && rimraf ./node_modules", - "start": "npm run start:watch", + "start": "npm run start:dev", "start:dev": "vite", "build": "rimraf ./dist && npm run build:bundle && npm run build:ts", "build:bundle": "vite build", diff --git a/packages/semcom-components/vite.config.ts b/packages/semcom-components/vite.config.ts index 820b48cf..db9e30d7 100644 --- a/packages/semcom-components/vite.config.ts +++ b/packages/semcom-components/vite.config.ts @@ -29,7 +29,6 @@ export default ({ command, mode }) => { rollupOptions: { input: { input: path.resolve(__dirname, 'lib/components/input.component.ts'), - base: path.resolve(__dirname, 'lib/components/base.component.ts'), payslip: path.resolve(__dirname, 'lib/components/payslip.component.ts'), profile: path.resolve(__dirname, 'lib/components/profile.component.ts'), }, diff --git a/packages/semcom-core/.componentsignore b/packages/semcom-core/.componentsignore index 4d86862b..c63e933d 100644 --- a/packages/semcom-core/.componentsignore +++ b/packages/semcom-core/.componentsignore @@ -2,5 +2,6 @@ "Error", "EventEmitter", "Partial", - "CustomEvent" + "CustomEvent", + "LitElement" ] diff --git a/packages/semcom-components/lib/components/base.component.ts b/packages/semcom-core/lib/component/base.component.ts similarity index 90% rename from packages/semcom-components/lib/components/base.component.ts rename to packages/semcom-core/lib/component/base.component.ts index 3a326bd5..3fb406c5 100644 --- a/packages/semcom-components/lib/components/base.component.ts +++ b/packages/semcom-core/lib/component/base.component.ts @@ -1,8 +1,8 @@ /* eslint-disable no-console */ -import { Component } from '@digita-ai/semcom-core'; -import { ComponentAppendEvent, ComponentEventType, ComponentReadEvent, ComponentResponseEvent, ComponentWriteEvent } from '@digita-ai/semcom-sdk'; import { LitElement, property } from 'lit-element'; import { Quad } from 'rdf-js'; +import { Component } from './models/component.model'; +import { ComponentEventType, ComponentResponseEvent, ComponentReadEvent, ComponentWriteEvent, ComponentAppendEvent } from './models/component-events.model'; /** * A base component which implements the Semcom-standard by using Lit. @@ -105,7 +105,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`); @@ -113,7 +113,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`); @@ -121,7 +121,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`); @@ -129,7 +129,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-sdk/lib/component/models/component-events.model.ts b/packages/semcom-core/lib/component/models/component-events.model.ts similarity index 100% rename from packages/semcom-sdk/lib/component/models/component-events.model.ts rename to packages/semcom-core/lib/component/models/component-events.model.ts diff --git a/packages/semcom-core/lib/index.ts b/packages/semcom-core/lib/index.ts index ac456ebf..55a625ad 100644 --- a/packages/semcom-core/lib/index.ts +++ b/packages/semcom-core/lib/index.ts @@ -8,3 +8,6 @@ export * from './logger/services/logger-console.service'; export * from './component/services/manage.service'; export * from './component/services/query.service'; export * from './mock/initial-components'; +export * from './component/base.component'; +export * from './component/models/component-events.model'; + diff --git a/packages/semcom-core/package-lock.json b/packages/semcom-core/package-lock.json index 6292eef1..f6dddaaf 100644 --- a/packages/semcom-core/package-lock.json +++ b/packages/semcom-core/package-lock.json @@ -4314,6 +4314,21 @@ } } }, + "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==", + "dev": true, + "requires": { + "lit-html": "^1.1.1" + } + }, + "lit-html": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-1.4.1.tgz", + "integrity": "sha512-B9btcSgPYb1q4oSOb/PrOT6Z/H+r6xuNzfH4lFli/AWhYwdtrgQkQWBbIc6mdnf6E2IL3gDXdkkqNktpU0OZQA==", + "dev": true + }, "locate-path": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", diff --git a/packages/semcom-core/package.json b/packages/semcom-core/package.json index 10094710..da76e6f4 100644 --- a/packages/semcom-core/package.json +++ b/packages/semcom-core/package.json @@ -53,6 +53,9 @@ "https://linkedsoftwaredependencies.org/bundles/npm/@digita-ai/semcom-core/^0.0.0/components/": "dist/components/", "https://linkedsoftwaredependencies.org/bundles/npm/@digita-ai/semcom-core/^0.0.0/dist/": "dist/" }, + "dependencies": { + "lit-element": "^2.4.0" + }, "devDependencies": { "@digita-ai/typescript-config": "^0.3.4", "@types/jest": "^26.0.19", @@ -76,9 +79,9 @@ "coverageThreshold": { "global": { "branches": 0, - "functions": 50, - "lines": 41.38, - "statements": 41.38 + "functions": 6.67, + "lines": 17.14, + "statements": 17.14 } } } diff --git a/packages/semcom-demo-app/src/demo.component.ts b/packages/semcom-demo-app/src/demo.component.ts index 8dabc669..dadbaca2 100644 --- a/packages/semcom-demo-app/src/demo.component.ts +++ b/packages/semcom-demo-app/src/demo.component.ts @@ -4,9 +4,8 @@ import { from } from 'rxjs'; import { RxLitElement } from 'rx-lit'; import { map } from 'rxjs/operators'; import { AuthenticateComponent, LoadingComponent, ProviderListComponent, ProviderListItemComponent, Session, SolidSDKService } from '@digita-ai/ui-transfer-components'; -import { ComponentMetadata } from '@digita-ai/semcom-core'; +import { ComponentMetadata, ComponentEventType, ComponentReadEvent, ComponentResponseEvent, ComponentWriteEvent } from '@digita-ai/semcom-core'; import { Theme } from '@digita-ai/ui-transfer-theme'; -import { ComponentEventType, ComponentReadEvent, ComponentResponseEvent, ComponentWriteEvent } from '@digita-ai/semcom-sdk'; import { Parser } from 'n3'; import { fetch } from '@digita-ai/inrupt-solid-client'; import { demoMachine, DemoContext, DemoEvent, DemoState, DemoStates, AuthenticatedEvent } from './demo.machine'; diff --git a/packages/semcom-node/package-lock.json b/packages/semcom-node/package-lock.json index 89001225..eac263d8 100644 --- a/packages/semcom-node/package-lock.json +++ b/packages/semcom-node/package-lock.json @@ -693,6 +693,11 @@ "rxjs": "6.3.3" } }, + "@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==" + }, "@digita-ai/typescript-config": { "version": "0.3.4", "resolved": "https://npm.pkg.github.com/download/@digita-ai/typescript-config/0.3.4/16c8755238a358331f20ff2c6ab36abe32c45e74f83ec0bad66965a5ff5fdf6a", diff --git a/packages/semcom-sdk/lib/index.ts b/packages/semcom-sdk/lib/index.ts index 4d878049..173d2a10 100644 --- a/packages/semcom-sdk/lib/index.ts +++ b/packages/semcom-sdk/lib/index.ts @@ -1,4 +1,3 @@ export * from './discovery'; export * from './component/services/query-component-remote.service'; -export * from './component/models/component-events.model'; export * from './component/services/register-component.service'; diff --git a/packages/semcom-sdk/package.json b/packages/semcom-sdk/package.json index 69a258d9..06cd9459 100644 --- a/packages/semcom-sdk/package.json +++ b/packages/semcom-sdk/package.json @@ -95,11 +95,11 @@ ], "coverageThreshold": { "global": { - "branches": 47.83, - "functions": 26.67, - "lines": 41.82, - "statements": 39.66 + "branches": 56.52, + "functions": 40, + "lines": 58.14, + "statements": 54.35 } } } -} +} \ No newline at end of file