@mudah-cli/core 0.8.0 → 0.9.2

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.
@@ -15,6 +15,31 @@ export declare abstract class ServiceProvider {
15
15
  constructor(app: Application);
16
16
  register(): void | Promise<void>;
17
17
  boot(): void | Promise<void>;
18
+ /**
19
+ * Called when the application is shutting down.
20
+ * Use this to release resources (close DB connections, stop timers, etc.).
21
+ */
22
+ onShutdown(): void | Promise<void>;
23
+ /**
24
+ * Called when a config value is mutated.
25
+ * @param key The dotted key that changed.
26
+ */
27
+ onConfigChanged(key: string): void | Promise<void>;
28
+ /**
29
+ * Called when a command or boot hook throws.
30
+ */
31
+ onError(error: unknown): void | Promise<void>;
32
+ /**
33
+ * Optional health probe. Return status + optional detail; latency is measured
34
+ * by {@link Application.health}.
35
+ */
36
+ health(): {
37
+ status: 'ok' | 'error' | 'skipped';
38
+ detail?: string;
39
+ } | Promise<{
40
+ status: 'ok' | 'error' | 'skipped';
41
+ detail?: string;
42
+ }> | void;
18
43
  /**
19
44
  * Import a config file and merge it as defaults under `key`
20
45
  * (existing values win).
@@ -18,6 +18,27 @@ export class ServiceProvider {
18
18
  }
19
19
  register() { }
20
20
  boot() { }
21
+ /**
22
+ * Called when the application is shutting down.
23
+ * Use this to release resources (close DB connections, stop timers, etc.).
24
+ */
25
+ onShutdown() { }
26
+ /**
27
+ * Called when a config value is mutated.
28
+ * @param key The dotted key that changed.
29
+ */
30
+ // biome-ignore lint/correctness/noUnusedFunctionParameters: base-class hook; the parameter name documents the override contract.
31
+ onConfigChanged(key) { }
32
+ /**
33
+ * Called when a command or boot hook throws.
34
+ */
35
+ // biome-ignore lint/correctness/noUnusedFunctionParameters: base-class hook; the parameter name documents the override contract.
36
+ onError(error) { }
37
+ /**
38
+ * Optional health probe. Return status + optional detail; latency is measured
39
+ * by {@link Application.health}.
40
+ */
41
+ health() { }
21
42
  /**
22
43
  * Import a config file and merge it as defaults under `key`
23
44
  * (existing values win).
@@ -1 +1 @@
1
- {"version":3,"file":"service-provider.js","sourceRoot":"","sources":["../src/service-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGzC;;;;;;;;;;GAUG;AACH,MAAM,OAAgB,eAAe;IACJ,GAAG;IAAlC,YAA+B,GAAgB;mBAAhB,GAAG;IAAgB,CAAC;IAEnD,QAAQ,KAA0B,CAAC;IAEnC,IAAI,KAA0B,CAAC;IAE/B;;;OAGG;IACO,KAAK,CAAC,eAAe,CAAC,IAAY,EAAE,GAAW;QACvD,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACzE,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC;QACvD,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC;QACpC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,QAAmC,CAAC,CAAC;IACpE,CAAC;CACF"}
1
+ {"version":3,"file":"service-provider.js","sourceRoot":"","sources":["../src/service-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGzC;;;;;;;;;;GAUG;AACH,MAAM,OAAgB,eAAe;IACJ,GAAG;IAAlC,YAA+B,GAAgB;mBAAhB,GAAG;IAAgB,CAAC;IAEnD,QAAQ,KAA0B,CAAC;IAEnC,IAAI,KAA0B,CAAC;IAE/B;;;OAGG;IACH,UAAU,KAA0B,CAAC;IAErC;;;OAGG;IACH,iIAAiI;IACjI,eAAe,CAAC,GAAW,IAAyB,CAAC;IAErD;;OAEG;IACH,iIAAiI;IACjI,OAAO,CAAC,KAAc,IAAyB,CAAC;IAEhD;;;OAGG;IACH,MAAM,KAII,CAAC;IAEX;;;OAGG;IACO,KAAK,CAAC,eAAe,CAAC,IAAY,EAAE,GAAW;QACvD,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACzE,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC;QACvD,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC;QACpC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,QAAmC,CAAC,CAAC;IACpE,CAAC;CACF"}
@@ -0,0 +1,98 @@
1
+ /**
2
+ * Opt-in boot/perf telemetry. Disabled by default; enable via
3
+ * `telemetry: true` in `mudah.json`, `MUDAH_TELEMETRY=1`, or by injecting a
4
+ * sink in tests. When enabled from `mudah.json`, events are appended to
5
+ * `.mudah/telemetry.jsonl` as lines of JSON.
6
+ */
7
+ export interface TelemetryEvent {
8
+ readonly name: string;
9
+ readonly ts: number;
10
+ readonly durationMs?: number;
11
+ readonly data?: Record<string, unknown>;
12
+ }
13
+ export interface TelemetrySink {
14
+ record(event: TelemetryEvent): void;
15
+ }
16
+ export interface TelemetryOptions {
17
+ /** Off unless the app opts in. */
18
+ enabled?: boolean;
19
+ /** Destination for events. Tests inject a collecting sink. */
20
+ sink?: TelemetrySink;
21
+ }
22
+ export interface Telemetry {
23
+ readonly enabled: boolean;
24
+ record(name: string, data?: Record<string, unknown>): void;
25
+ recordDuration(name: string, durationMs: number, data?: Record<string, unknown>): void;
26
+ }
27
+ /** Default telemetry log, relative to the app root. */
28
+ export declare const TELEMETRY_FILE = ".mudah/telemetry.jsonl";
29
+ /** Build a telemetry handle. Recording is a no-op when `enabled` is false. */
30
+ export declare function createTelemetry(options?: TelemetryOptions): Telemetry;
31
+ /**
32
+ * A sink that keeps events in memory — the reporter's input and the fixture
33
+ * tests use. `events` is live, so it grows as the app records.
34
+ */
35
+ export declare function createMemorySink(): {
36
+ sink: TelemetrySink;
37
+ events: TelemetryEvent[];
38
+ };
39
+ /** A sink that appends one JSON object per line. Write failures are swallowed. */
40
+ export declare function createJsonlSink(file: string): TelemetrySink;
41
+ /** A sink that writes human-readable lines to a stream. */
42
+ export declare function createStreamSink(stream?: {
43
+ write(data: string): unknown;
44
+ }): TelemetrySink;
45
+ /** A sink that forwards each event to several sinks. */
46
+ export declare function createFanoutSink(...sinks: TelemetrySink[]): TelemetrySink;
47
+ export interface ResolveTelemetryOptions {
48
+ /** App root — the JSONL sink resolves against it. */
49
+ cwd: string;
50
+ /** Explicit sink from `run({ telemetrySink })`; wins over everything. */
51
+ sink?: TelemetrySink;
52
+ /** `telemetry: true` from `mudah.json`. */
53
+ manifestEnabled?: boolean;
54
+ /** Environment; `MUDAH_TELEMETRY` selects and enables the sink. */
55
+ env?: Record<string, string | undefined>;
56
+ /** Target for `MUDAH_TELEMETRY=stdout` (default `process.stdout`). */
57
+ stdout?: {
58
+ write(data: string): unknown;
59
+ };
60
+ /** Target for `MUDAH_TELEMETRY=stderr` (default `process.stderr`). */
61
+ stderr?: {
62
+ write(data: string): unknown;
63
+ };
64
+ }
65
+ /**
66
+ * Pick the telemetry configuration for a run.
67
+ *
68
+ * - An injected `sink` enables telemetry unconditionally (tests).
69
+ * - `MUDAH_TELEMETRY=0|false|off` disables it even when the manifest opts in.
70
+ * - `MUDAH_TELEMETRY=stdout|stderr` enables the stream sink.
71
+ * - `MUDAH_TELEMETRY=1|true` (or `telemetry: true`) enables the JSONL sink
72
+ * at `<cwd>/.mudah/telemetry.jsonl`.
73
+ */
74
+ export declare function resolveTelemetry(options: ResolveTelemetryOptions): Telemetry;
75
+ export interface TelemetrySummaryRow {
76
+ readonly name: string;
77
+ readonly count: number;
78
+ readonly totalMs: number;
79
+ readonly maxMs: number;
80
+ readonly meanMs: number;
81
+ }
82
+ export interface TelemetrySummary {
83
+ readonly events: number;
84
+ readonly withDuration: number;
85
+ readonly spanMs: number;
86
+ readonly rows: TelemetrySummaryRow[];
87
+ }
88
+ /**
89
+ * Aggregate events by name: counts plus duration totals, maxima, and means.
90
+ * Rows are ordered by total duration (slowest first), then by name.
91
+ */
92
+ export declare function summarizeTelemetry(events: readonly TelemetryEvent[]): TelemetrySummary;
93
+ /** Parse a JSONL telemetry log, skipping blank and malformed lines. */
94
+ export declare function parseTelemetryLog(text: string): TelemetryEvent[];
95
+ /** Read and aggregate a JSONL telemetry log. Missing file → empty summary. */
96
+ export declare function readTelemetryLog(file: string): TelemetrySummary;
97
+ /** Delete the telemetry log. Returns true when a file was removed. */
98
+ export declare function clearTelemetryLog(file: string): boolean;
@@ -0,0 +1,196 @@
1
+ import { appendFileSync, mkdirSync, readFileSync, rmSync } from 'node:fs';
2
+ import { dirname, join } from 'node:path';
3
+ /** Default telemetry log, relative to the app root. */
4
+ export const TELEMETRY_FILE = '.mudah/telemetry.jsonl';
5
+ const noopSink = {
6
+ record() { },
7
+ };
8
+ /** Build a telemetry handle. Recording is a no-op when `enabled` is false. */
9
+ export function createTelemetry(options = {}) {
10
+ const enabled = options.enabled === true;
11
+ const sink = options.sink ?? noopSink;
12
+ return {
13
+ enabled,
14
+ record(name, data) {
15
+ if (!enabled)
16
+ return;
17
+ sink.record({ name, ts: Date.now(), data });
18
+ },
19
+ recordDuration(name, durationMs, data) {
20
+ if (!enabled)
21
+ return;
22
+ sink.record({ name, durationMs, ts: Date.now(), data });
23
+ },
24
+ };
25
+ }
26
+ /**
27
+ * A sink that keeps events in memory — the reporter's input and the fixture
28
+ * tests use. `events` is live, so it grows as the app records.
29
+ */
30
+ export function createMemorySink() {
31
+ const events = [];
32
+ return { events, sink: { record: (event) => events.push(event) } };
33
+ }
34
+ /** A sink that appends one JSON object per line. Write failures are swallowed. */
35
+ export function createJsonlSink(file) {
36
+ return {
37
+ record(event) {
38
+ try {
39
+ mkdirSync(dirname(file), { recursive: true });
40
+ appendFileSync(file, `${JSON.stringify(event)}\n`, 'utf8');
41
+ }
42
+ catch {
43
+ // A read-only filesystem just means no telemetry is persisted.
44
+ }
45
+ },
46
+ };
47
+ }
48
+ /** A sink that writes human-readable lines to a stream. */
49
+ export function createStreamSink(stream = process.stderr) {
50
+ return {
51
+ record(event) {
52
+ const duration = event.durationMs === undefined ? '' : ` ${event.durationMs}ms`;
53
+ const data = event.data === undefined ? '' : ` ${JSON.stringify(event.data)}`;
54
+ stream.write(`[telemetry] ${event.name}${duration}${data}\n`);
55
+ },
56
+ };
57
+ }
58
+ /** A sink that forwards each event to several sinks. */
59
+ export function createFanoutSink(...sinks) {
60
+ return {
61
+ record(event) {
62
+ for (const sink of sinks)
63
+ sink.record(event);
64
+ },
65
+ };
66
+ }
67
+ /** True for `1`, `true`, `yes`, `on` (case-insensitive). */
68
+ function truthy(value) {
69
+ if (value === undefined)
70
+ return false;
71
+ return ['1', 'true', 'yes', 'on'].includes(value.toLowerCase());
72
+ }
73
+ /**
74
+ * Pick the telemetry configuration for a run.
75
+ *
76
+ * - An injected `sink` enables telemetry unconditionally (tests).
77
+ * - `MUDAH_TELEMETRY=0|false|off` disables it even when the manifest opts in.
78
+ * - `MUDAH_TELEMETRY=stdout|stderr` enables the stream sink.
79
+ * - `MUDAH_TELEMETRY=1|true` (or `telemetry: true`) enables the JSONL sink
80
+ * at `<cwd>/.mudah/telemetry.jsonl`.
81
+ */
82
+ export function resolveTelemetry(options) {
83
+ const env = options.env ?? process.env;
84
+ const flag = env['MUDAH_TELEMETRY'];
85
+ if (options.sink !== undefined) {
86
+ return createTelemetry({ enabled: true, sink: options.sink });
87
+ }
88
+ if (flag !== undefined && ['0', 'false', 'off', 'no'].includes(flag.toLowerCase())) {
89
+ return createTelemetry({ enabled: false });
90
+ }
91
+ if (flag === 'stdout') {
92
+ return createTelemetry({
93
+ enabled: true,
94
+ sink: createStreamSink(options.stdout ?? process.stdout),
95
+ });
96
+ }
97
+ if (flag === 'stderr') {
98
+ return createTelemetry({
99
+ enabled: true,
100
+ sink: createStreamSink(options.stderr ?? process.stderr),
101
+ });
102
+ }
103
+ if (truthy(flag) || options.manifestEnabled === true) {
104
+ return createTelemetry({ enabled: true, sink: createJsonlSink(join(options.cwd, TELEMETRY_FILE)) });
105
+ }
106
+ return createTelemetry({ enabled: false });
107
+ }
108
+ /**
109
+ * Aggregate events by name: counts plus duration totals, maxima, and means.
110
+ * Rows are ordered by total duration (slowest first), then by name.
111
+ */
112
+ export function summarizeTelemetry(events) {
113
+ const groups = new Map();
114
+ let withDuration = 0;
115
+ let first = Number.POSITIVE_INFINITY;
116
+ let last = Number.NEGATIVE_INFINITY;
117
+ for (const event of events) {
118
+ const group = groups.get(event.name) ?? { count: 0, totalMs: 0, maxMs: 0, timed: 0 };
119
+ group.count += 1;
120
+ if (event.durationMs !== undefined) {
121
+ group.totalMs += event.durationMs;
122
+ group.maxMs = Math.max(group.maxMs, event.durationMs);
123
+ group.timed += 1;
124
+ withDuration += 1;
125
+ }
126
+ groups.set(event.name, group);
127
+ first = Math.min(first, event.ts);
128
+ last = Math.max(last, event.ts);
129
+ }
130
+ const rows = [...groups.entries()].map(([name, group]) => ({
131
+ name,
132
+ count: group.count,
133
+ totalMs: group.totalMs,
134
+ maxMs: group.maxMs,
135
+ meanMs: group.timed === 0 ? 0 : Math.round(group.totalMs / group.timed),
136
+ }));
137
+ rows.sort((a, b) => b.totalMs - a.totalMs || a.name.localeCompare(b.name));
138
+ return {
139
+ events: events.length,
140
+ withDuration,
141
+ spanMs: events.length === 0 ? 0 : last - first,
142
+ rows,
143
+ };
144
+ }
145
+ /** Parse a JSONL telemetry log, skipping blank and malformed lines. */
146
+ export function parseTelemetryLog(text) {
147
+ const events = [];
148
+ for (const line of text.split('\n')) {
149
+ const trimmed = line.trim();
150
+ if (trimmed === '')
151
+ continue;
152
+ try {
153
+ const parsed = JSON.parse(trimmed);
154
+ if (typeof parsed !== 'object' || parsed === null || Array.isArray(parsed))
155
+ continue;
156
+ const record = parsed;
157
+ if (typeof record['name'] !== 'string')
158
+ continue;
159
+ const event = {
160
+ name: record['name'],
161
+ ts: typeof record['ts'] === 'number' ? record['ts'] : 0,
162
+ ...(typeof record['durationMs'] === 'number' ? { durationMs: record['durationMs'] } : {}),
163
+ ...(record['data'] !== undefined && typeof record['data'] === 'object' && record['data'] !== null
164
+ ? { data: record['data'] }
165
+ : {}),
166
+ };
167
+ events.push(event);
168
+ }
169
+ catch {
170
+ // A truncated final line (killed process) is skipped, not fatal.
171
+ }
172
+ }
173
+ return events;
174
+ }
175
+ /** Read and aggregate a JSONL telemetry log. Missing file → empty summary. */
176
+ export function readTelemetryLog(file) {
177
+ let text;
178
+ try {
179
+ text = readFileSync(file, 'utf8');
180
+ }
181
+ catch {
182
+ return { events: 0, withDuration: 0, spanMs: 0, rows: [] };
183
+ }
184
+ return summarizeTelemetry(parseTelemetryLog(text));
185
+ }
186
+ /** Delete the telemetry log. Returns true when a file was removed. */
187
+ export function clearTelemetryLog(file) {
188
+ try {
189
+ rmSync(file);
190
+ return true;
191
+ }
192
+ catch {
193
+ return false;
194
+ }
195
+ }
196
+ //# sourceMappingURL=telemetry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../src/telemetry.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,8 @@ export function installTsJsResolveHook() {
11
11
  if (installed)
12
12
  return;
13
13
  installed = true;
14
+ if (typeof registerHooks !== 'function')
15
+ return;
14
16
  registerHooks({
15
17
  resolve(specifier, context, nextResolve) {
16
18
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"ts-js-hook.js","sourceRoot":"","sources":["../src/ts-js-hook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,IAAI,SAAS,GAAG,KAAK,CAAC;AAEtB;;;;GAIG;AACH,MAAM,UAAU,sBAAsB;IACpC,IAAI,SAAS;QAAE,OAAO;IACtB,SAAS,GAAG,IAAI,CAAC;IACjB,aAAa,CAAC;QACZ,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,WAAW;YACrC,IAAI,CAAC;gBACH,OAAO,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACzC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS;oBAAE,MAAM,KAAK,CAAC;gBAC7E,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;gBAC7E,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBAAE,MAAM,KAAK,CAAC;gBACnD,OAAO,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,YAAY,CAAC,SAAiB;IACrC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAClG,CAAC"}
1
+ {"version":3,"file":"ts-js-hook.js","sourceRoot":"","sources":["../src/ts-js-hook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,IAAI,SAAS,GAAG,KAAK,CAAC;AAEtB;;;;GAIG;AACH,MAAM,UAAU,sBAAsB;IACpC,IAAI,SAAS;QAAE,OAAO;IACtB,SAAS,GAAG,IAAI,CAAC;IACjB,IAAI,OAAO,aAAa,KAAK,UAAU;QAAE,OAAO;IAChD,aAAa,CAAC;QACZ,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,WAAW;YACrC,IAAI,CAAC;gBACH,OAAO,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACzC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS;oBAAE,MAAM,KAAK,CAAC;gBAC7E,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;gBAC7E,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBAAE,MAAM,KAAK,CAAC;gBACnD,OAAO,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,YAAY,CAAC,SAAiB;IACrC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAClG,CAAC"}
package/dist/updates.d.ts CHANGED
@@ -51,7 +51,9 @@ export interface SemVer {
51
51
  }
52
52
  /**
53
53
  * Parse a semver string. Tolerates a leading `v`/`=` and missing minor/patch
54
- * (`1` → `1.0.0`). Returns null when the string isn't a version at all.
54
+ * (`1` → `1.0.0`). Returns null when the string isn't a version at all, or
55
+ * when a numeric component has a leading zero (`01.2.3`), which strict semver
56
+ * forbids.
55
57
  */
56
58
  export declare function parseSemVer(version: string): SemVer | null;
57
59
  /**
package/dist/updates.js CHANGED
@@ -8,18 +8,27 @@ const NO_UPDATE = {
8
8
  };
9
9
  /**
10
10
  * Parse a semver string. Tolerates a leading `v`/`=` and missing minor/patch
11
- * (`1` → `1.0.0`). Returns null when the string isn't a version at all.
11
+ * (`1` → `1.0.0`). Returns null when the string isn't a version at all, or
12
+ * when a numeric component has a leading zero (`01.2.3`), which strict semver
13
+ * forbids.
12
14
  */
13
15
  export function parseSemVer(version) {
14
16
  const text = version.trim().replace(/^[v=]+/, '');
15
- const match = /^(\d+)(?:\.(\d+))?(?:\.(\d+))?(?:-([0-9A-Za-z-.]+))?(?:\+[0-9A-Za-z-.]+)?$/.exec(text);
17
+ const match = /^(0|[1-9]\d*)(?:\.(0|[1-9]\d*))?(?:\.(0|[1-9]\d*))?(?:-([0-9A-Za-z-.]+))?(?:\+[0-9A-Za-z-.]+)?$/.exec(text);
16
18
  if (!match)
17
19
  return null;
20
+ const prerelease = match[4] === undefined ? [] : match[4].split('.').map(identifier);
21
+ // Numeric prerelease identifiers may not have leading zeros either
22
+ // (`1.0.0-007` is not valid semver).
23
+ const rawIdentifiers = match[4] === undefined ? [] : match[4].split('.');
24
+ if (rawIdentifiers.some((part) => /^\d+$/.test(part) && part.length > 1 && part.startsWith('0'))) {
25
+ return null;
26
+ }
18
27
  return {
19
28
  major: Number(match[1]),
20
29
  minor: Number(match[2] ?? '0'),
21
30
  patch: Number(match[3] ?? '0'),
22
- prerelease: match[4] === undefined ? [] : match[4].split('.').map(identifier),
31
+ prerelease,
23
32
  };
24
33
  }
25
34
  function identifier(part) {
@@ -1 +1 @@
1
- {"version":3,"file":"updates.js","sourceRoot":"","sources":["../src/updates.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"updates.js","sourceRoot":"","sources":["../src/updates.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,9 +1,23 @@
1
1
  {
2
2
  "name": "@mudah-cli/core",
3
- "version": "0.8.0",
3
+ "version": "0.9.2",
4
4
  "description": "Mudah application kernel: service providers, two-phase boot, events, and discovery.",
5
5
  "type": "module",
6
6
  "license": "MIT",
7
+ "author": "Mudah Contributors",
8
+ "homepage": "https://github.com/thesimonharms/mudah#readme",
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "git+https://github.com/thesimonharms/mudah.git",
12
+ "directory": "packages/core"
13
+ },
14
+ "keywords": [
15
+ "cli",
16
+ "kernel",
17
+ "service-provider",
18
+ "plugin",
19
+ "typescript"
20
+ ],
7
21
  "engines": {
8
22
  "node": ">=26"
9
23
  },
@@ -18,8 +32,8 @@
18
32
  ],
19
33
  "sideEffects": false,
20
34
  "dependencies": {
21
- "@mudah-cli/config": "^0.8.0",
22
- "@mudah-cli/container": "^0.8.0"
35
+ "@mudah-cli/config": "^0.9.2",
36
+ "@mudah-cli/container": "^0.9.2"
23
37
  },
24
38
  "publishConfig": {
25
39
  "access": "public"