quorin 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 +6 -0
  2. package/README.md +12 -2
  3. package/package.json +33 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## Unreleased
4
+
5
+ - Add `typesVersions` so subpath imports such as `quorin/cache` type check under legacy `moduleResolution: "node"` (TypeScript 6 and earlier).
6
+ - Test declarations on TypeScript 5.8 as well as 7.0, including CommonJS consumers under `NodeNext`.
7
+ - Document TypeScript settings per project type, and align the documented `require` support with the Node 22.19.0 engines floor.
8
+
3
9
  ## 0.1.0 (2026-10-26)
4
10
 
5
11
  First public preview with all nine modules.
package/README.md CHANGED
@@ -78,7 +78,7 @@ yarn add quorin
78
78
  bun add quorin
79
79
  ```
80
80
 
81
- Quorin ships one ESM build with type declarations and source maps. On Node 22.12 and later you can also `require('quorin')`, because no module in the graph uses top-level await.
81
+ Quorin ships one ESM build with type declarations and source maps. On every supported Node version (22.19.0 and later) you can also `require('quorin')`, because no module in the graph uses top-level await. CommonJS TypeScript projects need `module: "NodeNext"`; see [TypeScript settings](#typescript-settings).
82
82
 
83
83
  ## Quick start
84
84
 
@@ -736,7 +736,17 @@ An `AbortSignal` cannot preempt synchronous code, undo side effects, or force a
736
736
 
737
737
  Required capabilities: ES2022, `Promise`, `AbortController` and `AbortSignal`, timers, `TextEncoder` and `TextDecoder`, and `performance.now`. The core does not need `fetch`, `crypto`, `structuredClone`, `AbortSignal.any`, or `AbortSignal.timeout`.
738
738
 
739
- TypeScript consumers need TypeScript 5.8 or later. Declarations are tested with `strict`, `exactOptionalPropertyTypes`, and `noUncheckedIndexedAccess`, under both `NodeNext` and `Bundler` resolution.
739
+ ### TypeScript settings
740
+
741
+ TypeScript consumers need TypeScript 5.8 or later. Declarations are tested on TypeScript 5.8 and 7.0 with `strict`, `exactOptionalPropertyTypes`, and `noUncheckedIndexedAccess`.
742
+
743
+ | Your project | `module` / `moduleResolution` | Result |
744
+ | --- | --- | --- |
745
+ | ESM (`"type": "module"`) | `NodeNext` or `Node16` | Works |
746
+ | Bundled app (Vite, webpack, esbuild, Bun) | `ESNext` + `Bundler` | Works |
747
+ | CommonJS | `NodeNext` (TS 5.8+) or `Node20` (TS 5.9+) | Works |
748
+ | CommonJS | `Node16` or `Node18` | Error TS1479: TypeScript assumes those Node versions cannot `require` ES modules. Switch to `NodeNext`. |
749
+ | Legacy `moduleResolution: "node"` (`node10`) | `CommonJS` + `Node10` | Works through `typesVersions` on TypeScript 6 and earlier. TypeScript 7 removed this mode, so plan to move to `NodeNext` or `Bundler`. |
740
750
 
741
751
  Zero runtime dependencies reduces supply-chain exposure; it does not remove implementation risk or maintenance cost.
742
752
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "quorin",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "Modular TypeScript utilities for data structures, bytes, objects, async work, results, validation, retries, caching, and state, with no runtime dependencies.",
5
5
  "license": "MIT",
6
6
  "author": "arnonsang",
@@ -30,6 +30,37 @@
30
30
  "sideEffects": false,
31
31
  "main": "./dist/index.js",
32
32
  "types": "./dist/index.d.ts",
33
+ "typesVersions": {
34
+ "*": {
35
+ "struct": [
36
+ "./dist/struct/index.d.ts"
37
+ ],
38
+ "object": [
39
+ "./dist/object/index.d.ts"
40
+ ],
41
+ "bytes": [
42
+ "./dist/bytes/index.d.ts"
43
+ ],
44
+ "async": [
45
+ "./dist/async/index.d.ts"
46
+ ],
47
+ "result": [
48
+ "./dist/result/index.d.ts"
49
+ ],
50
+ "boundary": [
51
+ "./dist/boundary/index.d.ts"
52
+ ],
53
+ "resilience": [
54
+ "./dist/resilience/index.d.ts"
55
+ ],
56
+ "cache": [
57
+ "./dist/cache/index.d.ts"
58
+ ],
59
+ "state": [
60
+ "./dist/state/index.d.ts"
61
+ ]
62
+ }
63
+ },
33
64
  "exports": {
34
65
  ".": {
35
66
  "types": "./dist/index.d.ts",
@@ -97,6 +128,7 @@
97
128
  "@types/node": "22.20.5",
98
129
  "arktype": "2.2.9",
99
130
  "typescript": "7.0.2",
131
+ "typescript-5.8": "npm:typescript@5.8.3",
100
132
  "valibot": "1.5.0",
101
133
  "zod": "4.6.7"
102
134
  }