Compare commits

...

8 Commits

Author SHA1 Message Date
ba38dae64f 2.0.12 2022-12-28 19:51:09 +01:00
69e862a6cf fix(core): update 2022-12-28 19:51:09 +01:00
4562ac355b 2.0.11 2022-12-28 14:02:15 +01:00
b029dc191e fix(core): update 2022-12-28 14:02:14 +01:00
2640275d04 2.0.10 2022-12-28 13:52:17 +01:00
7bbcc91300 fix(core): update 2022-12-28 13:52:16 +01:00
da39d52975 2.0.9 2022-12-28 13:51:41 +01:00
307469312f fix(core): update 2022-12-28 13:51:40 +01:00
12 changed files with 54 additions and 59 deletions

View File

@ -13,31 +13,24 @@ stages:
- metadata
before_script:
- npm install -g @shipzone/npmci
- pnpm install -g pnpm
- pnpm install -g @shipzone/npmci
- npmci npm prepare
# ====================
# security stage
# ====================
mirror:
stage: security
script:
- npmci git mirror
only:
- tags
tags:
- lossless
- docker
- notpriv
# ====================
# security stage
# ====================
auditProductionDependencies:
image: registry.gitlab.com/hosttoday/ht-docker-node:npmci
stage: security
script:
- npmci npm prepare
- npmci command npm install --production --ignore-scripts
- npmci command npm config set registry https://registry.npmjs.org
- npmci command npm audit --audit-level=high --only=prod --production
- npmci command npm config set registry https://registry.npmjs.org
- npmci command pnpm audit --audit-level=high --prod
tags:
- lossless
- docker
allow_failure: true
@ -45,11 +38,10 @@ auditDevDependencies:
image: registry.gitlab.com/hosttoday/ht-docker-node:npmci
stage: security
script:
- npmci npm prepare
- npmci command npm install --ignore-scripts
- npmci command npm config set registry https://registry.npmjs.org
- npmci command npm audit --audit-level=high --only=dev
- npmci command pnpm audit --audit-level=high --dev
tags:
- lossless
- docker
allow_failure: true
@ -60,7 +52,6 @@ auditDevDependencies:
testStable:
stage: test
script:
- npmci npm prepare
- npmci node install stable
- npmci npm install
- npmci npm test
@ -71,10 +62,9 @@ testStable:
testBuild:
stage: test
script:
- npmci npm prepare
- npmci node install stable
- npmci npm install
- npmci command npm run build
- npmci npm build
coverage: /\d+.?\d+?\%\s*coverage/
tags:
- docker
@ -100,10 +90,9 @@ codequality:
only:
- tags
script:
- npmci command npm install -g tslint typescript
- npmci command npm install -g typescript
- npmci npm prepare
- npmci npm install
- npmci command "tslint -c tslint.json ./ts/**/*.ts"
tags:
- lossless
- docker
@ -123,11 +112,9 @@ trigger:
pages:
stage: metadata
script:
- npmci node install lts
- npmci command npm install -g @gitzone/tsdoc
- npmci npm prepare
- npmci node install stable
- npmci npm install
- npmci command tsdoc
- npmci command npm run buildDocs
tags:
- lossless
- docker

View File

@ -22,6 +22,5 @@
}
}
}
],
"typescript.tsdk": "node_modules/typescript/lib"
]
}

View File

