@utilarium/dreadcabinet 0.0.16-dev.0

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 (128) hide show
  1. package/.nvmrc +2 -0
  2. package/LICENSE +190 -0
  3. package/README.md +95 -0
  4. package/dist/configure.d.ts +5 -0
  5. package/dist/configure.js +44 -0
  6. package/dist/configure.js.map +1 -0
  7. package/dist/constants.d.ts +36 -0
  8. package/dist/constants.js +53 -0
  9. package/dist/constants.js.map +1 -0
  10. package/dist/defaults.d.ts +2 -0
  11. package/dist/defaults.js +32 -0
  12. package/dist/defaults.js.map +1 -0
  13. package/dist/dreadcabinet.cjs +1793 -0
  14. package/dist/dreadcabinet.cjs.map +1 -0
  15. package/dist/dreadcabinet.d.ts +131 -0
  16. package/dist/dreadcabinet.js +111 -0
  17. package/dist/dreadcabinet.js.map +1 -0
  18. package/dist/error/ArgumentError.d.ts +5 -0
  19. package/dist/error/ArgumentError.js +26 -0
  20. package/dist/error/ArgumentError.js.map +1 -0
  21. package/dist/input/input.d.ts +7 -0
  22. package/dist/input/input.js +13 -0
  23. package/dist/input/input.js.map +1 -0
  24. package/dist/input/process.d.ts +5 -0
  25. package/dist/input/process.js +36 -0
  26. package/dist/input/process.js.map +1 -0
  27. package/dist/input/structured.d.ts +15 -0
  28. package/dist/input/structured.js +324 -0
  29. package/dist/input/structured.js.map +1 -0
  30. package/dist/input/unstructured.d.ts +2 -0
  31. package/dist/input/unstructured.js +45 -0
  32. package/dist/input/unstructured.js.map +1 -0
  33. package/dist/logger.d.ts +2 -0
  34. package/dist/logger.js +19 -0
  35. package/dist/logger.js.map +1 -0
  36. package/dist/operate.d.ts +2 -0
  37. package/dist/operate.js +27 -0
  38. package/dist/operate.js.map +1 -0
  39. package/dist/output.d.ts +7 -0
  40. package/dist/output.js +99 -0
  41. package/dist/output.js.map +1 -0
  42. package/dist/read.d.ts +4 -0
  43. package/dist/read.js +30 -0
  44. package/dist/read.js.map +1 -0
  45. package/dist/util/dates.d.ts +60 -0
  46. package/dist/util/dates.js +699 -0
  47. package/dist/util/dates.js.map +1 -0
  48. package/dist/util/storage.d.ts +33 -0
  49. package/dist/util/storage.js +140 -0
  50. package/dist/util/storage.js.map +1 -0
  51. package/dist/validate.d.ts +4 -0
  52. package/dist/validate.js +134 -0
  53. package/dist/validate.js.map +1 -0
  54. package/guide/architecture.md +60 -0
  55. package/guide/configuration.md +132 -0
  56. package/guide/development.md +110 -0
  57. package/guide/index.md +62 -0
  58. package/guide/usage.md +166 -0
  59. package/output/kodrdriv/250703-0645-commit-message.md +21 -0
  60. package/output/kodrdriv/250703-0653-commit-message.md +1 -0
  61. package/output/kodrdriv/250703-0654-commit-message.md +1 -0
  62. package/output/kodrdriv/250703-0655-release-notes.md +51 -0
  63. package/output/kodrdriv/250703-0700-commit-message.md +1 -0
  64. package/output/kodrdriv/250703-0700-release-notes.md +8 -0
  65. package/output/kodrdriv/250703-0706-commit-message.md +1 -0
  66. package/output/kodrdriv/250703-0706-release-notes.md +11 -0
  67. package/output/kodrdriv/250703-0717-commit-message.md +1 -0
  68. package/output/kodrdriv/250703-0719-commit-message.md +1 -0
  69. package/output/kodrdriv/250703-0719-release-notes.md +17 -0
  70. package/output/kodrdriv/250703-0730-commit-message.md +1 -0
  71. package/output/kodrdriv/250703-0730-release-notes.md +11 -0
  72. package/output/kodrdriv/250703-1510-commit-message.md +1 -0
  73. package/output/kodrdriv/250710-0805-commit-message.md +3 -0
  74. package/output/kodrdriv/250710-0815-commit-message.md +1 -0
  75. package/output/kodrdriv/250710-0815-release-notes.md +39 -0
  76. package/output/kodrdriv/260107-2021-commit-message.md +37 -0
  77. package/output/kodrdriv/260108-0432-commit-message.md +6 -0
  78. package/output/kodrdriv/260108-0435-commit-message.md +3 -0
  79. package/output/kodrdriv/260108-0436-commit-message.md +4 -0
  80. package/output/kodrdriv/260108-0439-release-notes.md +63 -0
  81. package/output/kodrdriv/260108-0543-commit-message.md +19 -0
  82. package/output/kodrdriv/260108-0550-commit-message.md +3 -0
  83. package/output/kodrdriv/260108-0550-release-notes.md +19 -0
  84. package/output/kodrdriv/260108-0600-commit-message.md +3 -0
  85. package/output/kodrdriv/260110-0717-commit-message.md +4 -0
  86. package/output/kodrdriv/260110-1152-commit-message.md +1 -0
  87. package/output/kodrdriv/260110-1850-commit-message.md +1 -0
  88. package/output/kodrdriv/260110-1852-release-notes.md +33 -0
  89. package/output/kodrdriv/260112-2257-commit-message.md +5 -0
  90. package/output/kodrdriv/260112-2317-commit-message.md +1 -0
  91. package/output/kodrdriv/260112-2318-release-notes.md +42 -0
  92. package/output/kodrdriv/260113-0053-commit-message.md +1 -0
  93. package/output/kodrdriv/260113-0054-commit-message.md +1 -0
  94. package/output/kodrdriv/260113-0054-release-notes.md +49 -0
  95. package/output/kodrdriv/260130-1132-commit-message.md +1 -0
  96. package/output/kodrdriv/260130-1135-commit-message.md +1 -0
  97. package/output/kodrdriv/260130-1335-commit-message.md +10 -0
  98. package/output/kodrdriv/RELEASE_NOTES.md +47 -0
  99. package/output/kodrdriv/RELEASE_TITLE.md +1 -0
  100. package/output/kodrdriv/agentic-reflection-commit-2026-01-08T04-21-54-623Z.md +372 -0
  101. package/output/kodrdriv/agentic-reflection-commit-2026-01-08T12-32-36-513Z.md +55 -0
  102. package/output/kodrdriv/agentic-reflection-commit-2026-01-08T12-35-58-580Z.md +105 -0
  103. package/output/kodrdriv/agentic-reflection-commit-2026-01-08T12-36-05-658Z.md +53 -0
  104. package/output/kodrdriv/agentic-reflection-commit-2026-01-08T13-43-55-498Z.md +178 -0
  105. package/output/kodrdriv/agentic-reflection-commit-2026-01-08T13-50-10-230Z.md +53 -0
  106. package/output/kodrdriv/agentic-reflection-commit-2026-01-08T13-50-35-136Z.md +52 -0
  107. package/output/kodrdriv/agentic-reflection-commit-2026-01-08T14-00-30-772Z.md +52 -0
  108. package/output/kodrdriv/agentic-reflection-commit-2026-01-10T15-17-43-324Z.md +53 -0
  109. package/output/kodrdriv/agentic-reflection-commit-2026-01-10T19-52-47-424Z.md +97 -0
  110. package/output/kodrdriv/agentic-reflection-commit-2026-01-11T02-50-23-123Z.md +138 -0
  111. package/output/kodrdriv/agentic-reflection-commit-2026-01-11T02-50-45-038Z.md +114 -0
  112. package/output/kodrdriv/agentic-reflection-commit-2026-01-11T02-50-49-467Z.md +114 -0
  113. package/output/kodrdriv/agentic-reflection-commit-2026-01-13T06-57-00-384Z.md +169 -0
  114. package/output/kodrdriv/agentic-reflection-commit-2026-01-13T07-17-29-292Z.md +114 -0
  115. package/output/kodrdriv/agentic-reflection-commit-2026-01-13T07-17-47-579Z.md +114 -0
  116. package/output/kodrdriv/agentic-reflection-commit-2026-01-13T08-48-55-599Z.md +144 -0
  117. package/output/kodrdriv/agentic-reflection-commit-2026-01-13T08-53-53-725Z.md +114 -0
  118. package/output/kodrdriv/agentic-reflection-commit-2026-01-13T08-54-11-600Z.md +97 -0
  119. package/output/kodrdriv/agentic-reflection-commit-2026-01-30T19-32-17-053Z.md +174 -0
  120. package/output/kodrdriv/agentic-reflection-commit-2026-01-30T19-35-00-887Z.md +152 -0
  121. package/output/kodrdriv/agentic-reflection-commit-2026-01-30T21-02-16-553Z.md +236 -0
  122. package/output/kodrdriv/agentic-reflection-commit-2026-01-30T21-17-22-227Z.md +347 -0
  123. package/output/kodrdriv/agentic-reflection-release-2026-01-08T12-39-08-279Z.md +507 -0
  124. package/output/kodrdriv/agentic-reflection-release-2026-01-08T13-50-57-683Z.md +183 -0
  125. package/output/kodrdriv/agentic-reflection-release-2026-01-11T02-52-39-082Z.md +347 -0
  126. package/output/kodrdriv/agentic-reflection-release-2026-01-13T07-18-21-218Z.md +315 -0
  127. package/output/kodrdriv/agentic-reflection-release-2026-01-13T08-54-59-340Z.md +354 -0
  128. package/package.json +80 -0
