BREAKING CHANGE(core): switch to esm

This commit is contained in:
Philipp Kunz 2022-03-25 12:14:49 +01:00
parent f50384947d
commit 835fa3663d
23 changed files with 6606 additions and 15315 deletions

21755
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -5,6 +5,7 @@
"description": "flexible task management. TypeScript ready!", "description": "flexible task management. TypeScript ready!",
"main": "dist_ts/index.js", "main": "dist_ts/index.js",
"typings": "dist_ts/index.d.ts", "typings": "dist_ts/index.d.ts",
"type": "module",
"scripts": { "scripts": {
"test": "(tstest test/ --web)", "test": "(tstest test/ --web)",
"build": "(tsbuild --web && tsbundle npm)" "build": "(tsbuild --web && tsbundle npm)"
@ -27,20 +28,20 @@
}, },
"homepage": "https://gitlab.com/pushrocks/taskbuffer#readme", "homepage": "https://gitlab.com/pushrocks/taskbuffer#readme",
"dependencies": { "dependencies": {
"@pushrocks/lik": "^5.0.0", "@pushrocks/lik": "^5.0.4",
"@pushrocks/smartdelay": "^2.0.13", "@pushrocks/smartdelay": "^2.0.13",
"@pushrocks/smartlog": "^2.0.44", "@pushrocks/smartlog": "^2.0.44",
"@pushrocks/smartpromise": "^3.1.6", "@pushrocks/smartpromise": "^3.1.7",
"@pushrocks/smartrx": "^2.0.19", "@pushrocks/smartrx": "^2.0.25",
"@pushrocks/smarttime": "^3.0.43", "@pushrocks/smarttime": "^3.0.45",
"@types/cron": "^1.7.3" "@types/cron": "^1.7.3"
}, },
"devDependencies": { "devDependencies": {
"@gitzone/tsbuild": "^2.1.28", "@gitzone/tsbuild": "^2.1.61",
"@gitzone/tsbundle": "^1.0.88", "@gitzone/tsbundle": "^1.0.101",
"@gitzone/tstest": "^1.0.60", "@gitzone/tstest": "^1.0.70",
"@pushrocks/tapbundle": "^3.2.14", "@pushrocks/tapbundle": "^5.0.3",
"@types/node": "^16.11.7", "@types/node": "^17.0.23",
"tslint": "^6.1.3", "tslint": "^6.1.3",
"tslint-config-prettier": "^1.18.0" "tslint-config-prettier": "^1.18.0"
}, },

View File

