diff --git a/.gitea/workflows/gitzone_ci_default.yaml b/.gitea/workflows/gitzone_ci_default.yaml new file mode 100644 index 0000000..9cf0e91 --- /dev/null +++ b/.gitea/workflows/gitzone_ci_default.yaml @@ -0,0 +1,104 @@ +name: CI Pipeline + +on: push + +env: + IMAGE: registry.gitlab.com/hosttoday/ht-docker-node:npmci + +jobs: + + security: + runs-on: ubuntu-latest + continue-on-error: true + container: + image: ${{ env.IMAGE }} + + steps: + - uses: actions/checkout@v3 + + - name: Install pnpm and npmci + run: | + pnpm install -g pnpm + pnpm install -g @shipzone/npmci + + - name: Run npm prepare + run: npmci npm prepare + + - name: Audit production dependencies + run: | + npmci command npm config set registry https://registry.npmjs.org + npmci command pnpm audit --audit-level=high --prod + + - name: Audit development dependencies + run: | + npmci command npm config set registry https://registry.npmjs.org + npmci command pnpm audit --audit-level=high --dev + + test: + needs: security + runs-on: ubuntu-latest + container: + image: ${{ env.IMAGE }} + + steps: + - uses: actions/checkout@v3 + + - name: Test stable + run: | + npmci node install stable + npmci npm install + npmci npm test + + - name: Test build + run: | + npmci node install stable + npmci npm install + npmci npm build + + release: + needs: test + if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/') + runs-on: ubuntu-latest + container: + image: ${{ env.IMAGE }} + + steps: + - uses: actions/checkout@v3 + + - name: Release + run: | + npmci node install stable + npmci npm publish + + metadata: + needs: test + if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/') + runs-on: ubuntu-latest + container: + image: ${{ env.IMAGE }} + continue-on-error: true + + steps: + - uses: actions/checkout@v3 + + - name: Code quality + run: | + npmci command npm install -g typescript + npmci npm prepare + npmci npm install + + - name: Trigger + run: npmci trigger + + - name: Build docs and upload artifacts + run: | + npmci node install stable + npmci npm install + npmci command npm run buildDocs + + - name: Upload artifacts + uses: actions/upload-artifact@v2 + with: + name: public + path: public + retention-days: 7 diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 30b07d8..c96d0c9 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -64,7 +64,7 @@ testBuild: script: - npmci node install stable - npmci npm install - - npmci command npm run build + - npmci npm build coverage: /\d+.?\d+?\%\s*coverage/ tags: - docker diff --git a/package.json b/package.json index 62c89f8..042f984 100644 --- a/package.json +++ b/package.json @@ -59,4 +59,4 @@ "browserslist": [ "last 1 chrome versions" ] -} +} \ No newline at end of file diff --git a/readme.md b/readme.md index 924fcb7..44f6561 100644 --- a/readme.md +++ b/readme.md @@ -21,7 +21,6 @@ Code Style | [![Code Style](https://badgen.net/badge/style/prettier/purple)](htt PackagePhobia (total standalone install weight) | [![PackagePhobia](https://badgen.net/packagephobia/install/@pushrocks/smartdata)](https://lossless.cloud) PackagePhobia (package size on registry) | [![PackagePhobia](https://badgen.net/packagephobia/publish/@pushrocks/smartdata)](https://lossless.cloud) BundlePhobia (total size when bundled) | [![BundlePhobia](https://badgen.net/bundlephobia/minzip/@pushrocks/smartdata)](https://lossless.cloud) -Platform support | [![Supports Windows 10](https://badgen.net/badge/supports%20Windows%2010/yes/green?icon=windows)](https://lossless.cloud) [![Supports Mac OS X](https://badgen.net/badge/supports%20Mac%20OS%20X/yes/green?icon=apple)](https://lossless.cloud) ## Usage @@ -150,7 +149,6 @@ We are always happy for code contributions. If you are not the code contributing For further information read the linked docs at the top of this readme. -> MIT licensed | **©** [Lossless GmbH](https://lossless.gmbh) +## Legal +> MIT licensed | **©** [Task Venture Capital GmbH](https://task.vc) | By using this npm module you agree to our [privacy policy](https://lossless.gmbH/privacy) - -[![repo-footer](https://lossless.gitlab.io/publicrelations/repofooter.svg)](https://maintainedby.lossless.com) diff --git a/ts/00_commitinfo_data.ts b/ts/00_commitinfo_data.ts index 6c4b801..27df596 100644 --- a/ts/00_commitinfo_data.ts +++ b/ts/00_commitinfo_data.ts @@ -3,6 +3,6 @@ */ export const commitinfo = { name: '@pushrocks/smartdata', - version: '5.0.13', + version: '5.0.14', description: 'do more with data' } diff --git a/ts/index.ts b/ts/index.ts index fcd567b..6a26129 100644 --- a/ts/index.ts +++ b/ts/index.ts @@ -6,9 +6,7 @@ export * from './smartdata.classes.cursor.js'; import * as convenience from './smartadata.convenience.js'; -export { - convenience -} +export { convenience }; // to be removed with the next breaking update import type * as plugins from './smartdata.plugins.js'; diff --git a/ts/smartadata.convenience.ts b/ts/smartadata.convenience.ts index 2d29a36..2744897 100644 --- a/ts/smartadata.convenience.ts +++ b/ts/smartadata.convenience.ts @@ -2,4 +2,4 @@ import * as plugins from './smartdata.plugins.js'; export const getNewUniqueId = async (prefixArg?: string) => { return plugins.smartunique.uni(prefixArg); -} +}; diff --git a/ts/smartdata.classes.distributedcoordinator.ts b/ts/smartdata.classes.distributedcoordinator.ts index e1ae7ed..dafdf56 100644 --- a/ts/smartdata.classes.distributedcoordinator.ts +++ b/ts/smartdata.classes.distributedcoordinator.ts @@ -18,13 +18,13 @@ class DistributedClass extends SmartDataDbDoc { + const startResultTimer = async () => {}; - } - watcher.changeSubject.subscribe({ next: async (distributedDoc) => { - distributedDoc - } - }) + distributedDoc; + }, + }); while (this.ownInstance.data.status !== 'stopped') { await plugins.smartdelay.delayFor(1000); } - }; + } // abstract implemented methods public async fireDistributedTaskRequest( @@ -183,9 +181,11 @@ export class SmartdataDistributedCoordinator extends plugins.taskbuffer.distribu infoBasisArg: plugins.taskbuffer.distributedCoordination.IDistributedTaskRequest ): Promise { await this.asyncExecutionStack.getExclusiveExecutionSlot(async () => { - const existingInfoBasis = this.ownInstance.data.taskRequests.find(infoBasisItem => { - return infoBasisItem.taskName === infoBasisArg.taskName - && infoBasisItem.taskExecutionTime === infoBasisArg.taskExecutionTime; + const existingInfoBasis = this.ownInstance.data.taskRequests.find((infoBasisItem) => { + return ( + infoBasisItem.taskName === infoBasisArg.taskName && + infoBasisItem.taskExecutionTime === infoBasisArg.taskExecutionTime + ); }); Object.assign(existingInfoBasis, infoBasisArg); await this.ownInstance.save(); @@ -194,8 +194,8 @@ export class SmartdataDistributedCoordinator extends plugins.taskbuffer.distribu const indexToRemove = this.ownInstance.data.taskRequests.indexOf(existingInfoBasis); this.ownInstance.data.taskRequests.splice(indexToRemove, indexToRemove); await this.ownInstance.save(); - }) - }) + }); + }); }); } } diff --git a/ts/smartdata.classes.easystore.ts b/ts/smartdata.classes.easystore.ts index b918116..3dce552 100644 --- a/ts/smartdata.classes.easystore.ts +++ b/ts/smartdata.classes.easystore.ts @@ -101,8 +101,9 @@ export class EasyStore { } public async cleanUpEphermal() { - while(await this.smartdataDbRef.statusConnectedDeferred.promise && this.smartdataDbRef.status === 'connected') { - - } + while ( + (await this.smartdataDbRef.statusConnectedDeferred.promise) && + this.smartdataDbRef.status === 'connected' + ) {} } }