@typecad/cuttlefish 1.0.0-alpha.11 → 1.0.0-alpha.12
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/dist/api/config.d.ts +5 -1
- package/dist/api/shared/framework-manifest.d.ts +85 -78
- package/dist/api/shared/framework-manifest.js +1 -0
- package/dist/cli.js +6 -0
- package/dist/config-loader.d.ts +8 -0
- package/dist/config-loader.js +192 -48
- package/dist/config-schema.d.ts +96 -89
- package/dist/config-schema.js +3 -0
- package/dist/create/board-spec.d.ts +122 -122
- package/dist/create/eslint-rules-template.js +6 -3
- package/dist/emit/compliance/rules.js +34 -0
- package/dist/emit/emitters/setup.js +15 -2
- package/dist/ir/feature-registry.js +22 -6
- package/dist/ir/program-analysis.d.ts +4 -2
- package/dist/ir/program-analysis.js +2 -4
- package/dist/platform/async-runtime.d.ts +1 -1
- package/dist/platform/async-runtime.js +12 -3
- package/dist/platform/generic-strategy.js +1 -1
- package/dist/transpile.js +55 -7
- package/dist/utils/fs.d.ts +2 -0
- package/dist/utils/fs.js +16 -0
- package/package.json +5 -4
package/dist/api/config.d.ts
CHANGED
|
@@ -54,8 +54,12 @@ export interface CuttlefishConfig {
|
|
|
54
54
|
/**
|
|
55
55
|
* MCU package providing silicon definitions.
|
|
56
56
|
* Example: '@typecad/mcu-atmega328p'
|
|
57
|
+
*
|
|
58
|
+
* Optional for native/host targets — a desktop build has no MCU (the
|
|
59
|
+
* loader generates a boardless `@typecad/board` shim). Embedded targets
|
|
60
|
+
* should set this (or the deprecated `board`).
|
|
57
61
|
*/
|
|
58
|
-
mcu
|
|
62
|
+
mcu?: string;
|
|
59
63
|
/**
|
|
60
64
|
* Board package to use. (Deprecated — use mcu + contract instead)
|
|
61
65
|
*/
|
|
@@ -20,17 +20,17 @@ export declare const FrameworkManifestSchema: z.ZodObject<{
|
|
|
20
20
|
generateHeaderFile: z.ZodBoolean;
|
|
21
21
|
customBridgeShim: z.ZodOptional<z.ZodString>;
|
|
22
22
|
}, "strip", z.ZodTypeAny, {
|
|
23
|
+
sourceExtension: "cpp" | "ino" | "cc" | "h";
|
|
23
24
|
entrypointFunctionName: string;
|
|
24
25
|
requiresLoopFunction: boolean;
|
|
25
|
-
sourceExtension: "ino" | "cc" | "cpp" | "h";
|
|
26
26
|
generateHeaderFile: boolean;
|
|
27
27
|
overrideBaseName?: string | undefined;
|
|
28
28
|
outputSubdirectory?: string | undefined;
|
|
29
29
|
customBridgeShim?: string | undefined;
|
|
30
30
|
}, {
|
|
31
|
+
sourceExtension: "cpp" | "ino" | "cc" | "h";
|
|
31
32
|
entrypointFunctionName: string;
|
|
32
33
|
requiresLoopFunction: boolean;
|
|
33
|
-
sourceExtension: "ino" | "cc" | "cpp" | "h";
|
|
34
34
|
generateHeaderFile: boolean;
|
|
35
35
|
overrideBaseName?: string | undefined;
|
|
36
36
|
outputSubdirectory?: string | undefined;
|
|
@@ -41,13 +41,13 @@ export declare const FrameworkManifestSchema: z.ZodObject<{
|
|
|
41
41
|
forcedIncludes: z.ZodArray<z.ZodString, "many">;
|
|
42
42
|
symbolAliases: z.ZodRecord<z.ZodString, z.ZodString>;
|
|
43
43
|
}, "strip", z.ZodTypeAny, {
|
|
44
|
-
targets: string[];
|
|
45
44
|
forcedIncludes: string[];
|
|
46
45
|
symbolAliases: Record<string, string>;
|
|
47
|
-
}, {
|
|
48
46
|
targets: string[];
|
|
47
|
+
}, {
|
|
49
48
|
forcedIncludes: string[];
|
|
50
49
|
symbolAliases: Record<string, string>;
|
|
50
|
+
targets: string[];
|
|
51
51
|
}>;
|
|
52
52
|
hal: z.ZodObject<{
|
|
53
53
|
[x: string]: z.ZodObject<{
|
|
@@ -57,12 +57,12 @@ export declare const FrameworkManifestSchema: z.ZodObject<{
|
|
|
57
57
|
partialCoverage: z.ZodDefault<z.ZodBoolean>;
|
|
58
58
|
}, "strip", z.ZodTypeAny, {
|
|
59
59
|
supported: boolean;
|
|
60
|
-
ops: Record<string, "
|
|
60
|
+
ops: Record<string, "stub" | "polyfill" | "supported" | "unsupported" | "probe-inconclusive">;
|
|
61
61
|
partialCoverage: boolean;
|
|
62
62
|
unsupportedReason?: string | undefined;
|
|
63
63
|
}, {
|
|
64
64
|
supported: boolean;
|
|
65
|
-
ops: Record<string, "
|
|
65
|
+
ops: Record<string, "stub" | "polyfill" | "supported" | "unsupported" | "probe-inconclusive">;
|
|
66
66
|
unsupportedReason?: string | undefined;
|
|
67
67
|
partialCoverage?: boolean | undefined;
|
|
68
68
|
}>;
|
|
@@ -81,12 +81,12 @@ export declare const FrameworkManifestSchema: z.ZodObject<{
|
|
|
81
81
|
partialCoverage: z.ZodDefault<z.ZodBoolean>;
|
|
82
82
|
}, "strip", z.ZodTypeAny, {
|
|
83
83
|
supported: boolean;
|
|
84
|
-
ops: Record<string, "
|
|
84
|
+
ops: Record<string, "stub" | "polyfill" | "supported" | "unsupported" | "probe-inconclusive">;
|
|
85
85
|
partialCoverage: boolean;
|
|
86
86
|
unsupportedReason?: string | undefined;
|
|
87
87
|
}, {
|
|
88
88
|
supported: boolean;
|
|
89
|
-
ops: Record<string, "
|
|
89
|
+
ops: Record<string, "stub" | "polyfill" | "supported" | "unsupported" | "probe-inconclusive">;
|
|
90
90
|
unsupportedReason?: string | undefined;
|
|
91
91
|
partialCoverage?: boolean | undefined;
|
|
92
92
|
}>, z.objectOutputType<{
|
|
@@ -97,12 +97,12 @@ export declare const FrameworkManifestSchema: z.ZodObject<{
|
|
|
97
97
|
partialCoverage: z.ZodDefault<z.ZodBoolean>;
|
|
98
98
|
}, "strip", z.ZodTypeAny, {
|
|
99
99
|
supported: boolean;
|
|
100
|
-
ops: Record<string, "
|
|
100
|
+
ops: Record<string, "stub" | "polyfill" | "supported" | "unsupported" | "probe-inconclusive">;
|
|
101
101
|
partialCoverage: boolean;
|
|
102
102
|
unsupportedReason?: string | undefined;
|
|
103
103
|
}, {
|
|
104
104
|
supported: boolean;
|
|
105
|
-
ops: Record<string, "
|
|
105
|
+
ops: Record<string, "stub" | "polyfill" | "supported" | "unsupported" | "probe-inconclusive">;
|
|
106
106
|
unsupportedReason?: string | undefined;
|
|
107
107
|
partialCoverage?: boolean | undefined;
|
|
108
108
|
}>;
|
|
@@ -121,12 +121,12 @@ export declare const FrameworkManifestSchema: z.ZodObject<{
|
|
|
121
121
|
partialCoverage: z.ZodDefault<z.ZodBoolean>;
|
|
122
122
|
}, "strip", z.ZodTypeAny, {
|
|
123
123
|
supported: boolean;
|
|
124
|
-
ops: Record<string, "
|
|
124
|
+
ops: Record<string, "stub" | "polyfill" | "supported" | "unsupported" | "probe-inconclusive">;
|
|
125
125
|
partialCoverage: boolean;
|
|
126
126
|
unsupportedReason?: string | undefined;
|
|
127
127
|
}, {
|
|
128
128
|
supported: boolean;
|
|
129
|
-
ops: Record<string, "
|
|
129
|
+
ops: Record<string, "stub" | "polyfill" | "supported" | "unsupported" | "probe-inconclusive">;
|
|
130
130
|
unsupportedReason?: string | undefined;
|
|
131
131
|
partialCoverage?: boolean | undefined;
|
|
132
132
|
}>, "strip">, z.objectInputType<{
|
|
@@ -137,12 +137,12 @@ export declare const FrameworkManifestSchema: z.ZodObject<{
|
|
|
137
137
|
partialCoverage: z.ZodDefault<z.ZodBoolean>;
|
|
138
138
|
}, "strip", z.ZodTypeAny, {
|
|
139
139
|
supported: boolean;
|
|
140
|
-
ops: Record<string, "
|
|
140
|
+
ops: Record<string, "stub" | "polyfill" | "supported" | "unsupported" | "probe-inconclusive">;
|
|
141
141
|
partialCoverage: boolean;
|
|
142
142
|
unsupportedReason?: string | undefined;
|
|
143
143
|
}, {
|
|
144
144
|
supported: boolean;
|
|
145
|
-
ops: Record<string, "
|
|
145
|
+
ops: Record<string, "stub" | "polyfill" | "supported" | "unsupported" | "probe-inconclusive">;
|
|
146
146
|
unsupportedReason?: string | undefined;
|
|
147
147
|
partialCoverage?: boolean | undefined;
|
|
148
148
|
}>;
|
|
@@ -161,12 +161,12 @@ export declare const FrameworkManifestSchema: z.ZodObject<{
|
|
|
161
161
|
partialCoverage: z.ZodDefault<z.ZodBoolean>;
|
|
162
162
|
}, "strip", z.ZodTypeAny, {
|
|
163
163
|
supported: boolean;
|
|
164
|
-
ops: Record<string, "
|
|
164
|
+
ops: Record<string, "stub" | "polyfill" | "supported" | "unsupported" | "probe-inconclusive">;
|
|
165
165
|
partialCoverage: boolean;
|
|
166
166
|
unsupportedReason?: string | undefined;
|
|
167
167
|
}, {
|
|
168
168
|
supported: boolean;
|
|
169
|
-
ops: Record<string, "
|
|
169
|
+
ops: Record<string, "stub" | "polyfill" | "supported" | "unsupported" | "probe-inconclusive">;
|
|
170
170
|
unsupportedReason?: string | undefined;
|
|
171
171
|
partialCoverage?: boolean | undefined;
|
|
172
172
|
}>, "strip">>;
|
|
@@ -222,16 +222,19 @@ export declare const FrameworkManifestSchema: z.ZodObject<{
|
|
|
222
222
|
compile: z.ZodBoolean;
|
|
223
223
|
upload: z.ZodBoolean;
|
|
224
224
|
monitor: z.ZodBoolean;
|
|
225
|
+
debug: z.ZodOptional<z.ZodBoolean>;
|
|
225
226
|
}, "strip", z.ZodTypeAny, {
|
|
226
227
|
prepare: boolean;
|
|
227
228
|
compile: boolean;
|
|
228
229
|
upload: boolean;
|
|
229
230
|
monitor: boolean;
|
|
231
|
+
debug?: boolean | undefined;
|
|
230
232
|
}, {
|
|
231
233
|
prepare: boolean;
|
|
232
234
|
compile: boolean;
|
|
233
235
|
upload: boolean;
|
|
234
236
|
monitor: boolean;
|
|
237
|
+
debug?: boolean | undefined;
|
|
235
238
|
}>;
|
|
236
239
|
reexportedFrom: z.ZodOptional<z.ZodString>;
|
|
237
240
|
}, "strip", z.ZodTypeAny, {
|
|
@@ -241,6 +244,7 @@ export declare const FrameworkManifestSchema: z.ZodObject<{
|
|
|
241
244
|
compile: boolean;
|
|
242
245
|
upload: boolean;
|
|
243
246
|
monitor: boolean;
|
|
247
|
+
debug?: boolean | undefined;
|
|
244
248
|
};
|
|
245
249
|
reexportedFrom?: string | undefined;
|
|
246
250
|
}, {
|
|
@@ -250,6 +254,7 @@ export declare const FrameworkManifestSchema: z.ZodObject<{
|
|
|
250
254
|
compile: boolean;
|
|
251
255
|
upload: boolean;
|
|
252
256
|
monitor: boolean;
|
|
257
|
+
debug?: boolean | undefined;
|
|
253
258
|
};
|
|
254
259
|
reexportedFrom?: string | undefined;
|
|
255
260
|
}>;
|
|
@@ -305,12 +310,12 @@ export declare const FrameworkManifestSchema: z.ZodObject<{
|
|
|
305
310
|
recommendedStringImpl: "std_string" | "static_string";
|
|
306
311
|
}>;
|
|
307
312
|
}, "strip", z.ZodTypeAny, {
|
|
308
|
-
|
|
309
|
-
mathHeader: "none" | "<math.h>" | "<Arduino.h>";
|
|
313
|
+
needsIostream: boolean;
|
|
310
314
|
needsStdString: boolean;
|
|
311
315
|
needsStdVector: boolean;
|
|
312
|
-
needsIostream: boolean;
|
|
313
316
|
needsStdFunction: boolean;
|
|
317
|
+
mathHeader: "none" | "<math.h>" | "<Arduino.h>";
|
|
318
|
+
normalizeCppType: boolean;
|
|
314
319
|
stdlibSupport: {
|
|
315
320
|
hasVector: boolean;
|
|
316
321
|
hasString: boolean;
|
|
@@ -321,12 +326,12 @@ export declare const FrameworkManifestSchema: z.ZodObject<{
|
|
|
321
326
|
recommendedStringImpl: "std_string" | "static_string";
|
|
322
327
|
};
|
|
323
328
|
}, {
|
|
324
|
-
|
|
325
|
-
mathHeader: "none" | "<math.h>" | "<Arduino.h>";
|
|
329
|
+
needsIostream: boolean;
|
|
326
330
|
needsStdString: boolean;
|
|
327
331
|
needsStdVector: boolean;
|
|
328
|
-
needsIostream: boolean;
|
|
329
332
|
needsStdFunction: boolean;
|
|
333
|
+
mathHeader: "none" | "<math.h>" | "<Arduino.h>";
|
|
334
|
+
normalizeCppType: boolean;
|
|
330
335
|
stdlibSupport: {
|
|
331
336
|
hasVector: boolean;
|
|
332
337
|
hasString: boolean;
|
|
@@ -371,42 +376,42 @@ export declare const FrameworkManifestSchema: z.ZodObject<{
|
|
|
371
376
|
zephyr?: string | undefined;
|
|
372
377
|
}>>;
|
|
373
378
|
}, "strip", z.ZodTypeAny, {
|
|
379
|
+
hal: {
|
|
380
|
+
[x: string]: {
|
|
381
|
+
supported: boolean;
|
|
382
|
+
ops: Record<string, "stub" | "polyfill" | "supported" | "unsupported" | "probe-inconclusive">;
|
|
383
|
+
partialCoverage: boolean;
|
|
384
|
+
unsupportedReason?: string | undefined;
|
|
385
|
+
};
|
|
386
|
+
raw?: unknown;
|
|
387
|
+
} & {
|
|
388
|
+
[k: string]: {
|
|
389
|
+
supported: boolean;
|
|
390
|
+
ops: Record<string, "stub" | "polyfill" | "supported" | "unsupported" | "probe-inconclusive">;
|
|
391
|
+
partialCoverage: boolean;
|
|
392
|
+
unsupportedReason?: string | undefined;
|
|
393
|
+
};
|
|
394
|
+
};
|
|
395
|
+
packageName: string;
|
|
374
396
|
schemaVersion: 1;
|
|
375
397
|
frameworkId: string;
|
|
376
|
-
packageName: string;
|
|
377
398
|
canonical: boolean;
|
|
378
399
|
displayName: string;
|
|
379
400
|
description: string;
|
|
380
401
|
implementationMode: "from-scratch" | "extends-canonical" | "extends-other";
|
|
381
402
|
entrypoint: {
|
|
403
|
+
sourceExtension: "cpp" | "ino" | "cc" | "h";
|
|
382
404
|
entrypointFunctionName: string;
|
|
383
405
|
requiresLoopFunction: boolean;
|
|
384
|
-
sourceExtension: "ino" | "cc" | "cpp" | "h";
|
|
385
406
|
generateHeaderFile: boolean;
|
|
386
407
|
overrideBaseName?: string | undefined;
|
|
387
408
|
outputSubdirectory?: string | undefined;
|
|
388
409
|
customBridgeShim?: string | undefined;
|
|
389
410
|
};
|
|
390
411
|
profile: {
|
|
391
|
-
targets: string[];
|
|
392
412
|
forcedIncludes: string[];
|
|
393
413
|
symbolAliases: Record<string, string>;
|
|
394
|
-
|
|
395
|
-
hal: {
|
|
396
|
-
[x: string]: {
|
|
397
|
-
supported: boolean;
|
|
398
|
-
ops: Record<string, "supported" | "stub" | "unsupported" | "probe-inconclusive" | "polyfill">;
|
|
399
|
-
partialCoverage: boolean;
|
|
400
|
-
unsupportedReason?: string | undefined;
|
|
401
|
-
};
|
|
402
|
-
raw?: unknown;
|
|
403
|
-
} & {
|
|
404
|
-
[k: string]: {
|
|
405
|
-
supported: boolean;
|
|
406
|
-
ops: Record<string, "supported" | "stub" | "unsupported" | "probe-inconclusive" | "polyfill">;
|
|
407
|
-
partialCoverage: boolean;
|
|
408
|
-
unsupportedReason?: string | undefined;
|
|
409
|
-
};
|
|
414
|
+
targets: string[];
|
|
410
415
|
};
|
|
411
416
|
polyfills: {
|
|
412
417
|
emitted: {
|
|
@@ -426,16 +431,17 @@ export declare const FrameworkManifestSchema: z.ZodObject<{
|
|
|
426
431
|
compile: boolean;
|
|
427
432
|
upload: boolean;
|
|
428
433
|
monitor: boolean;
|
|
434
|
+
debug?: boolean | undefined;
|
|
429
435
|
};
|
|
430
436
|
reexportedFrom?: string | undefined;
|
|
431
437
|
};
|
|
432
438
|
typeEmission: {
|
|
433
|
-
|
|
434
|
-
mathHeader: "none" | "<math.h>" | "<Arduino.h>";
|
|
439
|
+
needsIostream: boolean;
|
|
435
440
|
needsStdString: boolean;
|
|
436
441
|
needsStdVector: boolean;
|
|
437
|
-
needsIostream: boolean;
|
|
438
442
|
needsStdFunction: boolean;
|
|
443
|
+
mathHeader: "none" | "<math.h>" | "<Arduino.h>";
|
|
444
|
+
normalizeCppType: boolean;
|
|
439
445
|
stdlibSupport: {
|
|
440
446
|
hasVector: boolean;
|
|
441
447
|
hasString: boolean;
|
|
@@ -451,6 +457,12 @@ export declare const FrameworkManifestSchema: z.ZodObject<{
|
|
|
451
457
|
hardwareTestGroups: string[];
|
|
452
458
|
halResolutionTests: string[];
|
|
453
459
|
};
|
|
460
|
+
doctor?: {
|
|
461
|
+
available: boolean;
|
|
462
|
+
} | undefined;
|
|
463
|
+
licenses?: {
|
|
464
|
+
available: boolean;
|
|
465
|
+
} | undefined;
|
|
454
466
|
basedOn?: string | undefined;
|
|
455
467
|
inheritsStrategyId?: string | undefined;
|
|
456
468
|
libraryResolution?: {
|
|
@@ -460,51 +472,45 @@ export declare const FrameworkManifestSchema: z.ZodObject<{
|
|
|
460
472
|
tryGenerateLibDecl: boolean;
|
|
461
473
|
reexportedFrom?: string | undefined;
|
|
462
474
|
} | undefined;
|
|
463
|
-
doctor?: {
|
|
464
|
-
available: boolean;
|
|
465
|
-
} | undefined;
|
|
466
|
-
licenses?: {
|
|
467
|
-
available: boolean;
|
|
468
|
-
} | undefined;
|
|
469
475
|
compat?: {
|
|
470
476
|
zephyr?: string | undefined;
|
|
471
477
|
} | undefined;
|
|
472
478
|
}, {
|
|
479
|
+
hal: {
|
|
480
|
+
[x: string]: {
|
|
481
|
+
supported: boolean;
|
|
482
|
+
ops: Record<string, "stub" | "polyfill" | "supported" | "unsupported" | "probe-inconclusive">;
|
|
483
|
+
unsupportedReason?: string | undefined;
|
|
484
|
+
partialCoverage?: boolean | undefined;
|
|
485
|
+
};
|
|
486
|
+
raw?: unknown;
|
|
487
|
+
} & {
|
|
488
|
+
[k: string]: {
|
|
489
|
+
supported: boolean;
|
|
490
|
+
ops: Record<string, "stub" | "polyfill" | "supported" | "unsupported" | "probe-inconclusive">;
|
|
491
|
+
unsupportedReason?: string | undefined;
|
|
492
|
+
partialCoverage?: boolean | undefined;
|
|
493
|
+
};
|
|
494
|
+
};
|
|
495
|
+
packageName: string;
|
|
473
496
|
schemaVersion: 1;
|
|
474
497
|
frameworkId: string;
|
|
475
|
-
packageName: string;
|
|
476
498
|
displayName: string;
|
|
477
499
|
description: string;
|
|
478
500
|
implementationMode: "from-scratch" | "extends-canonical" | "extends-other";
|
|
479
501
|
entrypoint: {
|
|
502
|
+
sourceExtension: "cpp" | "ino" | "cc" | "h";
|
|
480
503
|
entrypointFunctionName: string;
|
|
481
504
|
requiresLoopFunction: boolean;
|
|
482
|
-
sourceExtension: "ino" | "cc" | "cpp" | "h";
|
|
483
505
|
generateHeaderFile: boolean;
|
|
484
506
|
overrideBaseName?: string | undefined;
|
|
485
507
|
outputSubdirectory?: string | undefined;
|
|
486
508
|
customBridgeShim?: string | undefined;
|
|
487
509
|
};
|
|
488
510
|
profile: {
|
|
489
|
-
targets: string[];
|
|
490
511
|
forcedIncludes: string[];
|
|
491
512
|
symbolAliases: Record<string, string>;
|
|
492
|
-
|
|
493
|
-
hal: {
|
|
494
|
-
[x: string]: {
|
|
495
|
-
supported: boolean;
|
|
496
|
-
ops: Record<string, "supported" | "stub" | "unsupported" | "probe-inconclusive" | "polyfill">;
|
|
497
|
-
unsupportedReason?: string | undefined;
|
|
498
|
-
partialCoverage?: boolean | undefined;
|
|
499
|
-
};
|
|
500
|
-
raw?: unknown;
|
|
501
|
-
} & {
|
|
502
|
-
[k: string]: {
|
|
503
|
-
supported: boolean;
|
|
504
|
-
ops: Record<string, "supported" | "stub" | "unsupported" | "probe-inconclusive" | "polyfill">;
|
|
505
|
-
unsupportedReason?: string | undefined;
|
|
506
|
-
partialCoverage?: boolean | undefined;
|
|
507
|
-
};
|
|
513
|
+
targets: string[];
|
|
508
514
|
};
|
|
509
515
|
polyfills: {
|
|
510
516
|
emitted: {
|
|
@@ -524,16 +530,17 @@ export declare const FrameworkManifestSchema: z.ZodObject<{
|
|
|
524
530
|
compile: boolean;
|
|
525
531
|
upload: boolean;
|
|
526
532
|
monitor: boolean;
|
|
533
|
+
debug?: boolean | undefined;
|
|
527
534
|
};
|
|
528
535
|
reexportedFrom?: string | undefined;
|
|
529
536
|
};
|
|
530
537
|
typeEmission: {
|
|
531
|
-
|
|
532
|
-
mathHeader: "none" | "<math.h>" | "<Arduino.h>";
|
|
538
|
+
needsIostream: boolean;
|
|
533
539
|
needsStdString: boolean;
|
|
534
540
|
needsStdVector: boolean;
|
|
535
|
-
needsIostream: boolean;
|
|
536
541
|
needsStdFunction: boolean;
|
|
542
|
+
mathHeader: "none" | "<math.h>" | "<Arduino.h>";
|
|
543
|
+
normalizeCppType: boolean;
|
|
537
544
|
stdlibSupport: {
|
|
538
545
|
hasVector: boolean;
|
|
539
546
|
hasString: boolean;
|
|
@@ -549,6 +556,12 @@ export declare const FrameworkManifestSchema: z.ZodObject<{
|
|
|
549
556
|
hardwareTestGroups: string[];
|
|
550
557
|
halResolutionTests: string[];
|
|
551
558
|
};
|
|
559
|
+
doctor?: {
|
|
560
|
+
available: boolean;
|
|
561
|
+
} | undefined;
|
|
562
|
+
licenses?: {
|
|
563
|
+
available: boolean;
|
|
564
|
+
} | undefined;
|
|
552
565
|
canonical?: boolean | undefined;
|
|
553
566
|
basedOn?: string | undefined;
|
|
554
567
|
inheritsStrategyId?: string | undefined;
|
|
@@ -559,12 +572,6 @@ export declare const FrameworkManifestSchema: z.ZodObject<{
|
|
|
559
572
|
tryGenerateLibDecl: boolean;
|
|
560
573
|
reexportedFrom?: string | undefined;
|
|
561
574
|
} | undefined;
|
|
562
|
-
doctor?: {
|
|
563
|
-
available: boolean;
|
|
564
|
-
} | undefined;
|
|
565
|
-
licenses?: {
|
|
566
|
-
available: boolean;
|
|
567
|
-
} | undefined;
|
|
568
575
|
compat?: {
|
|
569
576
|
zephyr?: string | undefined;
|
|
570
577
|
} | undefined;
|
package/dist/cli.js
CHANGED
|
@@ -442,6 +442,12 @@ async function main() {
|
|
|
442
442
|
let effectiveFrameworkPackage = options.frameworkPackage;
|
|
443
443
|
let effectiveMcuPackage;
|
|
444
444
|
let effectivePort = options.port;
|
|
445
|
+
// CUTTLEFISH_PORT env var sits between the CLI flag and the config file
|
|
446
|
+
// (flag > env > config), so cross-platform uploads don't need a
|
|
447
|
+
// Windows-specific COM port baked into package.json scripts.
|
|
448
|
+
if (!effectivePort && process.env.CUTTLEFISH_PORT) {
|
|
449
|
+
effectivePort = process.env.CUTTLEFISH_PORT;
|
|
450
|
+
}
|
|
445
451
|
if (config) {
|
|
446
452
|
if (config.mcu) {
|
|
447
453
|
effectiveMcuPackage = config.mcu;
|
package/dist/config-loader.d.ts
CHANGED
|
@@ -52,6 +52,14 @@ export interface ResolvedCuttlefishConfig {
|
|
|
52
52
|
* Returns the absolute path on success, `undefined` if none is found.
|
|
53
53
|
*/
|
|
54
54
|
export declare function findConfigFile(startDir: string): string | undefined;
|
|
55
|
+
/**
|
|
56
|
+
* Warn about config values the AST-only parser cannot evaluate. The loader
|
|
57
|
+
* deliberately never runs user code (no ts-node / dynamic import), so only
|
|
58
|
+
* inline literals survive extraction; without these warnings a value like
|
|
59
|
+
* `libraries: sdlLibraries` (an identifier) used to vanish silently and
|
|
60
|
+
* surface later as an opaque link error.
|
|
61
|
+
*/
|
|
62
|
+
export type ConfigDropWarning = (message: string) => void;
|
|
55
63
|
/**
|
|
56
64
|
*
|
|
57
65
|
* The file must have a default export whose initializer is an object literal.
|