Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 9d78933a46 | |||
| 28d9ad1746 | |||
| 28312972e0 | |||
| a0abcdda90 | |||
| 1dd7ca46ff | |||
| 6110dd8e71 |
24
changelog.md
24
changelog.md
@@ -1,5 +1,29 @@
|
||||
# Changelog
|
||||
|
||||
## 2026-02-15 - 4.2.1 - fix(deps)
|
||||
bump @push.rocks/smartlog and @types/node; update dependency list version and license link in docs
|
||||
|
||||
- package.json: update @push.rocks/smartlog from ^3.1.10 to ^3.1.11
|
||||
- package.json: update @types/node from ^25.1.0 to ^25.2.3
|
||||
- readme.hints.md: update 'Dependencies (as of v4.1.1)' to 'Dependencies (as of v4.2.0)' and reflect bumped dependency versions
|
||||
- readme.md: change license link text to '[LICENSE](./license.md)'
|
||||
|
||||
## 2026-01-29 - 4.2.0 - feat(ts_web)
|
||||
support TC39 'accessor' decorators for web components; bump dependencies and devDependencies; rename browser tests to .chromium.ts; move LICENSE to license.md and update readme
|
||||
|
||||
- Convert web component class fields to use the TC39 'accessor' keyword in ts_web/taskbuffer-dashboard.ts to be compatible with @design.estate/dees-element v2.1.6
|
||||
- Bump @design.estate/dees-element to ^2.1.6 and update devDependencies (@git.zone/tsbuild, @git.zone/tsbundle, @git.zone/tsrun, @git.zone/tstest, @types/node) to newer versions
|
||||
- Replace test/test.10.webcomponent.browser.ts with test/test.10.webcomponent.chromium.ts and update testing guidance in readme.hints.md to prefer .chromium.ts
|
||||
- Move LICENSE file content to license.md and update readme.md to reference the new license file
|
||||
- Small test cleanups: remove obsolete tslint:disable comments
|
||||
|
||||
## 2026-01-26 - 4.1.1 - fix(ts_web)
|
||||
fix web dashboard typings and update generated commit info
|
||||
|
||||
- Updated generated commit info file ts_web/00_commitinfo_data.ts to version 4.1.0
|
||||
- Large changes applied to web/TS build files (net +529 additions, -399 deletions) — likely fixes and typing/refactor improvements in ts_web/dashboard
|
||||
- package.json remains at 4.1.0; recommend a patch bump to 4.1.1 for these fixes
|
||||
|
||||
## 2026-01-26 - 4.1.0 - feat(task)
|
||||
add task labels and push-based task events
|
||||
|
||||
|
||||
18
package.json
18
package.json
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@push.rocks/taskbuffer",
|
||||
"version": "4.1.0",
|
||||
"version": "4.2.1",
|
||||
"private": false,
|
||||
"description": "A flexible task management library supporting TypeScript, allowing for task buffering, scheduling, and execution with dependency management.",
|
||||
"main": "dist_ts/index.js",
|
||||
@@ -27,28 +27,28 @@
|
||||
"debounced tasks",
|
||||
"distributed coordination"
|
||||
],
|
||||
"author": "Lossless GmbH",
|
||||
"author": "Task Venture Capital GmbH <hello@task.vc>",
|
||||
"license": "MIT",
|
||||
"bugs": {
|
||||
"url": "https://code.foss.global/push.rocks/taskbuffer/issues"
|
||||
},
|
||||
"homepage": "https://code.foss.global/push.rocks/taskbuffer#readme",
|
||||
"dependencies": {
|
||||
"@design.estate/dees-element": "^2.1.3",
|
||||
"@design.estate/dees-element": "^2.1.6",
|
||||
"@push.rocks/lik": "^6.2.2",
|
||||
"@push.rocks/smartdelay": "^3.0.5",
|
||||
"@push.rocks/smartlog": "^3.1.10",
|
||||
"@push.rocks/smartlog": "^3.1.11",
|
||||
"@push.rocks/smartpromise": "^4.2.3",
|
||||
"@push.rocks/smartrx": "^3.0.10",
|
||||
"@push.rocks/smarttime": "^4.1.1",
|
||||
"@push.rocks/smartunique": "^3.0.9"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@git.zone/tsbuild": "^3.1.2",
|
||||
"@git.zone/tsbundle": "^2.6.3",
|
||||
"@git.zone/tsrun": "^2.0.0",
|
||||
"@git.zone/tstest": "^3.1.3",
|
||||
"@types/node": "^24.10.1"
|
||||
"@git.zone/tsbuild": "^4.1.2",
|
||||
"@git.zone/tsbundle": "^2.8.3",
|
||||
"@git.zone/tsrun": "^2.0.1",
|
||||
"@git.zone/tstest": "^3.1.8",
|
||||
"@types/node": "^25.2.3"
|
||||
},
|
||||
"files": [
|
||||
"ts/**/*",
|
||||
|
||||
4750
pnpm-lock.yaml
generated
4750
pnpm-lock.yaml
generated
File diff suppressed because it is too large
Load Diff
@@ -36,7 +36,34 @@
|
||||
|
||||
## Project Structure
|
||||
- Source in `ts/`, web components in `ts_web/`
|
||||
- Tests in `test/` - naming: `*.node.ts`, `*.browser.ts`, `*.both.ts`
|
||||
- Tests in `test/` - naming: `*.node.ts`, `*.chromium.ts` (preferred), `*.both.ts`
|
||||
- Note: `*.browser.ts` is deprecated, use `*.chromium.ts` for browser tests
|
||||
- Logger: `ts/taskbuffer.logging.ts` exports `logger` (ConsoleLog from smartlog)
|
||||
- Build: `pnpm build` (tsbuild tsfolders)
|
||||
- Test: `pnpm test` or `tstest test/test.XX.name.ts --verbose`
|
||||
|
||||
## Web Components (ts_web/)
|
||||
- Uses `@design.estate/dees-element` with TC39 decorators
|
||||
- Decorators require the `accessor` keyword:
|
||||
```typescript
|
||||
@property({ type: String })
|
||||
accessor myProp = 'default';
|
||||
|
||||
@state()
|
||||
accessor count = 0;
|
||||
```
|
||||
|
||||
## Dependencies (as of v4.2.0)
|
||||
- `@design.estate/dees-element` ^2.1.6 - TC39 decorators with `accessor` keyword
|
||||
- `@push.rocks/lik` ^6.2.2 - Data structures
|
||||
- `@push.rocks/smartdelay` ^3.0.5 - Delay utilities
|
||||
- `@push.rocks/smartlog` ^3.1.11 - Logging
|
||||
- `@push.rocks/smartpromise` ^4.2.3 - Promise utilities
|
||||
- `@push.rocks/smartrx` ^3.0.10 - RxJS wrapper
|
||||
- `@push.rocks/smarttime` ^4.1.1 - Time/cron utilities
|
||||
- `@push.rocks/smartunique` ^3.0.9 - Unique ID generation
|
||||
- `@git.zone/tsbuild` ^4.1.2 - Build tool
|
||||
- `@git.zone/tsbundle` ^2.8.3 - Bundler (for browser tests)
|
||||
- `@git.zone/tsrun` ^2.0.1 - TypeScript runner
|
||||
- `@git.zone/tstest` ^3.1.8 - Test runner (supports `.chromium.ts` files)
|
||||
- `@types/node` ^25.2.3 - Node.js type definitions
|
||||
|
||||
@@ -36,12 +36,9 @@ tap.test('expect run tasks in sequence', async () => {
|
||||
});
|
||||
const testPromise = testTaskchain.trigger();
|
||||
await smartdelay.delayFor(2100);
|
||||
// tslint:disable-next-line:no-unused-expression
|
||||
expect(task1Executed).toBeTrue();
|
||||
// tslint:disable-next-line:no-unused-expression
|
||||
expect(task2Executed).toBeFalse();
|
||||
await smartdelay.delayFor(2100);
|
||||
// tslint:disable-next-line:no-unused-expression
|
||||
expect(task2Executed).toBeTrue();
|
||||
await testPromise;
|
||||
});
|
||||
|
||||
@@ -33,7 +33,6 @@ tap.test('should run the task as expected', async () => {
|
||||
);
|
||||
myTaskManager.start();
|
||||
await myTaskManager.triggerTaskByName('myTask');
|
||||
// tslint:disable-next-line:no-unused-expression
|
||||
expect(referenceBoolean).toBeTrue();
|
||||
});
|
||||
|
||||
|
||||
@@ -3,6 +3,6 @@
|
||||
*/
|
||||
export const commitinfo = {
|
||||
name: '@push.rocks/taskbuffer',
|
||||
version: '4.1.0',
|
||||
version: '4.2.1',
|
||||
description: 'A flexible task management library supporting TypeScript, allowing for task buffering, scheduling, and execution with dependency management.'
|
||||
}
|
||||
|
||||
@@ -3,6 +3,6 @@
|
||||
*/
|
||||
export const commitinfo = {
|
||||
name: '@push.rocks/taskbuffer',
|
||||
version: '4.1.0',
|
||||
version: '4.2.1',
|
||||
description: 'A flexible task management library supporting TypeScript, allowing for task buffering, scheduling, and execution with dependency management.'
|
||||
}
|
||||
|
||||
@@ -8,20 +8,20 @@ import type { TaskManager, ITaskMetadata, IScheduledTaskInfo } from '../ts/index
|
||||
export class TaskbufferDashboard extends DeesElement {
|
||||
// Properties
|
||||
@property({ type: Object })
|
||||
public taskManager: TaskManager | null = null;
|
||||
accessor taskManager: TaskManager | null = null;
|
||||
|
||||
@property({ type: Number })
|
||||
public refreshInterval: number = 1000; // milliseconds
|
||||
accessor refreshInterval: number = 1000; // milliseconds
|
||||
|
||||
// Internal state
|
||||
@state()
|
||||
private tasks: ITaskMetadata[] = [];
|
||||
accessor tasks: ITaskMetadata[] = [];
|
||||
|
||||
@state()
|
||||
private scheduledTasks: IScheduledTaskInfo[] = [];
|
||||
accessor scheduledTasks: IScheduledTaskInfo[] = [];
|
||||
|
||||
@state()
|
||||
private isRunning: boolean = false;
|
||||
accessor isRunning: boolean = false;
|
||||
|
||||
private refreshTimer: any;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user