Compare commits

..

4 Commits

Author SHA1 Message Date
23c62fbd69 5.0.15 2023-06-25 01:28:30 +02:00
5f70ea0b05 fix(core): update 2023-06-25 01:28:29 +02:00
49a595876a 5.0.14 2023-06-25 01:27:10 +02:00
db38a1ef85 fix(core): update 2023-06-25 01:27:09 +02:00
8 changed files with 26 additions and 157 deletions

View File

@ -1,128 +0,0 @@
# gitzone ci_default
image: registry.gitlab.com/hosttoday/ht-docker-node:npmci
cache:
paths:
- .npmci_cache/
key: '$CI_BUILD_STAGE'
stages:
- security
- test
- release
- metadata
before_script:
- pnpm install -g pnpm
- pnpm install -g @shipzone/npmci
- npmci npm prepare
# ====================
# security stage
# ====================
# ====================
# security stage
# ====================
auditProductionDependencies:
image: registry.gitlab.com/hosttoday/ht-docker-node:npmci
stage: security
script:
- npmci command npm config set registry https://registry.npmjs.org
- npmci command pnpm audit --audit-level=high --prod
tags:
- lossless
- docker
allow_failure: true
auditDevDependencies:
image: registry.gitlab.com/hosttoday/ht-docker-node:npmci
stage: security
script:
- npmci command npm config set registry https://registry.npmjs.org
- npmci command pnpm audit --audit-level=high --dev
tags:
- lossless
- docker
allow_failure: true
# ====================
# test stage
# ====================
testStable:
stage: test
script:
- npmci node install stable
- npmci npm install
- npmci npm test
coverage: /\d+.?\d+?\%\s*coverage/
tags:
- docker
testBuild:
stage: test
script:
- npmci node install stable
- npmci npm install
- npmci command npm run build
coverage: /\d+.?\d+?\%\s*coverage/
tags:
- docker
release:
stage: release
script:
- npmci node install stable
- npmci npm publish
only:
- tags
tags:
- lossless
- docker
- notpriv
# ====================
# metadata stage
# ====================
codequality:
stage: metadata
allow_failure: true
only:
- tags
script:
- npmci command npm install -g typescript
- npmci npm prepare
- npmci npm install
tags:
- lossless
- docker
- priv
trigger:
stage: metadata
script:
- npmci trigger
only:
- tags
tags:
- lossless
- docker
- notpriv
pages:
stage: metadata
script:
- npmci node install stable
- npmci npm install
- npmci command npm run buildDocs
tags:
- lossless
- docker
- notpriv
only:
- tags
artifacts:
expire_in: 1 week
paths:
- public
allow_failure: true

View File

