BREAKING CHANGE(switch to esm): update

This commit is contained in:
Philipp Kunz 2022-03-14 22:40:55 +01:00
parent 7f73664970
commit 966d953aff
17 changed files with 4579 additions and 13045 deletions

View File

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

17451
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -4,9 +4,10 @@
"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 && tsbundle --from ./ts/index.ts --to dist_bundle/bundle.js)"
"build": "(tsbuild --web --allowimplicitany --skiplibcheck && tsbundle --from ./ts/index.ts --to dist_bundle/bundle.js)"
},
"repository": {
"type": "git",
@ -22,24 +23,24 @@
"@apiglobal/typedrequest-interfaces": "^1.0.15",
"@pushrocks/isohash": "^1.0.2",
"@pushrocks/isounique": "^1.0.5",
"@pushrocks/lik": "^5.0.0",
"@pushrocks/lik": "^5.0.4",
"@pushrocks/smartdelay": "^2.0.13",
"@pushrocks/smartenv": "^4.0.16",
"@pushrocks/smartexpress": "^3.0.108",
"@pushrocks/smartjson": "^4.0.6",
"@pushrocks/smartlog": "^2.0.44",
"@pushrocks/smartpromise": "^3.1.6",
"@pushrocks/smartrx": "^2.0.19",
"@pushrocks/smarttime": "^3.0.43",
"@pushrocks/smartpromise": "^3.1.7",
"@pushrocks/smartrx": "^2.0.25",
"@pushrocks/smarttime": "^3.0.45",
"socket.io": "^4.4.1",
"socket.io-client": "^4.4.1"
},
"devDependencies": {
"@gitzone/tsbuild": "^2.1.29",
"@gitzone/tsrun": "^1.2.18",
"@gitzone/tstest": "^1.0.60",
"@pushrocks/tapbundle": "^3.2.15",
"@types/node": "^17.0.10",
"@gitzone/tsbuild": "^2.1.50",
"@gitzone/tsrun": "^1.2.31",
"@gitzone/tstest": "^1.0.67",
"@pushrocks/tapbundle": "^5.0.2",
"@types/node": "^17.0.21",
"tslint": "^6.1.3",
"tslint-config-prettier": "^1.18.0"
},

View File

