Skip to content

v0.1.5

Choose a tag to compare

@github-actions github-actions released this 06 Sep 07:46
· 42 commits to main since this release

Apply the border token instead of defining it

Tailwind v4 dropped v3's default border colour: a bare border sets a width
and leaves border-color at currentColor. nebula's components are written
the way shadcn writes them — the colour left to the base layer — but no base
layer was emitted, so every one of them painted its border in its own text
colour. Measured in Chromium under .dark: border oklch(0.985 0 0), text
oklch(0.985 0 0). White borders, in a dark app, with every token correctly
defined and none of them applied. The page background was unclaimed for the
same reason.

All three adapters were affected and all three are fixed: the Tailwind
stylesheet, the UnoCSS preflight (written out, since a preflight has no
@apply), and the prebuilt nebula.css the css adapter ships verbatim.

Lint this package the way its own repository will

biome's configuration lived only at the workspace root. This package is
built from its own repository, where that file does not exist and biome
falls back to its defaults — so lint in CI has been checking a different
set of rules from lint here, and the bans this project actually cares
about were never enforced where it counts.

The config is now the package's own, and says the same thing the root one
did.

Declare what CI has to install

Each package is its own repository: pnpm install there sees only this
file, so a dependency the workspace happened to hoist locally is simply
absent in CI. --coverage needs @vitest/coverage-v8 named here, and an
optional peer a test imports has to be a devDependency as well — optional
is exactly what keeps it from being installed.

Run the gates the package already declared, and declare the missing one

Three guard-rails were configured and never reached CI:

  • tsconfig.json includes tests, but CI typechecked only
    tsconfig.build.json — every type a test relied on went unchecked.
  • coverage was measured and reported, with no thresholds at all, so
    test:coverage could not fail whatever the suite stopped covering.
  • lint pointed at src/ alone, so no test file was ever linted.

CI now runs pnpm typecheck, coverage, and a lint covering tests/.
The thresholds are a floor set just under what the suite covers today.


Changes since v0.1.4.