@@ -0,0 +1,39 @@
1
+ # Remove moment-timezone dependency, shift to static timezone handling, and update dependencies
2
+
3
+ This release addresses simplification and consolidation around timezone management within the codebase. The focus is on removing runtime dependencies for timezone data and ensuring all timezone operations rely only on static, internal mechanisms. These changes lead to a more predictable deployment footprint and avoid uncertainty introduced by dynamic timezone databases and related libraries.
4
+
5
+ **Breaking Changes**
6
+
7
+ - Removed use of `moment-timezone` and all related timezone dependencies (`luxon`, `winston`, `js-yaml` and their types). Timezone handling now exclusively uses `dayjs`.
8
+ - The `validTimezones()` utility function no longer queries at runtime but returns a static, internal list of IANA timezone names.
9
+ - All code that depended on `moment-timezone` or runtime timezone database updates now operates solely with the built-in static list.
10
+
11
+ **Improvements**
12
+
13
+ - Reduced package bundle size and removed potential for runtime timezone data mismatches or missing updates.
14
+ - All timezone operations are now consolidated and testable through a single library and a controlled list of valid zones.
15
+
16
+ **Refactoring**
17
+
18
+ - Updated `.npmignore` to exclude configuration and documentation files (`.config/`, `docs/`, `eslint.config.mjs`, etc.) from npm package distribution.
19
+ - Modernized the code structure in `src/util/dates.ts` to reflect static timezone list handling and exclusive `dayjs` usage.
20
+
21
+ **Dependency Updates**
22
+
23
+ - Upgraded core and development dependencies (notably `zod`, `@swc/core`, `@theunwalked/cardigantime`, `@types/node`, `@typescript-eslint/eslint-plugin`/`parser`, and `vite`) to bring the codebase in line with current ecosystem compatibility requirements and bug fixes.
24
+ - Updated `packageManager` to `pnpm@10.13.1`.
25
+ - Added an empty `pnpm-workspace.yaml` to enable monorepo support with pnpm.
26
+
27
+ ---
28
+
29
+ **Release Poem**
30
+
31
+ Time drifts through static fields and code
32
+ No moment breaks the iron reign,
33
+ Old dependencies, silent, go
34
+ What’s left persists in memory’s chain.
35
+
36
+ We claim the names and lock the gates—
37
+ The world’s hours sealed, immobile, thin.
38
+ No dawn will shift these preset fates;
39
+ Observe the dark that presses in.
@@ -0,0 +1,37 @@
1
+ SUGGESTED_SPLITS:
2
+ Split 1:
3
+ Files: [.github/workflows/dependency-review.yml, .github/workflows/test.yml, .github/workflows/npm-publish.yml, .github/workflows/pnpm-publish.yml]
4
+ Rationale: CI/CD behavior changes (new security check, test trigger changes, and switching the release publish workflow to npm) are reviewable together and independent of docs/metadata updates.
5
+ Message: |
6
+ ci: add dependency review and publish releases via npm
7
+
8
+ - Add dependency-review workflow with PR summary comments
9
+ - Run test workflow on pull requests to main/working (instead of push)
10
+ - Replace pnpm-based publish workflow with npm publish using npm ci and NPM_TOKEN
11
+
12
+ Split 2:
13
+ Files: [package.json, pnpm-lock.yaml, docs/pnpm-lock.yaml, pnpm-workspace.yaml]
14
+ Rationale: Package manager/config changes (scripts/overrides/workspace + lockfile updates) should be reviewed as a cohesive “tooling” change.
15
+ Message: |
16
+ chore: prefer npm scripts and drop pnpm workspace config
17
+
18
+ - Switch build/test/watch/prepublish scripts from pnpm to npm
19
+ - Move wrap-ansi override to top-level overrides
20
+ - Remove pnpm-workspace.yaml
21
+ - Update pnpm lockfiles to match dependency resolution
22
+
23
+ Split 3:
24
+ Files: [LICENSE, README.md, docs/public/contributing.md, docs/public/faq.md, docs/src/App.tsx]
25
+ Rationale: Ownership/branding and documentation link updates are user-facing but don’t affect runtime/CI behavior; easier to review separately.
26
+ Message: |
27
+ docs: update repo links and attribution to tobrien
28
+
29
+ - Update GitHub URLs across docs/site from SemicolonAmbulance to tobrien
30
+ - Update contributing guide to use npm commands
31
+ - Update LICENSE/README and docs footer attribution
32
+
33
+ Split 4:
34
+ Files: [.DS_Store, src/.DS_Store, tests/.DS_Store]
35
+ Rationale: Accidental OS-generated binaries shouldn’t ship; keep noise out of functional commits.
36
+ Message: |
37
+ chore: remove accidentally committed .DS_Store files
@@ -0,0 +1,6 @@
1
+ chore: standardize on npm in CI and refresh docs/metadata for utilarium
2
+
3
+ - Switch GitHub Actions (tests + docs deploy) from pnpm to `npm ci`/`npm run` to match the npm lockfile workflow
4
+ - Update package metadata (repository/homepage) and documentation links to the `utilarium/dreadcabinet` URLs
5
+ - Add `precommit` script and reorder `test` to run coverage before README doctests; bump `@doccident/doccident` and update lockfile
6
+ - Add `guide/` docs (architecture/configuration/usage/development) to document internal structure and common integration patterns
@@ -0,0 +1,3 @@
1
+ chore: refresh package-lock.json after npm install
2
+
3
+ Regenerates the npm lockfile to reflect the current dependency resolution (updated versions/integrity metadata), keeping `npm ci` installs reproducible in CI and for contributors.
@@ -0,0 +1,4 @@
1
+ chore(release): bump package version to 0.0.11
2
+
3
+ - Update `package.json` version from 0.0.10 to 0.0.11
4
+ - Reformat `package.json` (2-space indentation) with no functional/config changes beyond the version bump
@@ -0,0 +1,63 @@
1
+ # v0.0.11 — Standardize on npm for CI/publishing, add internal guides, and refresh project metadata
2
+
3
+ ## Highlights
4
+
5
+ This release is primarily **tooling, CI, and documentation cleanup**. There are **no intentional runtime/API changes** to the `@theunwalked/dreadcabinet` library.
6
+
7
+ Key themes:
8
+ - Move the repo workflow from **pnpm to npm** (lockfile + GitHub Actions)
9
+ - Add a **new documentation guide set** (`guide/`) explaining architecture and usage patterns
10
+ - Update project **metadata/links** to the new `utilarium/dreadcabinet` URLs
11
+
12
+ ## Changes
13
+
14
+ ### CI / Release automation
15
+ - **CI now uses npm**:
16
+ - GitHub Actions test workflow installs with `npm ci` and runs `npm run lint`, `npm run build`, `npm test`.
17
+ - **Docs deploy now uses npm**:
18
+ - The GitHub Pages workflow installs/builds using `npm ci` / `npm run build` (including inside `docs/`).
19
+ - **Publishing workflow switched to npm**:
20
+ - Replaces the previous `pnpm-publish.yml` with `npm-publish.yml`.
21
+ - Publishing triggers on **GitHub Release created** and runs `npm publish --access public` (requires `NPM_TOKEN`).
22
+ - **New dependency review workflow**:
23
+ - Adds a `dependency-review` GitHub Action to surface vulnerable dependencies in PRs (and can comment a summary in the PR).
24
+
25
+ ### Developer experience
26
+ - **Standardized scripts for local workflows**:
27
+ - Adds a `precommit` script to run build + full test suite.
28
+ - `test` now runs unit coverage first, then README doctests.
29
+ - **Lockfile workflow changes**:
30
+ - `package-lock.json` was regenerated to keep `npm ci` installs reproducible.
31
+ - pnpm workspace/lockfile artifacts were removed as part of the move to npm.
32
+
33
+ ### Documentation & metadata
34
+ - **Documentation links updated** from `semicolonambulance` to `utilarium`.
35
+ - **New `guide/` docs** added:
36
+ - `guide/architecture.md`
37
+ - `guide/configuration.md`
38
+ - `guide/usage.md`
39
+ - `guide/development.md`
40
+ - `guide/index.md`
41
+ - README installation section no longer mentions pnpm.
42
+
43
+ ### Licensing / attribution
44
+ - Updates Apache-2.0 copyright attribution in `LICENSE` and README.
45
+
46
+ ## Version
47
+ - Bumps package version: **0.0.10 → 0.0.11**.
48
+
49
+ ## Breaking changes / upgrade notes
50
+
51
+ ### For library consumers
52
+ - No breaking API changes are intended in this release.
53
+
54
+ ### For contributors / maintainers
55
+ - **pnpm is no longer the standard tooling** for this repository.
56
+ - Use `npm ci` / `npm install` instead of `pnpm install`.
57
+ - Use `npm run precommit` as the canonical local “run everything” check.
58
+ - **Publishing behavior changed**:
59
+ - Publishing is now performed via an npm-based workflow on GitHub Release creation.
60
+ - Ensure `NPM_TOKEN` is configured in repository secrets.
61
+
62
+ ## Known issues / notes
63
+ - Two macOS metadata files were added (`src/.DS_Store`, `tests/.DS_Store`). These are not functional, but they may be unintentionally included in published artifacts unless excluded by `.npmignore`/`.gitignore` rules.
@@ -0,0 +1,19 @@
1
+ SUGGESTED_SPLITS:
2
+ Split 1:
3
+ Files: [README.md]
4
+ Rationale: Pure documentation formatting change; easier to review separately from dependency/lockfile updates.
5
+ Message: |
6
+ docs(readme): use `console` fences for shell examples
7
+
8
+ Mark the yarn install and CLI invocation snippets as `console` blocks to better reflect terminal output/commands.
9
+
10
+ Split 2:
11
+ Files: [package.json, package-lock.json]
12
+ Rationale: Functional dependency change + corresponding lockfile update should be reviewed together.
13
+ Message: |
14
+ chore(deps): add @theunwalked/dreadcabinet dependency and update lockfile
15
+
16
+ - Add `@theunwalked/dreadcabinet@^0.0.10` to runtime dependencies
17
+ - Refresh `package-lock.json` to capture the new dependency resolution
18
+
19
+ Note: this is a self-referential dependency given the package name; confirm it’s intentional.
@@ -0,0 +1,3 @@
1
+ chore(release): 0.0.12
2
+
3
+ - Promote version from 0.0.12-dev.0 to 0.0.12 for the stable release/publish
@@ -0,0 +1,19 @@
1
+ # v0.0.12 — Stable publish (no functional changes)
2
+
3
+ ## Summary
4
+ This release promotes `0.0.12-dev.0` to the stable `0.0.12` publish. It does **not** introduce code or API changes; updates are limited to package metadata and documentation.
5
+
6
+ ## Changes
7
+ - **Release/versioning**
8
+ - Bumped package version from `0.0.11` → `0.0.12` in `package.json`.
9
+ - Updated the lockfile as part of the release/publish workflow.
10
+ - **Documentation**
11
+ - Updated the README license attribution line (appended `TEST`) and added a trailing newline.
12
+
13
+ ## Impact
14
+ - **Users:** No behavioral changes expected. Safe to upgrade.
15
+ - Upgrade: `npm i @theunwalked/dreadcabinet@0.0.12`
16
+ - **Developers:** No API changes; primarily a publish/version bump plus a README tweak.
17
+
18
+ ## Breaking changes
19
+ - None detected in this release range.
@@ -0,0 +1,3 @@
1
+ ci(dependency-review): run workflow only on pull requests
2
+
3
+ Remove the push trigger for the `working` branch so dependency review runs only for PRs targeting `main`/`working`, avoiding redundant checks on direct pushes while keeping review enforcement on incoming changes.
@@ -0,0 +1,4 @@
1
+ chore: drop Codecov upload from CI and remove self-referential dependency
2
+
3
+ - Remove the Codecov action step from the test workflow (no more CODECOV_TOKEN/coverage uploads)
4
+ - Remove `@theunwalked/dreadcabinet` from runtime deps to avoid depending on the package itself
@@ -0,0 +1 @@
1
+ chore(deps): remove @theunwalked/dreadcabinet from package-lock.json
@@ -0,0 +1 @@
1
+ chore(release): 0.0.13
@@ -0,0 +1,33 @@
1
+ # v0.0.13 — CI/packaging cleanup (remove self-dependency, drop Codecov upload)
2
+
3
+ ## Highlights
4
+
5
+ - **Fixes an incorrect self-referential dependency** that could cause confusing installs and dependency graphs.
6
+ - **Simplifies CI** by removing the Codecov upload step (no Codecov secret/token required).
7
+ - **Updates development tooling defaults** to reduce accidental `package.json` changes during local installs.
8
+
9
+ ## Changes
10
+
11
+ ### Packaging: remove self-referential dependency
12
+ - Removed `@theunwalked/dreadcabinet` from this package’s **runtime dependencies**.
13
+ - **Why it matters:** depending on itself is almost always accidental and can lead to circular/duplicated installs, warnings, and hard-to-reason-about dependency trees.
14
+ - **Impact:** end users should see cleaner installs. No intended public API changes.
15
+
16
+ ### CI: stop uploading coverage to Codecov
17
+ - Removed the `codecov/codecov-action@v5` step from `.github/workflows/test.yml`.
18
+ - **Why it matters:** CI no longer requires `CODECOV_TOKEN` and won’t fail due to missing/invalid Codecov configuration.
19
+ - **Impact:** coverage is still generated during tests (via the existing `vitest run --coverage` command), but it is **no longer uploaded** to Codecov.
20
+
21
+ ### Dev workflow: prevent accidental dependency edits
22
+ - Added `save=false` to `.npmrc`.
23
+ - **Why it matters:** running `npm install <pkg>` locally will no longer automatically modify `package.json` / lockfile in many cases, reducing accidental churn in PRs.
24
+ - **Impact on contributors:** when you *do* intend to add a dependency, you may need to be explicit (e.g., use `npm install --save <pkg>` / `npm install --save-dev <pkg>`, or edit `package.json` directly).
25
+
26
+ ### Dependencies
27
+ - Bumped dev dependency `@theunwalked/cardigantime` from `^0.0.16` to `^0.0.20` and refreshed `package-lock.json` accordingly.
28
+ - **Impact:** primarily affects contributors (build/test/dev tooling), not runtime consumers.
29
+
30
+ ## Breaking changes
31
+
32
+ - No intentional breaking API changes detected in this release.
33
+ - **CI behavior change:** Codecov uploads have been removed. If you relied on Codecov reporting from this repo, you’ll need to reintroduce it or use an alternative coverage reporting mechanism.
@@ -0,0 +1,5 @@
1
+ chore(node): require Node 24; update CI and ignores for lockfile-free installs
2
+
3
+ - Add `.nvmrc` and set `engines.node` to `>=24.0.0`
4
+ - Bump GitHub Actions workflows to Node 24 and switch `npm ci` -> `npm install`
5
+ - Ignore `package-lock.json` (root and docs) and update lockfile as needed
@@ -0,0 +1 @@
1
+ chore(release): 0.0.14
@@ -0,0 +1,42 @@
1
+ # v0.0.14 — Node 24 baseline, lockfile-free installs, and tooling updates
2
+
3
+ ## Summary
4
+ This release is primarily a tooling and platform update. The project now targets **Node.js 24+**, updates CI to run on Node 24, and moves to **lockfile-free** installs (switching from `npm ci` to `npm install`). It also bumps a development dependency.
5
+
6
+ ## Breaking changes
7
+ ### Node.js 24 is now required
8
+ - `package.json` now specifies:
9
+ ```json
10
+ "engines": { "node": ">=24.0.0" }
11
+ ```
12
+ - A new `.nvmrc` pins local development to Node **24**.
13
+
14
+ **Impact:**
15
+ - Developers and CI environments running Node 22 (or earlier) will need to upgrade to Node 24.
16
+ - Consumers using this package as a library are only affected if they execute project tooling that enforces `engines` or run the CLI/runtime on an older Node version.
17
+
18
+ ## Developer experience & CI
19
+ ### Lockfile-free installs
20
+ - CI workflows now use `npm install` instead of `npm ci`.
21
+ - `package-lock.json` is now ignored (root and `docs/`).
22
+
23
+ **Why it matters:**
24
+ - Removes the requirement to keep a committed lockfile in sync.
25
+ - `npm ci` will no longer be appropriate for this repo because it requires a lockfile.
26
+
27
+ ### CI updated to Node 24
28
+ The following GitHub Actions workflows were updated:
29
+ - Tests (`.github/workflows/test.yml`): Node 24 + `npm install`
30
+ - npm publish (`.github/workflows/npm-publish.yml`): Node 24 + `npm install`
31
+ - Docs deploy (`.github/workflows/deploy-docs.yml`): Node 24 + `npm install` (including within `docs/`)
32
+
33
+ ## Dependency changes
34
+ - Dev dependency bump: `@theunwalked/cardigantime` **^0.0.20 → ^0.0.21**
35
+
36
+ ## Version
37
+ - Package version: **0.0.13 → 0.0.14**
38
+
39
+ ## Upgrade notes
40
+ - Update local Node:
41
+ - If you use `nvm`: `nvm install 24 && nvm use`
42
+ - Use `npm install` (not `npm ci`) when setting up or updating dependencies.
@@ -0,0 +1 @@
1
+ chore(deps): bump @theunwalked/cardigantime to ^0.0.22
@@ -0,0 +1 @@
1
+ chore(release): 0.0.15
@@ -0,0 +1,49 @@
1
+ # 0.0.15 — Move README doctests to SWC; align Node/TS toolchain to ES2024 and `node:` imports
2
+
3
+ ## Summary
4
+ This release is primarily a tooling/test reliability update. It replaces the Babel-based transform used for README markdown doctests with SWC, modernizes the TypeScript compilation target/module settings, and standardizes Node built-in imports to the `node:` scheme.
5
+
6
+ ## Changes
7
+
8
+ ### README doctests: Babel → SWC
9
+ - Switched the markdown doctest transform in `.markdown-doctest-setup.mjs` from `@babel/core` to `@swc/core` (`transformSync`).
10
+ - Improved doctest runtime compatibility by explicitly providing CommonJS globals:
11
+ - `globals.exports = {}`
12
+ - `globals.module = { exports: {} }`
13
+ - Reduced noise/failures when README contains non-JS/TS blocks (e.g., `bash`):
14
+ - On transform errors, code is returned unchanged.
15
+ - Errors are only logged when the snippet *looks like* JS/TS.
16
+
17
+ **Why it matters:** doctest runs should be faster and more robust, and README code blocks that aren’t valid JS/TS shouldn’t cause confusing transform failures or noisy logs.
18
+
19
+ ### Build/toolchain modernization
20
+ - `tsconfig.json`
21
+ - `target`: `ES2024` (from `ES2022`)
22
+ - `module`: `ESNext` (from `ES2022`)
23
+ - Removed `esModuleInterop` and `allowSyntheticDefaultImports`
24
+ - Vite/Rollup build
25
+ - Treat Node built-ins imported via `node:` as externals: `external: [/^node:/, ...]`
26
+
27
+ **Why it matters:** aligns the project with modern Node ESM conventions and avoids bundling Node built-ins into the output.
28
+
29
+ ### Node built-in imports standardized
30
+ Updated imports across source and tests to use explicit Node built-ins:
31
+ - `path` → `node:path`
32
+ - `fs` → `node:fs`
33
+ - `crypto` → `node:crypto`
34
+ - `child_process` → `node:child_process`
35
+
36
+ **Why it matters:** makes runtime intent explicit and avoids edge cases with bundlers/polyfills.
37
+
38
+ ### Dependency updates
39
+ - `@theunwalked/cardigantime` bumped to `^0.0.22` (dev dependency).
40
+ - Removed Babel-related dev dependencies (no longer needed for README doctests).
41
+
42
+ ## Impact
43
+ - **Library users:** No functional API changes are intended in this release.
44
+ - **Contributors / developers:**
45
+ - If you relied on Babel packages from this repo for local workflows, they’re now removed.
46
+ - Tooling now assumes a more modern TS/Node environment (this package already declares `node >= 24.0.0`).
47
+
48
+ ## Breaking changes
49
+ No explicit breaking API changes were detected in the code changes for this release. The main risk area is **build/tooling expectations** (TypeScript module/target changes and use of `node:` specifiers), which primarily affects contributors building from source rather than consumers using the published `dist/` artifacts.
@@ -0,0 +1 @@
1
+ chore(deps): pin wrap-ansi to 7.0.0 via package.json overrides
@@ -0,0 +1 @@
1
+ chore: bump version to 0.0.16-dev.0
@@ -0,0 +1,10 @@
1
+ SUGGESTED_SPLITS:
2
+ Split 1:
3
+ Files: [README.md]
4
+ Rationale: This file contains updates to the documentation for the DreadCabinet tool, which represent a cohesive change to enhance user guidance.
5
+ Message: docs: update README with installation and usage instructions
6
+
7
+ Split 2:
8
+ Files: [src/.DS_Store]
9
+ Rationale: The `.DS_Store` file is system-generated and typically not a file that would be included in commits. Its removal is unrelated to the documentation updates.
10
+ Message: chore: remove .DS_Store file from source directory
@@ -0,0 +1,47 @@
1
+ ## Summary
2
+ This release is primarily a tooling/test reliability update. It replaces the Babel-based transform used for README markdown doctests with SWC, modernizes the TypeScript compilation target/module settings, and standardizes Node built-in imports to the `node:` scheme.
3
+
4
+ ## Changes
5
+
6
+ ### README doctests: Babel → SWC
7
+ - Switched the markdown doctest transform in `.markdown-doctest-setup.mjs` from `@babel/core` to `@swc/core` (`transformSync`).
8
+ - Improved doctest runtime compatibility by explicitly providing CommonJS globals:
9
+ - `globals.exports = {}`
10
+ - `globals.module = { exports: {} }`
11
+ - Reduced noise/failures when README contains non-JS/TS blocks (e.g., `bash`):
12
+ - On transform errors, code is returned unchanged.
13
+ - Errors are only logged when the snippet *looks like* JS/TS.
14
+
15
+ **Why it matters:** doctest runs should be faster and more robust, and README code blocks that aren’t valid JS/TS shouldn’t cause confusing transform failures or noisy logs.
16
+
17
+ ### Build/toolchain modernization
18
+ - `tsconfig.json`
19
+ - `target`: `ES2024` (from `ES2022`)
20
+ - `module`: `ESNext` (from `ES2022`)
21
+ - Removed `esModuleInterop` and `allowSyntheticDefaultImports`
22
+ - Vite/Rollup build
23
+ - Treat Node built-ins imported via `node:` as externals: `external: [/^node:/, ...]`
24
+
25
+ **Why it matters:** aligns the project with modern Node ESM conventions and avoids bundling Node built-ins into the output.
26
+
27
+ ### Node built-in imports standardized
28
+ Updated imports across source and tests to use explicit Node built-ins:
29
+ - `path` → `node:path`
30
+ - `fs` → `node:fs`
31
+ - `crypto` → `node:crypto`
32
+ - `child_process` → `node:child_process`
33
+
34
+ **Why it matters:** makes runtime intent explicit and avoids edge cases with bundlers/polyfills.
35
+
36
+ ### Dependency updates
37
+ - `@theunwalked/cardigantime` bumped to `^0.0.22` (dev dependency).
38
+ - Removed Babel-related dev dependencies (no longer needed for README doctests).
39
+
40
+ ## Impact
41
+ - **Library users:** No functional API changes are intended in this release.
42
+ - **Contributors / developers:**
43
+ - If you relied on Babel packages from this repo for local workflows, they’re now removed.
44
+ - Tooling now assumes a more modern TS/Node environment (this package already declares `node >= 24.0.0`).
45
+
46
+ ## Breaking changes
47
+ No explicit breaking API changes were detected in the code changes for this release. The main risk area is **build/tooling expectations** (TypeScript module/target changes and use of `node:` specifiers), which primarily affects contributors building from source rather than consumers using the published `dist/` artifacts.
@@ -0,0 +1 @@
1
+ 0.0.15 — Move README doctests to SWC; align Node/TS toolchain to ES2024 and `node:` imports