Skip to content

Move type imports to @fjell/types, bump dependencies, and promote package to 4.4.69

Choose a tag to compare

released this 20 Dec 12:46
· 12 commits to working since this release

Overview

This release is focused on clarifying and consolidating where static type definitions are sourced (moving many imports from @fjell/core to the lightweight @fjell/types package), applying coordinated patch bumps to several @fjell internal dependencies in package.json, and promoting the package.json version from a dev pre-release to a formal patch release (4.4.69). There is also a removal of a repository GitHub Action that previously built the docs. Together, these changes are primarily about development and packaging hygiene, dependency alignment, and making type/runtime boundaries explicit.

Key commits

  • Promote package.json version to a stable patch: commit 4781c0c
  • Bump internal @fjell package dependency patch versions in package.json: commit dd1d17c
  • Replace many imports of runtime/type names from @fjell/core to @fjell/types and align Coordinate imports: commit 96fedf1
  • Remove docs build GitHub Action file: deletion of .github/actions/build-docs/action.yml (present in diff)

Breaking Changes

  • No runtime API changes in source code were introduced in this set of commits. The changes recorded in the log are import-level and package metadata updates only (see commits 96fedf1 and dd1d17c). There are no changes to exported runtime behavior indicated in the commit messages.

  • The one exception that may affect repository automation: a GitHub Action file used to "Build Documentation" (.github/actions/build-docs/action.yml) was deleted in this diff. If your CI relied on that action being present, reintroduce equivalent steps or update workflow references. The deletion is visible in the provided diff and is part of this release.

