@triggery/core 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/README.md +30 -10
  3. package/package.json +10 -5
package/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # @triggery/core
2
2
 
3
+ ## 0.1.1
4
+
5
+ ### Patch Changes
6
+
7
+ - 35936d1: Polished package metadata for framework-agnostic positioning.
8
+
9
+ - `@triggery/core` description corrected: it is **framework-agnostic** (React, Solid, Vue, or any binding you write), not React-only. Keywords now include `solid`, `vue`, `framework-agnostic`, `zero-dependencies`. README expanded to spell out what runs where.
10
+ - `@triggery/testing` README + description now mention **zero runtime dependencies** and that the kit works under Vitest, Jest, and `node:test` alike (no `vi.useFakeTimers` coupling).
11
+ - `@triggery/devtools-bridge`, `@triggery/devtools-redux`, `@triggery/vite` descriptions clarified as framework-agnostic / runtime-pure.
12
+ - `@triggery/react / solid / vue` descriptions now explicitly say **zero runtime dependencies** — the binding is a thin lifecycle adapter, nothing else.
13
+
14
+ No API or behaviour changes.
15
+
3
16
  ## 0.1.0
4
17
 
5
18
  First public preview release.
package/README.md CHANGED
@@ -1,23 +1,43 @@
1
1
  # @triggery/core
2
2
 
3
- Core runtime for [Triggery](https://github.com/triggeryjs/triggery) — a declarative orchestration layer for React business logic.
3
+ The runtime that powers [Triggery](https://github.com/triggeryjs/triggery) — a declarative `event conditions actions` orchestration layer.
4
4
 
5
- This package contains:
6
-
7
- - `createTrigger<Schema>(config)` — define a trigger.
8
- - `createRuntime()` — isolated runtime (registry + scheduler + inspector).
9
- - `getDefaultRuntime()` / `setDefaultRuntime()` — global singleton.
10
- - Lifecycle middleware chain.
11
- - Public types and helpers.
12
-
13
- You usually do not consume this package directly — use [`@triggery/react`](../react).
5
+ **Framework-agnostic.** `@triggery/core` itself has **zero runtime dependencies** and knows nothing about React, Solid or Vue. The framework bindings (`@triggery/react`, `@triggery/solid`, `@triggery/vue`) and the state adapters are thin layers on top of this runtime — and they can be replaced by anything you author yourself in ~50 lines.
14
6
 
15
7
  ## Install
16
8
 
17
9
  ```bash
18
10
  pnpm add @triggery/core
11
+ # plus your framework binding of choice
12
+ pnpm add @triggery/react # or @triggery/solid, @triggery/vue
19
13
  ```
20
14
 
15
+ ## What's in the box
16
+
17
+ - `createTrigger<Schema>(config)` — declare a scenario in one file (events, conditions, required gate, handler).
18
+ - `createRuntime(options)` — instantiate an isolated runtime: indexed dispatch (`Map<eventKey, RuntimeTrigger[]>`), microtask + sync schedulers, middleware chain (`onFire` / `onBeforeMatch` / `onSkip` / `onActionStart` / `onActionEnd` / `onError` / `onCascade`), cascade safety (depth limit + cycle detection), inspector ring buffer with DEV/PROD auto-detection.
19
+ - `getDefaultRuntime()` / `setDefaultRuntime()` — global singleton for apps that don't want explicit provider wiring.
20
+ - Concurrency strategies for async handlers (`take-latest` / `take-every` / `take-first` / `queue` / `exhaust` / `sync`) with `AbortSignal`.
21
+ - `actions.debounce / throttle / defer / queue` chainable action wrappers.
22
+ - Last-mount-wins ownership with DEV warn-once.
23
+
24
+ You normally don't consume this package directly — pick a binding:
25
+
26
+ - [`@triggery/react`](https://www.npmjs.com/package/@triggery/react)
27
+ - [`@triggery/solid`](https://www.npmjs.com/package/@triggery/solid)
28
+ - [`@triggery/vue`](https://www.npmjs.com/package/@triggery/vue)
29
+
30
+ ## Why "framework-agnostic"
31
+
32
+ The runtime is a plain object with a `Map`-based registry. It does not import React. It does not import a vDOM. It can be embedded in:
33
+
34
+ - a worker / service worker
35
+ - a Node.js process (CLI, server, edge)
36
+ - React Native (it just works — no DOM adapters needed for the runtime itself)
37
+ - a vanilla JS page
38
+
39
+ The same `createTrigger({...})` declaration runs unchanged across all of those. Bindings only wire `useEvent` / `useCondition` / `useAction` to the host framework's lifecycle.
40
+
21
41
  ## License
22
42
 
23
43
  MIT &copy; Aleksey Skhomenko
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@triggery/core",
3
- "version": "0.1.0",
4
- "description": "Declarative business-logic orchestration for React core runtime",
3
+ "version": "0.1.1",
4
+ "description": "Declarative business-logic orchestration framework-agnostic runtime (React, Solid, Vue, or any binding you write). Zero runtime dependencies.",
5
5
  "license": "MIT",
6
6
  "author": "Aleksey Skhomenko",
7
7
  "homepage": "https://triggeryjs.github.io/triggery",
@@ -22,13 +22,17 @@
22
22
  }
23
23
  ],
24
24
  "keywords": [
25
- "react",
26
25
  "triggers",
27
26
  "events",
28
27
  "orchestration",
29
28
  "business-logic",
30
29
  "rule-engine",
31
- "side-effects"
30
+ "side-effects",
31
+ "framework-agnostic",
32
+ "react",
33
+ "solid",
34
+ "vue",
35
+ "zero-dependencies"
32
36
  ],
33
37
  "type": "module",
34
38
  "main": "./dist/index.js",
@@ -51,7 +55,8 @@
51
55
  ],
52
56
  "sideEffects": false,
53
57
  "publishConfig": {
54
- "access": "public"
58
+ "access": "public",
59
+ "provenance": true
55
60
  },
56
61
  "devDependencies": {
57
62
  "tsup": "^8.5.1",