@ -1,5 +1,6 @@
import { expect, tap } from '@pushrocks/tapbundle'; import { expect, tap } from '@pushrocks/tapbundle';
import taskbuffer = require('../ts/index');
import * as taskbuffer from '../ts/index.js';
import * as smartpromise from '@pushrocks/smartpromise'; import * as smartpromise from '@pushrocks/smartpromise';
import * as smartdelay from '@pushrocks/smartdelay'; import * as smartdelay from '@pushrocks/smartdelay';
@ -66,7 +67,7 @@ tap.test('new Task() should return a new task', async () => {
}); });
tap.test('expect testTask to be an instance of Task', async () => { tap.test('expect testTask to be an instance of Task', async () => {
expect(testTask).to.be.instanceof(taskbuffer.Task); expect(testTask).toBeInstanceOf(taskbuffer.Task);
}); });
tap.test('expect testTask.idle is true', async () => { tap.test('expect testTask.idle is true', async () => {
@ -76,13 +77,13 @@ tap.test('expect testTask.idle is true', async () => {
}); });
tap.test('testTask.running should be of type boolean and initially false', async () => { tap.test('testTask.running should be of type boolean and initially false', async () => {
expect(testTask.running).to.be.a('boolean'); expect(testTask.running).toBeTypeofBoolean();
// tslint:disable-next-line:no-unused-expression // tslint:disable-next-line:no-unused-expression
expect(testTask.running).to.be.false; expect(testTask.running).toBeFalse();
}); });
tap.test('testTask.trigger() should return Promise', async () => { tap.test('testTask.trigger() should return Promise', async () => {
expect(testTask.trigger()).to.be.instanceof(Promise); expect(testTask.trigger()).toBeInstanceOf(Promise);
}); });
tap.test('testTask.trigger() returned Promise should be fullfilled', async () => { tap.test('testTask.trigger() returned Promise should be fullfilled', async () => {

View File

@ -1,5 +1,6 @@
import { expect, tap } from '@pushrocks/tapbundle'; import { expect, tap } from '@pushrocks/tapbundle';
import taskbuffer = require('../ts/index');
import * as taskbuffer from '../ts/index.js';
import * as smartpromise from '@pushrocks/smartpromise'; import * as smartpromise from '@pushrocks/smartpromise';
import * as smartdelay from '@pushrocks/smartdelay'; import * as smartdelay from '@pushrocks/smartdelay';
@ -36,12 +37,12 @@ tap.test('expect run tasks in sequence', async () => {
const testPromise = testTaskchain.trigger(); const testPromise = testTaskchain.trigger();
await smartdelay.delayFor(2100); await smartdelay.delayFor(2100);
// tslint:disable-next-line:no-unused-expression // tslint:disable-next-line:no-unused-expression
expect(task1Executed).to.be.true; expect(task1Executed).toBeTrue();
// tslint:disable-next-line:no-unused-expression // tslint:disable-next-line:no-unused-expression
expect(task2Executed).to.be.false; expect(task2Executed).toBeFalse();
await smartdelay.delayFor(2100); await smartdelay.delayFor(2100);
// tslint:disable-next-line:no-unused-expression // tslint:disable-next-line:no-unused-expression
expect(task2Executed).to.be.true; expect(task2Executed).toBeTrue();
await testPromise; await testPromise;
}); });

View File

@ -1,7 +1,8 @@
import { expect, tap } from '@pushrocks/tapbundle'; import { expect, tap } from '@pushrocks/tapbundle';
import taskbuffer = require('../ts/index');
import * as smartdelay from '@pushrocks/smartdelay'; import * as smartdelay from '@pushrocks/smartdelay';
import * as taskbuffer from '../ts/index.js';
let task1Executed = false; let task1Executed = false;
const task1 = new taskbuffer.Task({ const task1 = new taskbuffer.Task({
taskFunction: async () => { taskFunction: async () => {

View File

@ -1,5 +1,6 @@
import { expect, tap } from '@pushrocks/tapbundle'; import { expect, tap } from '@pushrocks/tapbundle';
import taskbuffer = require('../ts/index');
import * as taskbuffer from '../ts/index.js';
import * as smartpromise from '@pushrocks/smartpromise'; import * as smartpromise from '@pushrocks/smartpromise';
import * as smartdelay from '@pushrocks/smartdelay'; import * as smartdelay from '@pushrocks/smartdelay';
@ -10,7 +11,7 @@ const taskDone = smartpromise.defer();
tap.test('should create an instance of TaskManager', async () => { tap.test('should create an instance of TaskManager', async () => {
myTaskManager = new taskbuffer.TaskManager(); myTaskManager = new taskbuffer.TaskManager();
expect(myTaskManager).to.be.instanceof(taskbuffer.TaskManager); expect(myTaskManager).toBeInstanceOf(taskbuffer.TaskManager);
}); });
tap.test('should run the task as expected', async () => { tap.test('should run the task as expected', async () => {
@ -33,7 +34,7 @@ tap.test('should run the task as expected', async () => {
myTaskManager.start(); myTaskManager.start();
await myTaskManager.triggerTaskByName('myTask'); await myTaskManager.triggerTaskByName('myTask');
// tslint:disable-next-line:no-unused-expression // tslint:disable-next-line:no-unused-expression
expect(referenceBoolean).to.be.true; expect(referenceBoolean).toBeTrue();
}); });
tap.test('should schedule task', async () => { tap.test('should schedule task', async () => {

View File

@ -1,5 +1,6 @@
import { expect, tap } from '@pushrocks/tapbundle'; import { expect, tap } from '@pushrocks/tapbundle';
import taskbuffer = require('../ts/index');
import * as taskbuffer from '../ts/index.js';
import * as smartpromise from '@pushrocks/smartpromise'; import * as smartpromise from '@pushrocks/smartpromise';
import * as smartdelay from '@pushrocks/smartdelay'; import * as smartdelay from '@pushrocks/smartdelay';
@ -43,22 +44,22 @@ const flowTask3 = new taskbuffer.Taskchain({
tap.test('should let a value flow through a task', async () => { tap.test('should let a value flow through a task', async () => {
const result = await flowTask1.trigger(12); const result = await flowTask1.trigger(12);
expect(result).to.equal(12); expect(result).toEqual(12);
}); });
tap.test('expect values to flow between tasks', async () => { tap.test('expect values to flow between tasks', async () => {
const result = await flowTask2.trigger(12); const result = await flowTask2.trigger(12);
expect(result).to.equal(12); expect(result).toEqual(12);
}); });
tap.test('expect values to flow between tasks when buffered', async () => { tap.test('expect values to flow between tasks when buffered', async () => {
const result = await flowTaskBuffered.trigger(12); const result = await flowTaskBuffered.trigger(12);
expect(result).to.equal(12); expect(result).toEqual(12);
}); });
tap.test('expect values to flow between tasks in Taskchain', async () => { tap.test('expect values to flow between tasks in Taskchain', async () => {
const result = await flowTask3.trigger(12); const result = await flowTask3.trigger(12);
expect(result).to.equal(12); expect(result).toEqual(12);
}); });
tap.start(); tap.start();

View File

@ -1,6 +1,6 @@
import { expect, tap } from '@pushrocks/tapbundle'; import { expect, tap } from '@pushrocks/tapbundle';
import * as taskbuffer from '../ts/index'; import * as taskbuffer from '../ts/index.js';
let myNumber = 0; let myNumber = 0;
let myTaskOnce: taskbuffer.TaskOnce; let myTaskOnce: taskbuffer.TaskOnce;
@ -11,18 +11,18 @@ tap.test('should create a valid instance of TaskOnce', async () => {
myNumber++; myNumber++;
}, },
}); });
expect(myTaskOnce).to.be.instanceof(taskbuffer.TaskOnce); expect(myTaskOnce).toBeInstanceOf(taskbuffer.TaskOnce);
}); });
tap.test('myNumber should still be 0', async () => { tap.test('myNumber should still be 0', async () => {
expect(myNumber).to.equal(0); expect(myNumber).toEqual(0);
}); });
tap.test('myTaskOnce should trigger once', async () => { tap.test('myTaskOnce should trigger once', async () => {
await myTaskOnce.trigger(); await myTaskOnce.trigger();
await myTaskOnce.trigger(); await myTaskOnce.trigger();
await myTaskOnce.trigger(); await myTaskOnce.trigger();
expect(myNumber).to.equal(1); expect(myNumber).toEqual(1);
}); });
tap.start(); tap.start();

View File

@ -1,6 +1,6 @@
import { tap, expect } from '@pushrocks/tapbundle'; import { tap, expect } from '@pushrocks/tapbundle';
import * as taskbuffer from '../ts'; import * as taskbuffer from '../ts/index.js';
let preTask: taskbuffer.Task; let preTask: taskbuffer.Task;
let afterTask: taskbuffer.Task; let afterTask: taskbuffer.Task;

View File

@ -1,6 +1,6 @@
import { tap, expect } from '@pushrocks/tapbundle'; import { tap, expect } from '@pushrocks/tapbundle';
import * as taskbuffer from '../ts'; import * as taskbuffer from '../ts/index.js';
let counter1 = 0; let counter1 = 0;
let counter2 = 0; let counter2 = 0;

View File

@ -1,5 +1,6 @@
import { tap, expect } from '@pushrocks/tapbundle'; import { tap, expect } from '@pushrocks/tapbundle';
import * as taskbuffer from '../ts/index';
import * as taskbuffer from '../ts/index.js';
let testTaskRunner: taskbuffer.TaskRunner; let testTaskRunner: taskbuffer.TaskRunner;

View File

@ -1,7 +1,8 @@
export { Task, ITaskFunction } from './taskbuffer.classes.task'; export { Task } from './taskbuffer.classes.task.js';
export { Taskchain } from './taskbuffer.classes.taskchain'; export type { ITaskFunction } from './taskbuffer.classes.task.js'
export { Taskparallel } from './taskbuffer.classes.taskparallel'; export { Taskchain } from './taskbuffer.classes.taskchain.js';
export { TaskManager } from './taskbuffer.classes.taskmanager'; export { Taskparallel } from './taskbuffer.classes.taskparallel.js';
export { TaskOnce } from './taskbuffer.classes.taskonce'; export { TaskManager } from './taskbuffer.classes.taskmanager.js';
export { TaskRunner } from './taskbuffer.classes.taskrunner'; export { TaskOnce } from './taskbuffer.classes.taskonce.js';
export { TaskDebounced } from './taskbuffer.classes.taskdebounced'; export { TaskRunner } from './taskbuffer.classes.taskrunner.js';
export { TaskDebounced } from './taskbuffer.classes.taskdebounced.js';

View File

@ -1,4 +1,4 @@
import { Task } from './taskbuffer.classes.task'; import { Task } from './taskbuffer.classes.task.js';
export class BufferRunner { export class BufferRunner {
public task: Task; public task: Task;

View File

@ -1,5 +1,5 @@
import * as plugins from './taskbuffer.plugins'; import * as plugins from './taskbuffer.plugins.js';
import { Task } from './taskbuffer.classes.task'; import { Task } from './taskbuffer.classes.task.js';
export interface ICycleObject { export interface ICycleObject {
cycleCounter: number; cycleCounter: number;

View File

@ -1,8 +1,8 @@
import * as plugins from './taskbuffer.plugins'; import * as plugins from './taskbuffer.plugins.js';
import { BufferRunner } from './taskbuffer.classes.bufferrunner'; import { BufferRunner } from './taskbuffer.classes.bufferrunner.js';
import { CycleCounter } from './taskbuffer.classes.cyclecounter'; import { CycleCounter } from './taskbuffer.classes.cyclecounter.js';
import { logger } from './taskbuffer.logging'; import { logger } from './taskbuffer.logging.js';
export interface ITaskFunction { export interface ITaskFunction {
(x?: any): PromiseLike<any>; (x?: any): PromiseLike<any>;

View File

@ -1,9 +1,9 @@
// TaskChain chains tasks // TaskChain chains tasks
// and extends Task // and extends Task
import * as plugins from './taskbuffer.plugins'; import * as plugins from './taskbuffer.plugins.js';
import { Task } from './taskbuffer.classes.task'; import { Task } from './taskbuffer.classes.task.js';
import { logger } from './taskbuffer.logging'; import { logger } from './taskbuffer.logging.js';
export class Taskchain extends Task { export class Taskchain extends Task {
taskArray: Task[]; taskArray: Task[];

View File

@ -1,6 +1,6 @@
import * as plugins from './taskbuffer.plugins'; import * as plugins from './taskbuffer.plugins.js';
import { Task, ITaskFunction } from './taskbuffer.classes.task'; import { Task, ITaskFunction } from './taskbuffer.classes.task.js';
export class TaskDebounced<T = unknown> extends Task { export class TaskDebounced<T = unknown> extends Task {
private _debouncedTaskFunction: ITaskFunction; private _debouncedTaskFunction: ITaskFunction;

View File

@ -1,6 +1,5 @@
import * as plugins from './taskbuffer.plugins'; import * as plugins from './taskbuffer.plugins.js';
import { Task } from './taskbuffer.classes.task'; import { Task } from './taskbuffer.classes.task.js';
import { threadId } from 'worker_threads';
export interface ICronJob { export interface ICronJob {
cronString: string; cronString: string;

View File

@ -1,6 +1,6 @@
import * as plugins from './taskbuffer.plugins'; import * as plugins from './taskbuffer.plugins.js';
import { Task, ITaskFunction } from './taskbuffer.classes.task'; import { Task, ITaskFunction } from './taskbuffer.classes.task.js';
/** /**
* TaskOnce is run exactly once, no matter how often it is triggered * TaskOnce is run exactly once, no matter how often it is triggered

View File

@ -1,5 +1,5 @@
import * as plugins from './taskbuffer.plugins'; import * as plugins from './taskbuffer.plugins.js';
import { Task } from './taskbuffer.classes.task'; import { Task } from './taskbuffer.classes.task.js';
export class Taskparallel extends Task { export class Taskparallel extends Task {
public taskArray: Task[]; public taskArray: Task[];

View File

@ -1,6 +1,6 @@
import * as plugins from './taskbuffer.plugins'; import * as plugins from './taskbuffer.plugins.js';
import { Task } from './taskbuffer.classes.task'; import { Task } from './taskbuffer.classes.task.js';
export class TaskRunner { export class TaskRunner {
public maxParrallelJobs: number = 1; public maxParrallelJobs: number = 1;

View File

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

View File

@ -1,17 +0,0 @@
{
"extends": ["tslint:latest", "tslint-config-prettier"],
"rules": {
"semicolon": [true, "always"],
"no-console": false,
"ordered-imports": false,
"object-literal-sort-keys": false,
"member-ordering": {
"options":{
"order": [
"static-method"
]
}
}
},
"defaultSeverity": "warning"
}