New / Improvements

  • Shifted type imports from @fjell/core to @fjell/types to separate static typing from runtime code (commit 96fedf1)

    • What changed: Multiple source and test files now import Item, ComKey, LocKeyArray, PriKey, UUID, QueryParams and related type names from @fjell/types instead of @fjell/core. Files affected include src/Instance.ts, src/InstanceFactory.ts and many tests (tests/AItemAPI.test.ts, tests/CItemAPI.test.ts, tests/Instance.test.ts, tests/InstanceFactory.test.ts, tests/PItemAPI.test.ts, tests/Utilities.ordering.test.ts, tests/Utilities.test.ts, plus numerous tests under tests/ops/*). The commit message enumerates these files and the intent to move static/type names to the types package.
    • Why this matters: The change makes an explicit separation between runtime code (kept in @fjell/core) and static type definitions (centralized in @fjell/types). This reduces accidental runtime coupling to core for purely type-level imports and clarifies the intended use of the smaller types package. The release therefore documents a deliberate dependency-shaping step that can reduce bundle/runtime surface area where type-only imports were previously used.
    • How this was handled technically: Import statements across both src/ and tests/ were updated to source types from @fjell/types. In a small number of places the commit intentionally kept runtime helpers in @fjell/core—for example, queryToParams and Utilities were retained from @fjell/core in tests/ops/all.test.ts while the type names moved to @fjell/types. That pattern shows an effort to preserve runtime behavior while shifting only static typings.
  • Aligned Coordinate import sites (commit 96fedf1)

    • What changed: src/Instance.ts and src/InstanceFactory.ts now import Coordinate (and Item) from @fjell/types. The commit message specifically notes that Coordinate was previously imported from @fjell/core in one place and not at all in another; the change consolidates the source for Coordinate to @fjell/types.
    • Why this matters: Consistent sourcing of Coordinate from the types package avoids ambiguous import roots and keeps type-only entities in the types package.

Package metadata and dependency updates

  • Promote pre-release version to patch release: package.json version changed from 4.4.69-dev.0 to 4.4.69 (commit 4781c0c)

    • What changed: The package.json version field was updated so publishing and consumers will treat this as a stable patch release instead of a dev pre-release. The commit message explicitly calls out that this is a metadata-only change.
    • Implications: Packaging, publishing workflows, changelog generation, and semver resolution by downstream consumers will now treat this as a formal patch release. The commit message notes no source or runtime logic changed.
  • Coordinated patch bumps for internal packages in package.json (commit dd1d17c)

    • What changed: Dependency versions were advanced in package.json as follows: @fjell/core ^4.4.73 → ^4.4.74, @fjell/http-api ^4.4.63 → ^4.4.64, @fjell/logging ^4.4.65 → ^4.4.66, @fjell/registry ^4.4.81 → ^4.4.82, plus added/updated @fjell/types ^4.4.5 and @fjell/validation ^4.4.2. The commit message describes this as coordinated patch-level updates and clarifies these are package.json-only edits.
    • Why this matters: The dependency bumps align this package to recent patch releases of sibling packages. Because the commit is package.json-only, there are no code-level changes here, but consumers should be aware that when installing this release they will pull the bumped transitive versions of those internal packages.

Bug Fixes

  • No runtime bug fixes are described in the commits provided. The available commits focus on import/source reorganization and package metadata.

Developer experience / tests

  • Test imports updated to reflect the type-source split (commit 96fedf1)
    • What changed: Tests across the repository were modified to import types from @fjell/types (for example, tests/AItemAPI.test.ts, tests/CItemAPI.test.ts, and many files under tests/ops/). Test code now clearly differentiates between runtime helpers (left in @fjell/core where appropriate) and static types.
    • Why this matters: The test suite now mirrors the intended runtime / type separation and prevents accidental reintroduction of type-only imports that pull in runtime code. This reduces future surprises where tests pass while runtime bundles include unintended modules.

CI / Repository automation

  • Removed repository-level docs build Action file (deleted .github/actions/build-docs/action.yml)
    • What changed: The GitHub composite action previously defined at .github/actions/build-docs/action.yml was removed (diff shows the file deletion). The deleted file's contents showed it installed and built the docs from the docs directory.
    • Why this matters: If any workflow referenced that action or relied on an internal composite action to build docs, those workflows will now fail or behave differently. The deletion is a visible change in repo automation and should be reconciled by updating workflows or replacing the action with an alternative step if docs builds are still required in CI.

Migration guidance and practical implications

  • For consumers of the package (runtime): There are no runtime behavioral changes recorded in the commits. The version bump (4.4.69) and dependency bumps are packaging and dependency-alignment steps; source-level runtime behavior is unchanged per the commit messages. Upgrading to this release should not require code changes in upstream projects that consume runtime APIs from @fjell/client-api.

  • For maintainers and CI owners: Verify any workflows that referenced the deleted docs action and either restore equivalent docs build steps or update workflows to the new location/approach. The commit that deletes .github/actions/build-docs/action.yml removed the composite action itself; the release notes cannot assume whether workflows were updated elsewhere — check repository workflows for references to this action.

  • For local development and tests: The import changes mean the package now depends on @fjell/types in package.json (see commit dd1d17c). Ensure local installs include the updated dependencies so TypeScript type resolution works in IDEs and during builds/tests.

Notes about scope and intent (analysis)

  • Pattern observed: The primary pattern across the source changes is a deliberate separation of concerns between runtime modules and static type definitions. Large-scale, mechanical edits moved names that are purely type-level from @fjell/core to @fjell/types across both source and tests. Where runtime helpers remain required (queryToParams, Utilities), the commits preserved runtime imports from @fjell/core. This signals a conscious effort to keep runtime surface area minimal and to treat @fjell/types as the canonical location for type-only declarations.

  • Connected changes: The package.json dependency bumps and the addition of @fjell/types to dependencies are tightly coupled with the import changes. The code edits alone would be incomplete without updating package.json to depend on @fjell/types (^4.4.5 was added/updated). The commits reflect that coupling: import migration + package.json version alignment.

  • Secondary implications: Consolidating types into @fjell/types can reduce accidental runtime pulls and make downstream bundling and tree-shaking more predictable. This also clarifies to maintainers which package to update for type-only changes. The deletion of the docs build action suggests a repository maintenance decision (removing an internal composite Action) that could reduce CI surface area but requires workflow alignment if docs builds remain necessary.

Files changed (high level)

  • package.json: version bumped to 4.4.69 and several @fjell dependency versions were bumped (commits 4781c0c and dd1d17c)
  • src/: Instance.ts, InstanceFactory.ts and multiple files under src/ops/ had imports updated to pull types from @fjell/types (commit 96fedf1)
  • tests/: many tests updated to import types from @fjell/types instead of @fjell/core (commit 96fedf1)
  • .github/actions/build-docs/action.yml: removed (file deletion in the diff)

References

  • Promote to patch release: 4781c0c
  • Dependency bumps and package.json edits: dd1d17c
  • Import/type sourcing changes and Coordinate alignment across source and tests: 96fedf1

If you maintain downstream automation or CI, please review workflows for any references to the removed docs action and confirm your dependency install step will pull the new @fjell/types version so TypeScript resolution works correctly in local development and CI.