@stardeck-customer-apps/compose 0.10.0 → 0.11.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 +3 -1
- package/dist/cli.js +14 -5
- package/dist/index.js +14 -5
- package/dist/index.mjs +14 -5
- package/package.json +3 -5
package/SKILL.md
CHANGED
|
@@ -75,7 +75,9 @@ a silent fallback. It holds deployment facts: gitignore it (`apps/web/.gitignore
|
|
|
75
75
|
installed Module. Library and contract Modules are always composed. A name
|
|
76
76
|
that is not installed fails with exit 1. Falls back to
|
|
77
77
|
`NEXT_PUBLIC_STARDECK_ENABLED_MODULES` (how the platform passes the selection
|
|
78
|
-
at deploy time); the flag wins.
|
|
78
|
+
at deploy time); the flag wins. A Module whose `module.json` sets
|
|
79
|
+
`"defaultEnabled": false` is still composed when `--enabled` is unset: the key
|
|
80
|
+
only tells the platform to leave it off when it creates a Blueprint fork.
|
|
79
81
|
- `--prune` — after composing, delete the source of every excluded Module, plus
|
|
80
82
|
any enhancement slice an enabled Module keeps for an excluded peer (the slice
|
|
81
83
|
imports its peer, so leaving it breaks `next build`). Requires `--enabled`,
|
package/dist/cli.js
CHANGED
|
@@ -2354,7 +2354,13 @@ var moduleManifestSchema = import_zod.z.object({
|
|
|
2354
2354
|
* `module-boundaries/ui-layer` lint rule enforces it — so a fork may
|
|
2355
2355
|
* soft-eject them. See docs/module-ui-soft-eject-plan.md.
|
|
2356
2356
|
*/
|
|
2357
|
-
ui: import_zod.z.object({ separable: import_zod.z.boolean() }).strict().optional()
|
|
2357
|
+
ui: import_zod.z.object({ separable: import_zod.z.boolean() }).strict().optional(),
|
|
2358
|
+
/**
|
|
2359
|
+
* `false` keeps a feature Module off in a new Blueprint fork unless the
|
|
2360
|
+
* creator ticks it: the fork picker leaves it unchecked and "every Module"
|
|
2361
|
+
* is written out without it. Omitted means on. Library Modules are always on.
|
|
2362
|
+
*/
|
|
2363
|
+
defaultEnabled: import_zod.z.boolean().optional()
|
|
2358
2364
|
}).strict().superRefine((manifest, ctx) => {
|
|
2359
2365
|
if (manifest.uses.includes(manifest.name)) {
|
|
2360
2366
|
ctx.addIssue({
|
|
@@ -3889,6 +3895,7 @@ function analyzeClientSafeEntryImports(sourceText, fileName) {
|
|
|
3889
3895
|
|
|
3890
3896
|
// ../../packages/lib/src/shared/platform-owned-paths.ts
|
|
3891
3897
|
var APP_WEB_PREFIX = "apps/web/";
|
|
3898
|
+
var BLUEPRINT_LINT_MARKER = `${APP_WEB_PREFIX}eslint-rules/module-boundaries.mjs`;
|
|
3892
3899
|
var MODULE_STUB_MARKER = "@stardeck-module-rail-generated";
|
|
3893
3900
|
var ENABLED_MODULES_ENV = "NEXT_PUBLIC_STARDECK_ENABLED_MODULES";
|
|
3894
3901
|
var HEADLESS_MOUNTS_ENV = "NEXT_PUBLIC_STARDECK_HEADLESS_MOUNTS";
|
|
@@ -5935,10 +5942,12 @@ var creationSourceBlueprintSchema = import_zod7.z.object({
|
|
|
5935
5942
|
/** Internal template/fork project id — keep template naming in identifiers. */
|
|
5936
5943
|
blueprintProjectId: import_zod7.z.string().uuid(),
|
|
5937
5944
|
/**
|
|
5938
|
-
* `null`/absent means every feature Module
|
|
5939
|
-
*
|
|
5940
|
-
*
|
|
5941
|
-
*
|
|
5945
|
+
* `null`/absent means every feature Module: the platform stores that as the
|
|
5946
|
+
* explicit list of feature Modules in the published Blueprint version the fork
|
|
5947
|
+
* is cut from, so a Module a later Blueprint update adds arrives off. `[]` is
|
|
5948
|
+
* refused: the platform serialises it to an empty
|
|
5949
|
+
* `NEXT_PUBLIC_STARDECK_ENABLED_MODULES`, which the enablement parser reads
|
|
5950
|
+
* back as "all" (`module-enablement.ts`) — the opposite of an empty selection.
|
|
5942
5951
|
*/
|
|
5943
5952
|
enabledModules: import_zod7.z.array(moduleNameSchema).min(1, "Enable at least one Module").max(100).nullable().optional()
|
|
5944
5953
|
});
|
package/dist/index.js
CHANGED
|
@@ -2476,7 +2476,13 @@ var moduleManifestSchema = import_zod2.z.object({
|
|
|
2476
2476
|
* `module-boundaries/ui-layer` lint rule enforces it — so a fork may
|
|
2477
2477
|
* soft-eject them. See docs/module-ui-soft-eject-plan.md.
|
|
2478
2478
|
*/
|
|
2479
|
-
ui: import_zod2.z.object({ separable: import_zod2.z.boolean() }).strict().optional()
|
|
2479
|
+
ui: import_zod2.z.object({ separable: import_zod2.z.boolean() }).strict().optional(),
|
|
2480
|
+
/**
|
|
2481
|
+
* `false` keeps a feature Module off in a new Blueprint fork unless the
|
|
2482
|
+
* creator ticks it: the fork picker leaves it unchecked and "every Module"
|
|
2483
|
+
* is written out without it. Omitted means on. Library Modules are always on.
|
|
2484
|
+
*/
|
|
2485
|
+
defaultEnabled: import_zod2.z.boolean().optional()
|
|
2480
2486
|
}).strict().superRefine((manifest, ctx) => {
|
|
2481
2487
|
if (manifest.uses.includes(manifest.name)) {
|
|
2482
2488
|
ctx.addIssue({
|
|
@@ -4011,6 +4017,7 @@ function analyzeClientSafeEntryImports(sourceText, fileName) {
|
|
|
4011
4017
|
|
|
4012
4018
|
// ../../packages/lib/src/shared/platform-owned-paths.ts
|
|
4013
4019
|
var APP_WEB_PREFIX = "apps/web/";
|
|
4020
|
+
var BLUEPRINT_LINT_MARKER = `${APP_WEB_PREFIX}eslint-rules/module-boundaries.mjs`;
|
|
4014
4021
|
var MODULE_STUB_MARKER = "@stardeck-module-rail-generated";
|
|
4015
4022
|
var ENABLED_MODULES_ENV = "NEXT_PUBLIC_STARDECK_ENABLED_MODULES";
|
|
4016
4023
|
var HEADLESS_MOUNTS_ENV = "NEXT_PUBLIC_STARDECK_HEADLESS_MOUNTS";
|
|
@@ -5945,10 +5952,12 @@ var creationSourceBlueprintSchema = import_zod7.z.object({
|
|
|
5945
5952
|
/** Internal template/fork project id — keep template naming in identifiers. */
|
|
5946
5953
|
blueprintProjectId: import_zod7.z.string().uuid(),
|
|
5947
5954
|
/**
|
|
5948
|
-
* `null`/absent means every feature Module
|
|
5949
|
-
*
|
|
5950
|
-
*
|
|
5951
|
-
*
|
|
5955
|
+
* `null`/absent means every feature Module: the platform stores that as the
|
|
5956
|
+
* explicit list of feature Modules in the published Blueprint version the fork
|
|
5957
|
+
* is cut from, so a Module a later Blueprint update adds arrives off. `[]` is
|
|
5958
|
+
* refused: the platform serialises it to an empty
|
|
5959
|
+
* `NEXT_PUBLIC_STARDECK_ENABLED_MODULES`, which the enablement parser reads
|
|
5960
|
+
* back as "all" (`module-enablement.ts`) — the opposite of an empty selection.
|
|
5952
5961
|
*/
|
|
5953
5962
|
enabledModules: import_zod7.z.array(moduleNameSchema).min(1, "Enable at least one Module").max(100).nullable().optional()
|
|
5954
5963
|
});
|
package/dist/index.mjs
CHANGED
|
@@ -2457,7 +2457,13 @@ var moduleManifestSchema = z2.object({
|
|
|
2457
2457
|
* `module-boundaries/ui-layer` lint rule enforces it — so a fork may
|
|
2458
2458
|
* soft-eject them. See docs/module-ui-soft-eject-plan.md.
|
|
2459
2459
|
*/
|
|
2460
|
-
ui: z2.object({ separable: z2.boolean() }).strict().optional()
|
|
2460
|
+
ui: z2.object({ separable: z2.boolean() }).strict().optional(),
|
|
2461
|
+
/**
|
|
2462
|
+
* `false` keeps a feature Module off in a new Blueprint fork unless the
|
|
2463
|
+
* creator ticks it: the fork picker leaves it unchecked and "every Module"
|
|
2464
|
+
* is written out without it. Omitted means on. Library Modules are always on.
|
|
2465
|
+
*/
|
|
2466
|
+
defaultEnabled: z2.boolean().optional()
|
|
2461
2467
|
}).strict().superRefine((manifest, ctx) => {
|
|
2462
2468
|
if (manifest.uses.includes(manifest.name)) {
|
|
2463
2469
|
ctx.addIssue({
|
|
@@ -3992,6 +3998,7 @@ function analyzeClientSafeEntryImports(sourceText, fileName) {
|
|
|
3992
3998
|
|
|
3993
3999
|
// ../../packages/lib/src/shared/platform-owned-paths.ts
|
|
3994
4000
|
var APP_WEB_PREFIX = "apps/web/";
|
|
4001
|
+
var BLUEPRINT_LINT_MARKER = `${APP_WEB_PREFIX}eslint-rules/module-boundaries.mjs`;
|
|
3995
4002
|
var MODULE_STUB_MARKER = "@stardeck-module-rail-generated";
|
|
3996
4003
|
var ENABLED_MODULES_ENV = "NEXT_PUBLIC_STARDECK_ENABLED_MODULES";
|
|
3997
4004
|
var HEADLESS_MOUNTS_ENV = "NEXT_PUBLIC_STARDECK_HEADLESS_MOUNTS";
|
|
@@ -5926,10 +5933,12 @@ var creationSourceBlueprintSchema = z7.object({
|
|
|
5926
5933
|
/** Internal template/fork project id — keep template naming in identifiers. */
|
|
5927
5934
|
blueprintProjectId: z7.string().uuid(),
|
|
5928
5935
|
/**
|
|
5929
|
-
* `null`/absent means every feature Module
|
|
5930
|
-
*
|
|
5931
|
-
*
|
|
5932
|
-
*
|
|
5936
|
+
* `null`/absent means every feature Module: the platform stores that as the
|
|
5937
|
+
* explicit list of feature Modules in the published Blueprint version the fork
|
|
5938
|
+
* is cut from, so a Module a later Blueprint update adds arrives off. `[]` is
|
|
5939
|
+
* refused: the platform serialises it to an empty
|
|
5940
|
+
* `NEXT_PUBLIC_STARDECK_ENABLED_MODULES`, which the enablement parser reads
|
|
5941
|
+
* back as "all" (`module-enablement.ts`) — the opposite of an empty selection.
|
|
5933
5942
|
*/
|
|
5934
5943
|
enabledModules: z7.array(moduleNameSchema).min(1, "Enable at least one Module").max(100).nullable().optional()
|
|
5935
5944
|
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stardeck-customer-apps/compose",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.11.0",
|
|
4
4
|
"description": "Regenerates a Stardeck app's Module-rail artifacts — the six src/*.gen.ts registries and every route/endpoint stub — from src/modules/*/module.json",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.mjs",
|
|
@@ -33,9 +33,9 @@
|
|
|
33
33
|
"scripts": {
|
|
34
34
|
"build": "rm -rf dist && tsup",
|
|
35
35
|
"dev": "tsup --watch",
|
|
36
|
-
"format": "prettier --write . &&
|
|
36
|
+
"format": "prettier --write . && oxlint . --fix",
|
|
37
37
|
"typecheck": "tsc -p tsconfig.test.json",
|
|
38
|
-
"lint": "
|
|
38
|
+
"lint": "oxlint src/",
|
|
39
39
|
"test": "vitest run",
|
|
40
40
|
"test:watch": "vitest"
|
|
41
41
|
},
|
|
@@ -54,12 +54,10 @@
|
|
|
54
54
|
"typescript": ">=5.0.0 <7"
|
|
55
55
|
},
|
|
56
56
|
"devDependencies": {
|
|
57
|
-
"@eslint/js": "^9.0.0",
|
|
58
57
|
"@stardeck-customer-apps/tsconfig": "*",
|
|
59
58
|
"@types/node": "^24.10.1",
|
|
60
59
|
"tsup": "^8.0.0",
|
|
61
60
|
"typescript": "^5.0.0",
|
|
62
|
-
"typescript-eslint": "^8.0.0",
|
|
63
61
|
"vitest": "^3.2.4"
|
|
64
62
|
}
|
|
65
63
|
}
|