akanjs 3.0.0-alpha.77 → 3.0.0-alpha.79
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/index.ts
CHANGED
|
@@ -273,6 +273,42 @@ export type AppConfigInput = Omit<DeepPartial<AppConfigResult>, "docker" | "web"
|
|
|
273
273
|
plugins?: AkanPlugin[];
|
|
274
274
|
};
|
|
275
275
|
export type LibConfigInput = DeepPartial<LibConfigResult> & { plugins?: AkanPlugin[] };
|
|
276
|
+
export interface FleetSpokeDeclaration {
|
|
277
|
+
/** Short name used on the command line and as the git remote suffix. */
|
|
278
|
+
name: string;
|
|
279
|
+
repo: string;
|
|
280
|
+
/** Apps this spoke serves. Libraries are never listed — they are derived from each app's closure. */
|
|
281
|
+
apps: string[];
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
/** What a push installs in each spoke to keep hub-owned files from being edited there. */
|
|
285
|
+
export interface FleetGuardConfig {
|
|
286
|
+
/** CI system the guard job is written for. `"none"` leaves it out — wire `akan fleet check` yourself. */
|
|
287
|
+
ci: "github" | "none";
|
|
288
|
+
/** Add the `akan fleet check` line to the spoke's pre-commit hook. */
|
|
289
|
+
preCommit: boolean;
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
/**
|
|
293
|
+
* What `akan.fleet.ts` at a hub workspace root may write: the customer repos this workspace is mirrored
|
|
294
|
+
* to. There is no branch field — the branch is whichever one the hub is on, so one declaration serves
|
|
295
|
+
* every release branch and each of them holds one akanjs version and one copy of the library source.
|
|
296
|
+
*/
|
|
297
|
+
export interface FleetConfigInput {
|
|
298
|
+
/**
|
|
299
|
+
* Branches a push may target. A hub feature branch is refused, because pushing it would copy the hub's
|
|
300
|
+
* branch namespace into every customer repo.
|
|
301
|
+
*/
|
|
302
|
+
pushableBranches?: string[];
|
|
303
|
+
/**
|
|
304
|
+
* Workspace-root entries to keep out of every spoke, on top of the ones that always are. Top-level
|
|
305
|
+
* names or `dir/` prefixes — a hub's own release and benchmark trees are the usual entries.
|
|
306
|
+
*/
|
|
307
|
+
exclude?: string[];
|
|
308
|
+
guard?: Partial<FleetGuardConfig>;
|
|
309
|
+
spokes: FleetSpokeDeclaration[];
|
|
310
|
+
}
|
|
311
|
+
|
|
276
312
|
export type AppConfig = AppConfigInput | ((app: AppConfigContext) => AppConfigInput);
|
|
277
313
|
export type LibConfig = LibConfigInput | ((lib: LibConfigContext) => LibConfigInput);
|
|
278
314
|
export type AkanConfigFile = object;
|
|
Binary file
|
|
Binary file
|
package/package.json
CHANGED
package/types/index.d.ts
CHANGED
|
@@ -260,6 +260,39 @@ export type AppConfigInput = Omit<DeepPartial<AppConfigResult>, "docker" | "web"
|
|
|
260
260
|
export type LibConfigInput = DeepPartial<LibConfigResult> & {
|
|
261
261
|
plugins?: AkanPlugin[];
|
|
262
262
|
};
|
|
263
|
+
export interface FleetSpokeDeclaration {
|
|
264
|
+
/** Short name used on the command line and as the git remote suffix. */
|
|
265
|
+
name: string;
|
|
266
|
+
repo: string;
|
|
267
|
+
/** Apps this spoke serves. Libraries are never listed — they are derived from each app's closure. */
|
|
268
|
+
apps: string[];
|
|
269
|
+
}
|
|
270
|
+
/** What a push installs in each spoke to keep hub-owned files from being edited there. */
|
|
271
|
+
export interface FleetGuardConfig {
|
|
272
|
+
/** CI system the guard job is written for. `"none"` leaves it out — wire `akan fleet check` yourself. */
|
|
273
|
+
ci: "github" | "none";
|
|
274
|
+
/** Add the `akan fleet check` line to the spoke's pre-commit hook. */
|
|
275
|
+
preCommit: boolean;
|
|
276
|
+
}
|
|
277
|
+
/**
|
|
278
|
+
* What `akan.fleet.ts` at a hub workspace root may write: the customer repos this workspace is mirrored
|
|
279
|
+
* to. There is no branch field — the branch is whichever one the hub is on, so one declaration serves
|
|
280
|
+
* every release branch and each of them holds one akanjs version and one copy of the library source.
|
|
281
|
+
*/
|
|
282
|
+
export interface FleetConfigInput {
|
|
283
|
+
/**
|
|
284
|
+
* Branches a push may target. A hub feature branch is refused, because pushing it would copy the hub's
|
|
285
|
+
* branch namespace into every customer repo.
|
|
286
|
+
*/
|
|
287
|
+
pushableBranches?: string[];
|
|
288
|
+
/**
|
|
289
|
+
* Workspace-root entries to keep out of every spoke, on top of the ones that always are. Top-level
|
|
290
|
+
* names or `dir/` prefixes — a hub's own release and benchmark trees are the usual entries.
|
|
291
|
+
*/
|
|
292
|
+
exclude?: string[];
|
|
293
|
+
guard?: Partial<FleetGuardConfig>;
|
|
294
|
+
spokes: FleetSpokeDeclaration[];
|
|
295
|
+
}
|
|
263
296
|
export type AppConfig = AppConfigInput | ((app: AppConfigContext) => AppConfigInput);
|
|
264
297
|
export type LibConfig = LibConfigInput | ((lib: LibConfigContext) => LibConfigInput);
|
|
265
298
|
export type AkanConfigFile = object;
|