@fulmenhq/tsfulmen 0.2.4 → 0.2.6

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.
package/CHANGELOG.md CHANGED
@@ -14,6 +14,43 @@ _No unreleased changes._
14
14
 
15
15
  ---
16
16
 
17
+ ## [0.2.6] - 2026-02-03
18
+
19
+ ### Fixed
20
+
21
+ - **ESM Imports** - Added `.js` extensions to ajv subpath imports for ESM compatibility
22
+ - Fixes ERR_MODULE_NOT_FOUND when package installed via npm
23
+ - Added `.js` to `ajv/dist/2019` and `ajv/dist/2020` imports in schema validator
24
+ - **Test Timeout** - Added 5-second timeout to goneat spawn in isGoneatAvailable()
25
+ - Prevents test hanging indefinitely in CI when goneat not in PATH
26
+ - Resolves 60-second timeout failure in prepublish test suite
27
+
28
+ ### Notes
29
+
30
+ - v0.2.5 was published with broken ESM imports and cannot be republished
31
+ - v0.2.6 supersedes v0.2.5 with both critical bugfixes
32
+
33
+ ---
34
+
35
+ ## [0.2.5] - 2026-02-03 **[BROKEN - DO NOT USE]**
36
+
37
+ ### Status
38
+
39
+ **⚠️ This version is broken and should not be used. Use v0.2.6 instead.**
40
+
41
+ ### Fixed
42
+
43
+ - **Release Workflow** - Fixed post-release verification to use ESM imports instead of require()
44
+ - Resolves ERR_PACKAGE_PATH_NOT_EXPORTED error in verify job
45
+ - Package is ESM-only, verification now correctly uses dynamic import()
46
+
47
+ ### Known Issues
48
+
49
+ - **ESM Import Error** - Missing `.js` extensions on ajv subpath imports causes ERR_MODULE_NOT_FOUND
50
+ - Published from commit 07420a9 without running `make verify-local-install` (violated RELEASE_CHECKLIST.md)
51
+
52
+ ---
53
+
17
54
  ## [0.2.4] - 2026-02-01
18
55
 
19
56
  ### Infrastructure
@@ -6,8 +6,8 @@ import { dirname, join, relative, extname } from 'path';
6
6
  import { fileURLToPath } from 'url';
7
7
  import glob from 'fast-glob';
8
8
  import Ajv from 'ajv';
9
- import Ajv2019 from 'ajv/dist/2019';
10
- import Ajv2020 from 'ajv/dist/2020';
9
+ import Ajv2019 from 'ajv/dist/2019.js';
10
+ import Ajv2020 from 'ajv/dist/2020.js';
11
11
  import AjvDraft04 from 'ajv-draft-04';
12
12
  import { Readable } from 'stream';
13
13
  import picomatch from 'picomatch';
@@ -357,8 +357,18 @@ async function isGoneatAvailable(goneatPath) {
357
357
  }
358
358
  return new Promise((resolve) => {
359
359
  const proc = spawn(pathToTest, ["version"], { stdio: "ignore" });
360
- proc.on("close", (code) => resolve(code === 0));
361
- proc.on("error", () => resolve(false));
360
+ const timeout = setTimeout(() => {
361
+ proc.kill();
362
+ resolve(false);
363
+ }, 5e3);
364
+ proc.on("close", (code) => {
365
+ clearTimeout(timeout);
366
+ resolve(code === 0);
367
+ });
368
+ proc.on("error", () => {
369
+ clearTimeout(timeout);
370
+ resolve(false);
371
+ });
362
372
  });
363
373
  }
364
374
  async function runGoneatValidation(schemaPath, dataPath, goneatPath) {