Repository navigation
v0.17.2
v0.17.2 — SSR Filtering + dsd-report Manifest Decisions
Release date: 2026-05-16
Summary
Implements the two deferred v0.17.0 SOP items: SSR-aware island filtering
(less.ssr: false) and manifest-driven render decisions in dsd-report.json.
Changes
- SSR Filtering: Islands with
less.ssr: falseare excluded from SSR
customElements.define()registration. They render as empty custom element
tags in SSR HTML and get upgraded client-side via the client entry. - ManifestDecision type: New
ManifestDecisioninterface in@lessjs/core
records per-island render path (ssr+client|client-only) derived from
manifest flags (ssr, dsd, hydrate). - dsd-report.json: New
manifestDecisionsfield populated from
ctx.phase1.packageIslandDecls+ctx.phase1.packageManifests.
Empty array when no package manifests are configured. - Tests: 6 new tests (4 in entry-renderer, 2 in ssg-report).
Total: 528 unit + 92 e2e passing.
Breaking Changes
None. This is a patch release — feature completion, no API change.
manifestDecisions is an optional field in DsdBuildReport.
Known Issues
- 3 JSR
unanalyzable-dynamic-importwarnings in adapter-vite (expected,
runtime-only deps, not blocking publish)
Files Changed
| File | Change |
|---|---|
packages/core/src/types.ts |
Added ManifestDecision interface |
packages/core/src/index.ts |
Export ManifestDecision type |
packages/adapter-vite/src/entry-renderer.ts |
SSR island filter: skip ssr === false |
packages/adapter-vite/src/cli/ssg-render.ts |
Added buildManifestDecisions() + report |
packages/adapter-vite/__tests__/entry-renderer.test.ts |
4 SSR filtering tests |
packages/adapter-vite/__tests__/ssg-report.test.ts |
2 manifestDecisions tests |
docs/sop/v0.17.2-ssr-filtering-dsd-report.md |
SOP updated with implementation details |
docs/status/STATUS.md |
Updated to v0.17.2 |