@ -1,13 +1,14 @@
{
"name": "@pushrocks/smartsocket",
"version": "2.0.8",
"version": "2.0.12",
"description": "easy and secure websocket communication",
"main": "dist_ts/index.js",
"typings": "dist_ts/index.d.ts",
"type": "module",
"scripts": {
"test": "(tstest test/)",
"build": "(tsbuild --web --allowimplicitany && tsbundle --from ./ts/index.ts --to dist_bundle/bundle.js)"
"build": "(tsbuild --web --allowimplicitany && tsbundle --from ./ts/index.ts --to dist_bundle/bundle.js)",
"buildDocs": "tsdoc"
},
"repository": {
"type": "git",
@ -25,7 +26,7 @@
"@pushrocks/isounique": "^1.0.5",
"@pushrocks/lik": "^6.0.0",
"@pushrocks/smartdelay": "^2.0.13",
"@pushrocks/smartenv": "^5.0.2",
"@pushrocks/smartenv": "^5.0.4",
"@pushrocks/smartexpress": "^4.0.18",
"@pushrocks/smartjson": "^5.0.1",
"@pushrocks/smartlog": "^3.0.1",
@ -37,6 +38,7 @@
},
"devDependencies": {
"@gitzone/tsbuild": "^2.1.63",
"@gitzone/tsbundle": "^2.0.7",
"@gitzone/tsrun": "^1.2.37",
"@gitzone/tstest": "^1.0.72",
"@pushrocks/tapbundle": "^5.0.4",

24
pnpm-lock.yaml generated
View File

@ -3,13 +3,14 @@ lockfileVersion: 5.4
specifiers:
'@apiglobal/typedrequest-interfaces': ^2.0.1
'@gitzone/tsbuild': ^2.1.63
'@gitzone/tsbundle': ^2.0.7
'@gitzone/tsrun': ^1.2.37
'@gitzone/tstest': ^1.0.72
'@pushrocks/isohash': ^2.0.0
'@pushrocks/isounique': ^1.0.5
'@pushrocks/lik': ^6.0.0
'@pushrocks/smartdelay': ^2.0.13
'@pushrocks/smartenv': ^5.0.2
'@pushrocks/smartenv': ^5.0.4
'@pushrocks/smartexpress': ^4.0.18
'@pushrocks/smartjson': ^5.0.1
'@pushrocks/smartlog': ^3.0.1
@ -27,7 +28,7 @@ dependencies:
'@pushrocks/isounique': 1.0.5
'@pushrocks/lik': 6.0.0
'@pushrocks/smartdelay': 2.0.13
'@pushrocks/smartenv': 5.0.3
'@pushrocks/smartenv': 5.0.4
'@pushrocks/smartexpress': 4.0.22
'@pushrocks/smartjson': 5.0.5
'@pushrocks/smartlog': 3.0.2
@ -39,6 +40,7 @@ dependencies:
devDependencies:
'@gitzone/tsbuild': 2.1.65
'@gitzone/tsbundle': 2.0.7
'@gitzone/tsrun': 1.2.39_@types+node@18.11.18
'@gitzone/tstest': 1.0.74_@types+node@18.11.18
'@pushrocks/tapbundle': 5.0.4
@ -328,7 +330,7 @@ packages:
/@pushrocks/isohash/2.0.0:
resolution: {integrity: sha512-a6Vktczk0Q39hBYTuAFqa12QNhy5GcFYhnJ5pqzpE5r3rj3FSS8HLqsoBUwB3b9YHGKYnbky9C3YNhMmFvoLPg==}
dependencies:
'@pushrocks/smartenv': 5.0.3
'@pushrocks/smartenv': 5.0.4
'@pushrocks/smarthash': 2.1.10
/@pushrocks/isounique/1.0.5:
@ -408,8 +410,8 @@ packages:
dependencies:
'@pushrocks/smartpromise': 3.1.7
/@pushrocks/smartenv/5.0.3:
resolution: {integrity: sha512-/cgEDhOIo9LB5Vd2BVO9+QrjC38w872iy7w88UWuwz7obVILWOHl3MYMHAKFqXexuwKpQ/y/Klu2xQHtOPgi6Q==}
/@pushrocks/smartenv/5.0.4:
resolution: {integrity: sha512-/fVIgZ9LY0GkJQFQwTC06nqFEJhZeuJapa6SeQs3WGkGkgYeWO3DTscwxtUpZULUn7geuAFQrk+vW+lErXiksQ==}
dependencies:
'@pushrocks/smartpromise': 3.1.7
@ -441,7 +443,7 @@ packages:
'@apiglobal/typedsocket': 2.0.12
'@pushrocks/lik': 6.0.0
'@pushrocks/smartdelay': 2.0.13
'@pushrocks/smartenv': 5.0.3
'@pushrocks/smartenv': 5.0.4
'@pushrocks/smartfeed': 1.0.11
'@pushrocks/smartfile': 10.0.5
'@pushrocks/smartmanifest': 1.0.8
@ -696,7 +698,7 @@ packages:
'@pushrocks/isounique': 1.0.5
'@pushrocks/lik': 6.0.0
'@pushrocks/smartdelay': 2.0.13
'@pushrocks/smartenv': 5.0.3
'@pushrocks/smartenv': 5.0.4
'@pushrocks/smartexpress': 4.0.22
'@pushrocks/smartjson': 5.0.5
'@pushrocks/smartlog': 3.0.2
@ -735,7 +737,7 @@ packages:
resolution: {integrity: sha512-g9a/Mfj+eJAUrTDQoH3oaYegjI98WlVoSLAI8lpExQ/STlEJGO5ZdWDqgZ0HvHe+5UeWvxzCFpHifqRhMUJ+dQ==}
dependencies:
'@pushrocks/isounique': 1.0.5
'@pushrocks/smartenv': 5.0.3
'@pushrocks/smartenv': 5.0.4
'@types/randomatic': 3.1.3
buffer: 6.0.3
crypto-random-string: 4.0.0
@ -806,7 +808,7 @@ packages:
dependencies:
'@open-wc/testing': 3.1.7
'@pushrocks/smartdelay': 2.0.13
'@pushrocks/smartenv': 5.0.3
'@pushrocks/smartenv': 5.0.4
'@pushrocks/smartexpect': 1.0.14
'@pushrocks/smartpromise': 3.1.7
'@pushrocks/smarttime': 3.0.50
@ -821,7 +823,7 @@ packages:
dependencies:
'@adobe/helix-fetch': 3.1.2
'@pushrocks/smartdelay': 2.0.13
'@pushrocks/smartenv': 5.0.3
'@pushrocks/smartenv': 5.0.4
'@pushrocks/smartjson': 5.0.5
'@pushrocks/smartpromise': 3.1.7
'@pushrocks/webstore': 2.0.5
@ -833,7 +835,7 @@ packages:
dependencies:
'@apiglobal/typedrequest-interfaces': 1.0.20
'@pushrocks/lik': 6.0.0
'@pushrocks/smartenv': 5.0.3
'@pushrocks/smartenv': 5.0.4
'@pushrocks/smartjson': 5.0.5
'@pushrocks/smartpromise': 3.1.7
'@pushrocks/smartrx': 2.0.27

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/smartsocket)](https://lossless.cloud)
PackagePhobia (package size on registry) | [![PackagePhobia](https://badgen.net/packagephobia/publish/@pushrocks/smartsocket)](https://lossless.cloud)
BundlePhobia (total size when bundled) | [![BundlePhobia](https://badgen.net/bundlephobia/minzip/@pushrocks/smartsocket)](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
@ -116,7 +115,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)

View File

@ -33,7 +33,6 @@ tap.test('Should accept an smartExpressServer as server', async () => {
await myseServer.start();
});
// class SocketFunction
tap.test('should register a new Function', async () => {
testSocketFunction1 = new smartsocket.SocketFunction({

View File

@ -3,6 +3,6 @@
*/
export const commitinfo = {
name: '@pushrocks/smartsocket',
version: '2.0.8',
version: '2.0.12',
description: 'easy and secure websocket communication'
}

View File

@ -61,7 +61,10 @@ export class Smartsocket {
await plugins.smartdelay.delayFor(1000);
this.socketConnections.forEach((socketObjectArg: SocketConnection) => {
if (socketObjectArg) {
logger.log('info', `disconnecting socket with >>alias ${socketObjectArg.alias} due to server stop...`);
logger.log(
'info',
`disconnecting socket with >>alias ${socketObjectArg.alias} due to server stop...`
);
socketObjectArg.disconnect();
}
});

View File

@ -95,9 +95,12 @@ export class SmartsocketClient {
nodeModuleName: 'socket.io-client',
webUrlArg: 'https://cdn.jsdelivr.net/npm/socket.io-client@4/dist/socket.io.js',
getFunction: () => {
return (globalThis as any).io;
const socketIoBrowserModule = (globalThis as any).io;
console.log('loaded socket.io for browser');
return socketIoBrowserModule;
},
});
console.log(socketIoClient);
logger.log('info', 'trying to connect...');
const socketUrl = `${this.serverUrl}:${this.serverPort}`;
this.socketConnection = new SocketConnection({

View File

@ -161,11 +161,10 @@ export class SocketConnection {
this.socket.on('function', (dataArg: ISocketRequestDataObject<any>) => {
// check if requested function is available to the socket's scope
// logger.log('info', 'function request received');
const referencedFunction: SocketFunction<any> = this.smartsocketRef.socketFunctions.findSync(
(socketFunctionArg) => {
const referencedFunction: SocketFunction<any> =
this.smartsocketRef.socketFunctions.findSync((socketFunctionArg) => {
return socketFunctionArg.name === dataArg.funcCallData.funcName;
}
);
});
if (referencedFunction) {
// logger.log('ok', 'function in access scope');
const localSocketRequest = new SocketRequest(this.smartsocketRef, {
@ -197,7 +196,10 @@ export class SocketConnection {
this.remoteTagStoreObservable.next(tagStoreArg);
});
logger.log('info', `now listening to function requests for ${this.alias} on side ${this.side}`);
logger.log(
'info',
`now listening to function requests for ${this.alias} on side ${this.side}`
);
done.resolve(this);
} else {
const errMessage = 'socket needs to be authenticated first';

View File

@ -13,7 +13,7 @@ export class SocketServer {
private smartsocket: Smartsocket;
private httpServerDeferred: plugins.smartpromise.Deferred<any>;
private httpServer: pluginsTyped.http.Server | pluginsTyped.https.Server;
/**
* wether httpServer is standalone
*/

View File

@ -10,7 +10,7 @@ import type * as smartexpress from '@pushrocks/smartexpress';
export { smartexpress };
// third party scope
import type { Socket as ServerSocket, Server as ServerServer} from 'socket.io';
import type { Socket as ServerSocket, Server as ServerServer } from 'socket.io';
import type { Socket as ClientSocket, connect as ClientIo } from 'socket.io-client';
export namespace socketIo {