@theholocron/astromech 5.0.0-alpha.154 → 5.0.0-alpha.156
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/README.md +2 -2
- package/dist/config/index.d.mts +17 -17
- package/dist/config/index.mjs +3 -3
- package/dist/index.d.mts +455 -455
- package/dist/index.mjs +382 -370
- package/dist/lint/index.d.mts +11 -11
- package/dist/lint/index.mjs +7 -7
- package/dist/{load-ToVjaKPr.mjs → load-DdHEVFlG.mjs} +3 -3
- package/dist/{schema.type-BUiSrwS5.d.mts → schema.type-B9k8EoOb.d.mts} +1 -1
- package/package.json +9 -9
package/README.md
CHANGED
|
@@ -48,7 +48,7 @@ turbo vs pnpm vs npm, or which runner:
|
|
|
48
48
|
|
|
49
49
|
Tasks are named by **intent**, not by tool — a repo declares
|
|
50
50
|
`verification.unitTests`, not `vitest`. The table below is the full
|
|
51
|
-
registry (`TASKS` in `src/registry.ts`): every task name astromech knows,
|
|
51
|
+
registry (`TASKS` in `src/registry/registry.ts`): every task name astromech knows,
|
|
52
52
|
what it actually runs, and why. Tool names never appear in
|
|
53
53
|
`holocron.config.ts` — they're an implementation detail this table
|
|
54
54
|
documents, not a naming convention repos need to follow.
|
|
@@ -89,7 +89,7 @@ required check. Each tool is still gated by its own detection rule — e.g.
|
|
|
89
89
|
package has no local file but `@theholocron/eslint-config` resolves
|
|
90
90
|
(the same shared-config splice the `tool`/`detect` runner path uses) — the
|
|
91
91
|
`tool name → detection rule → local binary` mapping lives in one place,
|
|
92
|
-
`src/linters.ts`. A repo's choice of which of these run is based on which
|
|
92
|
+
`src/tasks/run/linters/linters.ts`. A repo's choice of which of these run is based on which
|
|
93
93
|
tasks it includes in `tasks: [...]`, same as any other task.
|
|
94
94
|
|
|
95
95
|
**No super-linter.** Each task above runs its own tool directly, through
|
package/dist/config/index.d.mts
CHANGED
|
@@ -1,6 +1,18 @@
|
|
|
1
|
-
import { n as TaskEntry, r as TasksConfig, t as TaskConfigItem } from "../schema.type-
|
|
1
|
+
import { n as TaskEntry, r as TasksConfig, t as TaskConfigItem } from "../schema.type-B9k8EoOb.mjs";
|
|
2
2
|
import { Loaded } from "@theholocron/datapad";
|
|
3
|
-
//#region src/config/
|
|
3
|
+
//#region src/config/schema/schema.d.ts
|
|
4
|
+
/**
|
|
5
|
+
* The `tasks` config shape — the single manifest of what a repo runs.
|
|
6
|
+
* Read from a dedicated `astromech.config.*` file or the `tasks` key of
|
|
7
|
+
* `holocron.config.*` (see {@link loadTasksConfig}).
|
|
8
|
+
*
|
|
9
|
+
* Runtime validation is the loader's job, not this type's — the type only
|
|
10
|
+
* describes what an author writes.
|
|
11
|
+
*/
|
|
12
|
+
/** Normalise a `TaskConfigItem` to a full {@link TaskEntry} with defaults applied. */
|
|
13
|
+
declare function normalizeTaskEntry(item: TaskConfigItem): Required<Pick<TaskEntry, "name" | "ci" | "local">> & TaskEntry;
|
|
14
|
+
//#endregion
|
|
15
|
+
//#region src/config/define/define.d.ts
|
|
4
16
|
/**
|
|
5
17
|
* Typed identity helper for `astromech.config.ts`:
|
|
6
18
|
*
|
|
@@ -14,7 +26,7 @@ import { Loaded } from "@theholocron/datapad";
|
|
|
14
26
|
*/
|
|
15
27
|
declare const defineConfig: <C extends TasksConfig>(config: C) => C;
|
|
16
28
|
//#endregion
|
|
17
|
-
//#region src/config/load.type.d.ts
|
|
29
|
+
//#region src/config/load/load.type.d.ts
|
|
18
30
|
/**
|
|
19
31
|
* The `tasks` value in each source. A dedicated `astromech.config.*`
|
|
20
32
|
* default-exports the full {@link TasksConfig} object; the `tasks` key of
|
|
@@ -31,7 +43,7 @@ interface LoadTasksConfigOptions {
|
|
|
31
43
|
holocron?: Loaded<object> | null;
|
|
32
44
|
}
|
|
33
45
|
//#endregion
|
|
34
|
-
//#region src/config/load.d.ts
|
|
46
|
+
//#region src/config/load/load.d.ts
|
|
35
47
|
/**
|
|
36
48
|
* Resolve the task manifest for a repo: the `tasks` key of
|
|
37
49
|
* `holocron.config.*`, then a dedicated `astromech.config.*` merged on
|
|
@@ -47,7 +59,7 @@ interface LoadTasksConfigOptions {
|
|
|
47
59
|
*/
|
|
48
60
|
declare function loadTasksConfig(cwd: string, options?: LoadTasksConfigOptions): Promise<TasksConfig>;
|
|
49
61
|
//#endregion
|
|
50
|
-
//#region src/config/merge-tasks-layers.d.ts
|
|
62
|
+
//#region src/config/merge-tasks-layers/merge-tasks-layers.d.ts
|
|
51
63
|
/**
|
|
52
64
|
* The same layering as {@link loadTasksConfig}, for callers that load the two
|
|
53
65
|
* sources some other way (Sentinel reads them from the GitHub API, not
|
|
@@ -57,16 +69,4 @@ declare function loadTasksConfig(cwd: string, options?: LoadTasksConfigOptions):
|
|
|
57
69
|
*/
|
|
58
70
|
declare function mergeTasksLayers(parentTasks: TasksInput | undefined, dedicated: TasksInput | undefined): TasksConfig;
|
|
59
71
|
//#endregion
|
|
60
|
-
//#region src/config/schema.d.ts
|
|
61
|
-
/**
|
|
62
|
-
* The `tasks` config shape — the single manifest of what a repo runs.
|
|
63
|
-
* Read from a dedicated `astromech.config.*` file or the `tasks` key of
|
|
64
|
-
* `holocron.config.*` (see {@link loadTasksConfig}).
|
|
65
|
-
*
|
|
66
|
-
* Runtime validation is the loader's job, not this type's — the type only
|
|
67
|
-
* describes what an author writes.
|
|
68
|
-
*/
|
|
69
|
-
/** Normalise a `TaskConfigItem` to a full {@link TaskEntry} with defaults applied. */
|
|
70
|
-
declare function normalizeTaskEntry(item: TaskConfigItem): Required<Pick<TaskEntry, "name" | "ci" | "local">> & TaskEntry;
|
|
71
|
-
//#endregion
|
|
72
72
|
export { type TaskConfigItem, type TaskEntry, type TasksConfig, defineConfig, loadTasksConfig, mergeTasksLayers, normalizeTaskEntry };
|
package/dist/config/index.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { n as coerceTasks, r as normalizeTaskEntry, t as loadTasksConfig } from "../load-
|
|
1
|
+
import { n as coerceTasks, r as normalizeTaskEntry, t as loadTasksConfig } from "../load-DdHEVFlG.mjs";
|
|
2
2
|
import { createDefineConfig, mergeLayers } from "@theholocron/datapad";
|
|
3
|
-
//#region src/config/define.ts
|
|
3
|
+
//#region src/config/define/define.ts
|
|
4
4
|
/**
|
|
5
5
|
* Typed identity helper for `astromech.config.ts`:
|
|
6
6
|
*
|
|
@@ -14,7 +14,7 @@ import { createDefineConfig, mergeLayers } from "@theholocron/datapad";
|
|
|
14
14
|
*/
|
|
15
15
|
const defineConfig = createDefineConfig();
|
|
16
16
|
//#endregion
|
|
17
|
-
//#region src/config/merge-tasks-layers.ts
|
|
17
|
+
//#region src/config/merge-tasks-layers/merge-tasks-layers.ts
|
|
18
18
|
/**
|
|
19
19
|
* The same layering as {@link loadTasksConfig}, for callers that load the two
|
|
20
20
|
* sources some other way (Sentinel reads them from the GitHub API, not
|