@adbayb/stack 3.5.0-next.1792843338743.b7df0a9 → 3.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js
CHANGED
package/package.json
CHANGED
|
@@ -7,7 +7,7 @@ A slice is one business feature cut vertically through the layers, owning its ha
|
|
|
7
7
|
- Structure by capability: one folder per feature under `src/` (e.g. `src/refund/`), named with a noun, owning its handler, domain/hexagon, adapters, and tests. No `features/` container; the extra level adds nothing.
|
|
8
8
|
In a clean module, features take the use-case verb form instead: see Clean Architecture essentials.
|
|
9
9
|
- Cross-slice communication only via explicit contracts or domain events. No deep imports (`../../other-slice/internals`).
|
|
10
|
-
- Hexagonal/clean modules expose each folder's public surface through `index.ts`;
|
|
10
|
+
- Hexagonal/clean modules expose each folder's public surface through `index.ts`; any file serving as a barrel, including a package entrypoint, contains only re-export declarations, including type-only re-exports, with no imports, local declarations, or executable implementation. Keep startup and wiring in runtime entrypoints or composition roots, not in barrels. Import via the barrel, never deep into another folder's internals. Flat/MVVM slices may import directly within the slice, but never deep-import another slice's internals.
|
|
11
11
|
- Shared kernel holds only truly shared code and stays tiny; everything else is duplicated deliberately until the sharing threshold (`cohesion-coupling.md`) proves shared.
|
|
12
12
|
|
|
13
13
|
## Inside a slice
|