@stardeck-customer-apps/compose 0.8.0 → 0.9.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/SKILL.md +19 -0
- package/dist/cli.js +378 -221
- package/dist/index.d.mts +42 -1
- package/dist/index.d.ts +42 -1
- package/dist/index.js +367 -218
- package/dist/index.mjs +364 -218
- package/package.json +1 -1
package/SKILL.md
CHANGED
|
@@ -23,6 +23,7 @@ Compose turns that declaration into the code Next.js actually builds:
|
|
|
23
23
|
|
|
24
24
|
```bash
|
|
25
25
|
npx stardeck-compose [--enabled=a,b,c] [--prune] [--cwd=<repo root>]
|
|
26
|
+
npx stardeck-compose --check-boundaries [--cwd=<repo root>]
|
|
26
27
|
```
|
|
27
28
|
|
|
28
29
|
Run it from the repo root (the directory holding `apps/web`). The Blueprint
|
|
@@ -75,6 +76,24 @@ a silent fallback. It holds deployment facts: gitignore it (`apps/web/.gitignore
|
|
|
75
76
|
a git checkout, and a clean one: it refuses when `git status --ignored`
|
|
76
77
|
reports uncommitted or ignored files under `apps/web/src/modules`, and
|
|
77
78
|
refuses outside a checkout — it is for throwaway deploy checkouts, not yours.
|
|
79
|
+
It also refuses, before deleting anything, when a file outside
|
|
80
|
+
`apps/web/src/modules` imports an excluded Module, or when a kept Module's own
|
|
81
|
+
file (tests included) would import a deleted path: an excluded Module, any
|
|
82
|
+
Module's `enhancements/<excluded>/`, a `.sql`/`.json` of theirs read by path,
|
|
83
|
+
or another kept file that does. Only a file inside the Module's own
|
|
84
|
+
`enhancements/<excluded>/` goes with the peer (with any excluded peer: a
|
|
85
|
+
booking slice may import membership when both are pruned). Fix: move the file into
|
|
86
|
+
`src/modules/<module>/enhancements/<peer>/`, or declare the peer in `uses` and
|
|
87
|
+
enable it. A test that needs two optional peers at once cannot live in one
|
|
88
|
+
`enhancements/` folder: load the second peer's harness only when
|
|
89
|
+
`isModuleEnabled(peer)` and `it.skipIf` without it. Needs compose 0.9.0 or
|
|
90
|
+
later for the Module-file check.
|
|
91
|
+
- `--check-boundaries` — Blueprint lint; composes nothing. Checks every Module
|
|
92
|
+
against every feature Module it does not list in `uses` (whether it lists it
|
|
93
|
+
in `enhancements` or not), as if all of them were switched off, and exits 1
|
|
94
|
+
listing the offending files. Library Modules are always composed and never
|
|
95
|
+
count. Run it in Blueprint CI so such an import is caught before a customer
|
|
96
|
+
prunes.
|
|
78
97
|
|
|
79
98
|
## Rules
|
|
80
99
|
|