Releases: locknessland/lockness-monorepo
Release list
v0.2.0
First release cut from locknessland/lockness-monorepo.
Version numbering continues from 0.1.30, which was published under the
previous repository. Releases and tags were not migrated, so this is the first
tag this repository has ever carried — the gap in the JSR version history is the
migration, not a withdrawn release.
⚠️ Breaking — contract interfaces renamed
Four interfaces lost their I prefix and took a Contract suffix. There are
no deprecated aliases; the old names are gone.
| Before | After |
|---|---|
ICache |
CacheContract |
ICommand |
CommandContract |
IContainer |
ContainerContract |
IMiddleware |
MiddlewareContract |
If you implement any of these, rename at the point of use. Nothing else in the
signature changed.
New — @lockness/scheduler
Declarative cron scheduling: a @Schedule decorator records intent, a
Scheduler service arms one timer per task. Times are UTC only and state is
in-process only — two replicas each fire every task.
This package has never been published before; 0.2.0 is its first version on
JSR.
Publishing correctness
Several packages would previously have shipped manifests a consumer could not
resolve. Inside the monorepo a bare @lockness/x specifier resolves by
workspace member name, so an import that no manifest declared still worked
locally and failed on install:
TS2307: Import "@lockness/cli" not a dependency and not in import map
Ten such imports are now declared, across eight packages. Two checks keep them
declared — deno task deps:analyze for @lockness/* edges, and
deno task publish:check, which copies each package out of the workspace and
type-checks it alone. deno publish --dry-run does not catch this class of
defect, because it runs inside the workspace.
Dependency integrity
The dependency graph is now built from deno info — the module graph Deno
actually resolves — rather than from declared manifests, and is checked for
cycles, declaration drift and tier policy on every pull request.
Also in this release
@lockness/containerraisesCircularDependencyErrornaming the construction
chain, instead of exhausting the stack. Lazy@Injectstill tolerates
services that hold each other; only a constructor cycle is an error.- Every package carries an agent brief with a generated dependency contract,
public surface and test inventory, verified in CI.
Full changelog: https://github.com/locknessland/lockness-monorepo/commits/v0.2.0