@ -1,6 +1,6 @@
{ {
"name": "@pushrocks/smartdata", "name": "@pushrocks/smartdata",
"version": "5.0.13", "version": "5.0.15",
"private": false, "private": false,
"description": "do more with data", "description": "do more with data",
"main": "dist_ts/index.js", "main": "dist_ts/index.js",

View File

@ -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 (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) 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) 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 ## 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. 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) | 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)

View File

@ -3,6 +3,6 @@
*/ */
export const commitinfo = { export const commitinfo = {
name: '@pushrocks/smartdata', name: '@pushrocks/smartdata',
version: '5.0.13', version: '5.0.15',
description: 'do more with data' description: 'do more with data'
} }

View File

@ -6,9 +6,7 @@ export * from './smartdata.classes.cursor.js';
import * as convenience from './smartadata.convenience.js'; import * as convenience from './smartadata.convenience.js';
export { export { convenience };
convenience
}
// to be removed with the next breaking update // to be removed with the next breaking update
import type * as plugins from './smartdata.plugins.js'; import type * as plugins from './smartdata.plugins.js';

View File

@ -2,4 +2,4 @@ import * as plugins from './smartdata.plugins.js';
export const getNewUniqueId = async (prefixArg?: string) => { export const getNewUniqueId = async (prefixArg?: string) => {
return plugins.smartunique.uni(prefixArg); return plugins.smartunique.uni(prefixArg);
} };

View File

@ -18,13 +18,13 @@ class DistributedClass extends SmartDataDbDoc<DistributedClass, DistributedClass
/** /**
* used to store request * used to store request
*/ */
taskRequests: plugins.taskbuffer.distributedCoordination.IDistributedTaskRequest[], taskRequests: plugins.taskbuffer.distributedCoordination.IDistributedTaskRequest[];
/** /**
* only used by the leader to convey consultation results * only used by the leader to convey consultation results
*/ */
taskRequestResults: plugins.taskbuffer.distributedCoordination.IDistributedTaskRequestResult[]; taskRequestResults: plugins.taskbuffer.distributedCoordination.IDistributedTaskRequestResult[];
} };
} }
/** /**
@ -83,7 +83,7 @@ export class SmartdataDistributedCoordinator extends plugins.taskbuffer.distribu
lastUpdated: Date.now(), lastUpdated: Date.now(),
status: 'initializing', status: 'initializing',
taskRequests: [], taskRequests: [],
taskRequestResults: [] taskRequestResults: [],
}; };
await this.ownInstance.save(); await this.ownInstance.save();
}); });
@ -153,19 +153,17 @@ export class SmartdataDistributedCoordinator extends plugins.taskbuffer.distribu
/** /**
* this function is started once per unique job request * this function is started once per unique job request
*/ */
const startResultTimer = async () => { const startResultTimer = async () => {};
}
watcher.changeSubject.subscribe({ watcher.changeSubject.subscribe({
next: async (distributedDoc) => { next: async (distributedDoc) => {
distributedDoc distributedDoc;
} },
}) });
while (this.ownInstance.data.status !== 'stopped') { while (this.ownInstance.data.status !== 'stopped') {
await plugins.smartdelay.delayFor(1000); await plugins.smartdelay.delayFor(1000);
} }
}; }
// abstract implemented methods // abstract implemented methods
public async fireDistributedTaskRequest( public async fireDistributedTaskRequest(
@ -183,9 +181,11 @@ export class SmartdataDistributedCoordinator extends plugins.taskbuffer.distribu
infoBasisArg: plugins.taskbuffer.distributedCoordination.IDistributedTaskRequest infoBasisArg: plugins.taskbuffer.distributedCoordination.IDistributedTaskRequest
): Promise<void> { ): Promise<void> {
await this.asyncExecutionStack.getExclusiveExecutionSlot(async () => { await this.asyncExecutionStack.getExclusiveExecutionSlot(async () => {
const existingInfoBasis = this.ownInstance.data.taskRequests.find(infoBasisItem => { const existingInfoBasis = this.ownInstance.data.taskRequests.find((infoBasisItem) => {
return infoBasisItem.taskName === infoBasisArg.taskName return (
&& infoBasisItem.taskExecutionTime === infoBasisArg.taskExecutionTime; infoBasisItem.taskName === infoBasisArg.taskName &&
infoBasisItem.taskExecutionTime === infoBasisArg.taskExecutionTime
);
}); });
Object.assign(existingInfoBasis, infoBasisArg); Object.assign(existingInfoBasis, infoBasisArg);
await this.ownInstance.save(); await this.ownInstance.save();
@ -194,8 +194,8 @@ export class SmartdataDistributedCoordinator extends plugins.taskbuffer.distribu
const indexToRemove = this.ownInstance.data.taskRequests.indexOf(existingInfoBasis); const indexToRemove = this.ownInstance.data.taskRequests.indexOf(existingInfoBasis);
this.ownInstance.data.taskRequests.splice(indexToRemove, indexToRemove); this.ownInstance.data.taskRequests.splice(indexToRemove, indexToRemove);
await this.ownInstance.save(); await this.ownInstance.save();
}) });
}) });
}); });
} }
} }

View File

@ -101,8 +101,9 @@ export class EasyStore<T> {
} }
public async cleanUpEphermal() { public async cleanUpEphermal() {
while(await this.smartdataDbRef.statusConnectedDeferred.promise && this.smartdataDbRef.status === 'connected') { while (
(await this.smartdataDbRef.statusConnectedDeferred.promise) &&
} this.smartdataDbRef.status === 'connected'
) {}
} }
} }