Skip to content

Release 4.4.36 — version bump, testing config simplification, and dependency updates

Choose a tag to compare

released this 18 Aug 21:52
· 45 commits to working since this release

This release finalizes the 4.4.36 release line and collects a set of dependency updates, test configuration simplifications, and package metadata tidy-ups. The primary user-facing outcomes are: the package version is published as 4.4.36; test setup for Vitest has been simplified and consolidated; runtime and linting dependencies were bumped to ensure compatibility with recent fixes; and package.json was updated with module type and export adjustments. The changes are grouped below so maintainers and integrators can quickly see what to expect and what to update in local setups.

New Features

  • package.json: explicit ES module type
    • Added "type": "module" to package.json. This makes the package publish and runtime behavior use native ES module resolution by default. Impact: consumers and build tooling should treat the package as ESM. Files affected: package.json.

Improvements

  • Test setup simplification (Vitest)

    • Moved test harness/setup file from vitest.setup.ts to tests/setup.ts and updated references. This centralizes test initialization (for example, fetch mocking) in tests/setup.ts.
    • Simplified vitest.config.ts: added a triple-slash reference for Vitest types and enabled globals; removed custom __dirname/alias resolution and the project path alias for '@fjell/http-api'. Result: a leaner config with fewer custom path-handling rules.
    • Removed per-metric coverage thresholds and other complex coverage/checkCoverage settings from vitest configuration. Also removed extra testTimeout and coverage exclude blocks to simplify configuration surface.
    • Impact: test configuration is easier to read and maintain; some custom alias behaviors were removed and should be accounted for if local workflows relied on them. Files affected: tests/setup.ts (new path), vitest.config.ts.
  • package.json metadata and formatting tidy-up

    • Tidied exports and browser fields in package.json.
    • Ensured trailing newline at EOF in package.json for consistent file formatting in the repo.
    • Repeated development-version bumps and final release-version set to 4.4.36.
    • Impact: packaging metadata clarified for module consumers and tools.

Dependency updates

  • Runtime dependency bumps

    • @fjell/logging updated incrementally across development iterations and pinned in this release as ^4.4.44 (final bump in this series). This moves the runtime logging dependency forward to pick up recent fixes and compatibility updates.
    • Files affected: package.json (dependencies).
  • Development dependency bumps

    • @fjell/eslint-config bumped to ^1.1.21 in this release series to align with shared lint rules and tooling updates.
    • Other dev dependencies in package.json remain as-is but are aligned with the new lint config.

Bug fixes and maintenance

  • Versioning lifecycle changes

    • Multiple commits cycle package.json between dev and release versions (e.g., 4.4.35-dev.0 → 4.4.35 → 4.4.36-dev.0 → 4.4.36). The final package.json version field is set to "4.4.36" to mark this release.
    • Impact: release tag and published package should match the final version 4.4.36.
  • Minor formatting and whitespace corrections

    • Added or removed trailing newlines to normalize file endings.
    • Cleaned up small whitespace and newline inconsistencies across package.json and other modified files.

Refactoring

  • Tests and config: remove custom path aliasing for tests
    • The vitest config no longer contains custom __dirname or alias resolution. If any local scripts or editor configs relied on the '@fjell/http-api' path alias during testing, update them to use relative imports or a new alias strategy.
    • This simplification reduces custom configuration code but requires checking any dependent tooling that used the old aliasing.

Developer experience

  • Centralized test setup and fetch mocking
    • Fetch mock initialization was moved into tests/setup.ts and now calls fetchMocker.enableMocks() from the single setup location. This change consolidates test-side effects and reduces duplicated initialization.
    • Impact: contributors writing tests should reference the new setup location; CI should pick up the same initialization automatically via the updated vitest config.

Breaking changes and notes for integrators

  • ESM default via "type": "module"

    • The package now declares "type": "module", which makes Node treat .js files as ESM by default. Consumers using CommonJS imports may need to update import syntax or interop handling. Check downstream consumers and builds for compatibility.
  • Path alias removal in test config

    • The removal of custom alias resolution from vitest.config.ts can affect tests or dev tools that used the '@fjell/http-api' alias. Update those imports or reintroduce equivalent aliasing in local configs if required.

Documentation updates

  • No explicit documentation files were changed in this set of commits beyond package.json metadata and scripts. However, the changes to testing and module type should be reflected in any developer setup documentation:
    • Update README or contributor docs to note the new tests/setup.ts path and ESM package type if those docs referenced the old paths or CommonJS usage.

Files and components affected (high level)

  • package.json

    • Version bumped to 4.4.36; added "type": "module"; updated dependencies and devDependencies (@fjell/logging, @fjell/eslint-config); tidy of exports/browser fields; ensured trailing newline.
  • tests/setup.ts

    • New location for test setup (previously vitest.setup.ts). Contains fetch mock initialization and any shared test bootstrapping.
  • vitest.config.ts

    • Simplified; added reference types and enabled globals; removed custom path aliasing and complex coverage rules.

Release notes references

  • Commit messages and diffs for this release describe the above changes, including the final version bump (set to 4.4.36) and dependency bumps for @fjell/logging and @fjell/eslint-config. See the package.json modifications and vitest/test setup changes for the primary implementation details.

Recommended follow-ups for integrators and maintainers

  • Verify CI and local test runs after the vitest config and setup path changes; adjust any tooling that relied on the removed alias resolution.
  • If consuming projects use CommonJS imports from this package, confirm interop with ESM ("type": "module") or update import forms.
  • Update developer onboarding docs to reference tests/setup.ts and the ESM packaging decision.

If further detail is needed (file-by-file diffs, exact package.json snippets, or migration steps for CommonJS consumers), those can be provided separately.