Browse docs
Browse docs
Released 2026-09-29
A patch across all eleven packages. @dashforge/tw itself is unchanged apart
from two corrections listed below; the reason this release exists is in the
bridge layer.
@dashforge/ui-core and @dashforge/rbac shipped 2.0.0 with a declaration
entry point that re-exported from paths their tarball did not contain. What a
consumer saw depended entirely on one compiler flag:
skipLibCheck | Symptom |
|---|---|
false | TS2307: Cannot find module './src/types', and so on for every re-export |
true (the common default) | compiles clean, and every symbol silently degrades to any |
The second row is the dangerous one, and it is why nobody noticed. Nothing
changes at runtime: .d.ts files never reach a bundle, so every test suite
stayed green and every deployed app kept working. The defect removes the type
safety without removing the behaviour.
The cause was a build target that deleted the declarations it was supposed to
publish. On @dashforge/forms the sequence tsc --build … && rm -rf dist/src
is correct, because tsc writes the flat tree into dist/ and dist/src is a
redundant copy from the bundler. On ui-core and rbac, outDir points
outside the package, so tsc writes nothing into dist/ and dist/src is not
a copy. It is the whole payload.
The exported VERSION constant. @dashforge/tw published 2.0.0 while
exporting VERSION = '1.5.2'. It is public surface, and it was lying. The
same drift hit five other packages.
A type-test declaration no longer ships. autocomplete.props.type-test.d.ts
rode along in the 2.0.0 tarball, because the exclude patterns match
*.test.ts with a dot and that file spells it with a hyphen.
No API change, no breaking change. Upgrade every @dashforge/* package
together, as always:
pnpm add @dashforge/tw@2 @dashforge/tw-theme@2 @dashforge/tw-tokens@2 \
@dashforge/forms@2 @dashforge/ui-core@2 @dashforge/rbac@2 \
@dashforge/calendar-core@2If you are on 2.0.0 and your editor shows Dashforge types as any, or your
build fails with TS2307 inside node_modules/@dashforge, this is the
release that fixes it.
CI now verifies the tarball rather than the working tree. 2.0.0 was green on
lint, typecheck, test and build across every project and still shipped two
unusable packages: inside the monorepo everything compiles against project
references that read the declarations from a directory no tarball includes, so
only an installing consumer ever saw the problem.
The new step packs all eleven packages, resolves every specifier each
declaration entry re-exports, and compiles a throwaway consumer against the
.tgz with skipLibCheck: false. That last detail is the one that matters: on
the default true, the broken 2.0.0 compiles clean, so a consumer probe on
default settings would have certified the exact defect it exists to catch.
Unchanged from 2.0.0.
| Peer | Required range |
|---|---|
react | ^18.0.0 || ^19.0.0 |
tailwindcss | >=3.4.1 <5 |
@dashforge/tw-theme | 2.0.1 exactly |
@dashforge/tw-tokens | 2.0.1 exactly |