Install
Works with Drupal: ^10.3 || ^11Using Composer to manage Drupal site dependencies
Alternative installation files
Download tar.gz
681.39 KB
MD5: fc0348fd2e26ea3e0004b078a85d14e0
SHA-1: 5bb88a6489d65d6d2de3e243e0aef85a9b4ff78d
SHA-256: fbdf576b2c4be5097b38bc737c55dd8dc8126487b039b7b79b07bab648ceeada
Download zip
1.17 MB
MD5: 340f798fb590cbfd83d304e5f6cd2d0a
SHA-1: dd8624f6a538018c88a2d514955620462a123f4f
SHA-256: 4a1cc09804ff833f957aeb83d6c9a667bfedb95d12f90812fdb7a7a08cffb2b4
Release notes
Changed
- Dropped the
treeshake: falseRollup override in the centralized Vite config.preserveEntrySignatures: 'strict'(the line right below) already protects entry exports, so tree-shaking is now on.
Fixed
ssr-runtime.mjsnow exportssharedSingleton,hasSharedSingleton, andisModuleAvailable, restoring drop-in equivalence with@sdx/runtime. The three primitives shipped in alpha7 went to the browser runtime only; consumers importing them from@sdx/runtimeworked under CSR but resolved to undefined under SSR, silently breaking cross-bundle state and optional-alias detection on any SSR-rendered route.- Vite shared-vendor chunk over-bundling. The auto-generated
vite.config.jscarried a hand-writtenmanualChunks(id)that returned'shared-vendor'for everynode_modulesmodule, collapsing every vendor dep into one chunk imported by every entry. Public pages preloaded heavy editor stacks (TipTap, ProseMirror) shipped only with portal entries; The override is removed; Rollup's native per-entry-set chunking now drives the split, so a vendor dep imported only by editor entries lands in an editor-only chunk, deps shared across every entry land in a fully shared chunk, and adding a heavy library to one component no longer regresses payload for unrelated pages.experimentalMinChunkSize: 10000keeps the per-request count sane. - Watchdog noise from internal SDX progress logs. The build orchestrator (per-framework build/dev-server progress), NPM registry cache invalidation, dependency hook lockfile refresh on module install/uninstall, SSR cache invalidation + circuit-breaker recovery, and component-data-provider discovery all logged at info/debug on every normal-path call. Drush stdout already covered the build progress; the rest were per-event traces with no operator value. Only error and warning paths remain in watchdog. Logger calls dropped in sdx core.
AutoLibraryGenerator's "no entry point found" log moved from notice to warning to match the severity of its symptom (the affected component will not bundle).
Removed
Drupal\sdx\Service\PageRegistrationCollector::__constructno longer accepts a?LoggerInterface $logger = NULLargument; the corresponding@logger.channel.sdxargument insdx.services.ymlis gone with it. The collaborator was the sole consumer of an info log that this release also removes. Sites that construct the service via the container are unaffected; direct instantiation must drop the third argument.Drupal\sdx_vite\Service\ViteConfigGenerator::buildManualChunks()and the matching'manual_chunks'placeholder pass into the centralized stub. The stub never referenced the placeholder, so the method's output never reached the emitted Vite config; dead code. Visibility wasprotectedwith no external callers.