@ -1,10 +1,10 @@
// tslint:disable-next-line:no-implicit-dependencies
import { expect, tap } from '@pushrocks/tapbundle';
import { expect, expectAsync, tap } from '@pushrocks/tapbundle';
import * as isohash from '@pushrocks/isohash';
import * as smartexpress from '@pushrocks/smartexpress';
import smartsocket = require('../ts/index');
import * as smartsocket from '../ts/index.js';
let testSmartsocket: smartsocket.Smartsocket;
let testSmartsocketClient: smartsocket.SmartsocketClient;
@ -18,7 +18,7 @@ const testConfig = {
// class smartsocket
tap.test('should create a new smartsocket', async () => {
testSmartsocket = new smartsocket.Smartsocket({ alias: 'testserver', port: testConfig.port });
expect(testSmartsocket).be.instanceOf(smartsocket.Smartsocket);
expect(testSmartsocket).toBeInstanceOf(smartsocket.Smartsocket);
});
tap.test('Should accept an smartExpressServer as server', async () => {
@ -80,7 +80,7 @@ tap.test('should be able to make a functionCall from client to server', async ()
const response: any = await testSmartsocketClient.serverCall('testFunction1', {
value1: randomString,
});
expect(response.value1).to.equal(randomString);
expect(response.value1).toEqual(randomString);
if (counter % 100 === 0) {
console.log(
`processed 100 more messages in ${Date.now() - startTime}ms. ${

View File

@ -1,7 +1,7 @@
// tslint:disable-next-line:no-implicit-dependencies
import { expect, tap } from '@pushrocks/tapbundle';
import smartsocket = require('../ts/index');
import * as smartsocket from '../ts/index.js';
let testSmartsocket: smartsocket.Smartsocket;
let testSmartsocketClient: smartsocket.SmartsocketClient;
@ -79,7 +79,7 @@ tap.test('should be able to tag a connection from client', async (tools) => {
return true;
})
.getTagById('awesome');
expect(tagOnServerSide.payload).to.equal('yes');
expect(tagOnServerSide.payload).toEqual('yes');
});
tap.test('should be able to tag a connection from server', async (tools) => {
@ -92,7 +92,7 @@ tap.test('should be able to tag a connection from server', async (tools) => {
payload: 'absolutely',
});
const tagOnClientSide = await testSmartsocketClient.socketConnection.getTagById('awesome2');
expect(tagOnClientSide.payload).to.equal('absolutely');
expect(tagOnClientSide.payload).toEqual('absolutely');
});
tap.test('should be able to make a functionCall from client to server', async () => {
@ -100,7 +100,7 @@ tap.test('should be able to make a functionCall from client to server', async ()
value1: 'hello',
});
console.log(response);
expect(response.value1).to.equal('hello');
expect(response.value1).toEqual('hello');
});
tap.test('should be able to make a functionCall from server to client', async () => {
@ -114,14 +114,14 @@ tap.test('should be able to make a functionCall from server to client', async ()
})
);
console.log(response);
expect(response.hi).to.equal('hi there from server');
expect(response.hi).toEqual('hi there from server');
});
tap.test('client should disconnect and reconnect', async (toolsArg) => {
await testSmartsocketClient.disconnect();
await testSmartsocketClient.connect();
await toolsArg.delayFor(2000);
expect(testSmartsocket.socketConnections.getArray().length).to.equal(1);
expect(testSmartsocket.socketConnections.getArray().length).toEqual(1);
});
// class smartsocket
@ -133,13 +133,13 @@ tap.test('should be able to switch to a new server', async (toolsArg) => {
});
tap.test('should be able to locate a connection tag after reconnect', async (tools) => {
expect(testSmartsocket.socketConnections.getArray().length).to.equal(1);
expect(testSmartsocket.socketConnections.getArray().length).toEqual(1);
const tagOnServerSide = await testSmartsocket.socketConnections
.findSync((socketConnection) => {
return true;
})
.getTagById('awesome');
expect(tagOnServerSide.payload).to.equal('yes');
expect(tagOnServerSide.payload).toEqual('yes');
});
// terminate

View File

@ -1,7 +1,7 @@
// tslint:disable-next-line:no-implicit-dependencies
import { expect, tap } from '@pushrocks/tapbundle';
import smartsocket = require('../ts/index');
import * as smartsocket from '../ts/index.js';
let testSmartsocket: smartsocket.Smartsocket;
let testSmartsocketClient: smartsocket.SmartsocketClient;
@ -35,7 +35,7 @@ const testConfig = {
// class smartsocket
tap.test('should create a new smartsocket', async () => {
testSmartsocket = new smartsocket.Smartsocket({ alias: 'testserver2', port: testConfig.port });
expect(testSmartsocket).be.instanceOf(smartsocket.Smartsocket);
expect(testSmartsocket).toBeInstanceOf(smartsocket.Smartsocket);
});
// class SocketFunction
@ -82,7 +82,7 @@ tap.test('should be able to tag a connection from client', async (tools) => {
return true;
})
.getTagById('awesome');
expect(tagOnServerSide.payload).to.equal('yes');
expect(tagOnServerSide.payload).toEqual('yes');
});
tap.test('should be able to tag a connection from server', async (tools) => {
@ -95,7 +95,7 @@ tap.test('should be able to tag a connection from server', async (tools) => {
payload: 'absolutely',
});
const tagOnClientSide = await testSmartsocketClient.socketConnection.getTagById('awesome2');
expect(tagOnClientSide.payload).to.equal('absolutely');
expect(tagOnClientSide.payload).toEqual('absolutely');
});
tap.test('2 clients should connect in parallel', async () => {
@ -107,7 +107,7 @@ tap.test('should be able to make a functionCall from client to server', async ()
value1: 'hello',
});
console.log(response);
expect(response.value1).to.equal('hello');
expect(response.value1).toEqual('hello');
});
tap.test('should be able to make a functionCall from server to client', async () => {
@ -121,7 +121,7 @@ tap.test('should be able to make a functionCall from server to client', async ()
})
);
console.log(response);
expect(response.hi).to.equal('hi there from server');
expect(response.hi).toEqual('hi there from server');
});
tap.test('client should disconnect and reconnect', async (tools) => {
@ -136,7 +136,7 @@ tap.test('should be able to locate a connection tag after reconnect', async (too
return true;
})
.getTagById('awesome');
expect(tagOnServerSide.payload).to.equal('yes');
expect(tagOnServerSide.payload).toEqual('yes');
});
// terminate

View File

@ -1,7 +1,7 @@
// export main classes
export * from './smartsocket.classes.smartsocket';
export * from './smartsocket.classes.smartsocketclient';
export * from './smartsocket.classes.smartsocket.js';
export * from './smartsocket.classes.smartsocketclient.js';
// export further classes and objects
export * from './smartsocket.classes.socketfunction';
export * from './smartsocket.classes.socketconnection';
export * from './smartsocket.classes.socketfunction.js';
export * from './smartsocket.classes.socketconnection.js';

View File

@ -1,2 +1,2 @@
export * from './connection';
export * from './tag';
export * from './connection.js';
export * from './tag.js';

View File

@ -1,17 +1,17 @@
import * as plugins from './smartsocket.plugins';
import * as pluginsTyped from './smartsocket.pluginstyped';
import * as plugins from './smartsocket.plugins.js';
import * as pluginsTyped from './smartsocket.pluginstyped.js';
// classes
import { SocketConnection } from './smartsocket.classes.socketconnection';
import { SocketConnection } from './smartsocket.classes.socketconnection.js';
import {
ISocketFunctionCallDataRequest,
SocketFunction,
ISocketFunctionCallDataResponse,
} from './smartsocket.classes.socketfunction';
import { SocketRequest } from './smartsocket.classes.socketrequest';
import { SocketServer } from './smartsocket.classes.socketserver';
} from './smartsocket.classes.socketfunction.js';
import { SocketRequest } from './smartsocket.classes.socketrequest.js';
import { SocketServer } from './smartsocket.classes.socketserver.js';
import { logger } from './smartsocket.logging';
import { logger } from './smartsocket.logging.js';
export interface ISmartsocketConstructorOptions {
alias: string;

View File

@ -1,14 +1,14 @@
import * as plugins from './smartsocket.plugins';
import * as pluginsTyped from './smartsocket.pluginstyped';
import * as interfaces from './interfaces';
import * as plugins from './smartsocket.plugins.js';
import * as pluginsTyped from './smartsocket.pluginstyped.js';
import * as interfaces from './interfaces/index.js';
import { SocketConnection } from './smartsocket.classes.socketconnection';
import { SocketConnection } from './smartsocket.classes.socketconnection.js';
import {
ISocketFunctionCallDataRequest,
SocketFunction,
} from './smartsocket.classes.socketfunction';
import { ISocketRequestDataObject, SocketRequest } from './smartsocket.classes.socketrequest';
import { logger } from './smartsocket.logging';
} from './smartsocket.classes.socketfunction.js';
import { ISocketRequestDataObject, SocketRequest } from './smartsocket.classes.socketrequest.js';
import { logger } from './smartsocket.logging.js';
/**
* interface for class SmartsocketClient

View File

@ -1,15 +1,15 @@
import * as plugins from './smartsocket.plugins';
import * as pluginsTyped from './smartsocket.pluginstyped';
import * as interfaces from './interfaces';
import * as plugins from './smartsocket.plugins.js';
import * as pluginsTyped from './smartsocket.pluginstyped.js';
import * as interfaces from './interfaces/index.js';
// import classes
import { Smartsocket } from './smartsocket.classes.smartsocket';
import { SocketFunction } from './smartsocket.classes.socketfunction';
import { SocketRequest, ISocketRequestDataObject } from './smartsocket.classes.socketrequest';
import { Smartsocket } from './smartsocket.classes.smartsocket.js';
import { SocketFunction } from './smartsocket.classes.socketfunction.js';
import { SocketRequest, ISocketRequestDataObject } from './smartsocket.classes.socketrequest.js';
// socket.io
import { SmartsocketClient } from './smartsocket.classes.smartsocketclient';
import { logger } from './smartsocket.logging';
import { SmartsocketClient } from './smartsocket.classes.smartsocketclient.js';
import { logger } from './smartsocket.logging.js';
// export interfaces

View File

@ -1,9 +1,9 @@
import * as plugins from './smartsocket.plugins';
import * as plugins from './smartsocket.plugins.js';
// import classes
import { SocketConnection } from './smartsocket.classes.socketconnection';
import { Smartsocket } from './smartsocket.classes.smartsocket';
import { SmartsocketClient } from './smartsocket.classes.smartsocketclient';
import { SocketConnection } from './smartsocket.classes.socketconnection.js';
import { Smartsocket } from './smartsocket.classes.smartsocket.js';
import { SmartsocketClient } from './smartsocket.classes.smartsocketclient.js';
// export interfaces

View File

@ -1,17 +1,17 @@
import * as plugins from './smartsocket.plugins';
import * as plugins from './smartsocket.plugins.js';
// import interfaces
import {
SocketFunction,
ISocketFunctionCallDataRequest,
ISocketFunctionCallDataResponse,
} from './smartsocket.classes.socketfunction';
} from './smartsocket.classes.socketfunction.js';
// import classes
import { SocketConnection } from './smartsocket.classes.socketconnection';
import { logger } from './smartsocket.logging';
import { Smartsocket } from './smartsocket.classes.smartsocket';
import { SmartsocketClient } from './smartsocket.classes.smartsocketclient';
import { SocketConnection } from './smartsocket.classes.socketconnection.js';
import { logger } from './smartsocket.logging.js';
import { Smartsocket } from './smartsocket.classes.smartsocket.js';
import { SmartsocketClient } from './smartsocket.classes.smartsocketclient.js';
// export interfaces
export type TSocketRequestStatus = 'new' | 'pending' | 'finished';

View File

@ -1,9 +1,9 @@
import * as plugins from './smartsocket.plugins';
import * as pluginsTyped from './smartsocket.pluginstyped';
import * as plugins from './smartsocket.plugins.js';
import * as pluginsTyped from './smartsocket.pluginstyped.js';
// used in case no other server is supplied
import { Smartsocket } from './smartsocket.classes.smartsocket';
import { logger } from './smartsocket.logging';
import { Smartsocket } from './smartsocket.classes.smartsocket.js';
import { logger } from './smartsocket.logging.js';
/**
* class socketServer

View File

@ -1,3 +1,3 @@
import * as plugins from './smartsocket.plugins';
import * as plugins from './smartsocket.plugins.js';
export const logger = new plugins.smartlog.ConsoleLog();

View File

@ -1,6 +1,6 @@
// node native
import type http from 'http';
import type https from 'https';
import type * as http from 'http';
import type * as https from 'https';
export { http, https };

7
tsconfig.json Normal file
View File

@ -0,0 +1,7 @@
{
"compilerOptions": {
"module": "ES2020",
"moduleResolution": "node12",
"esModuleInterop": true
}
}