@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/config-schema.d.ts
CHANGED
|
@@ -24,14 +24,14 @@ export declare const CuttlefishConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
24
24
|
extraFlags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
25
25
|
}, "strict", z.ZodTypeAny, {
|
|
26
26
|
framework?: string | undefined;
|
|
27
|
-
optimize?: "none" | "size" | "speed" | "balanced" | undefined;
|
|
28
27
|
outDir?: string | undefined;
|
|
28
|
+
optimize?: "none" | "size" | "speed" | "balanced" | undefined;
|
|
29
29
|
defines?: Record<string, string> | undefined;
|
|
30
30
|
extraFlags?: string[] | undefined;
|
|
31
31
|
}, {
|
|
32
32
|
framework?: string | undefined;
|
|
33
|
-
optimize?: "none" | "size" | "speed" | "balanced" | undefined;
|
|
34
33
|
outDir?: string | undefined;
|
|
34
|
+
optimize?: "none" | "size" | "speed" | "balanced" | undefined;
|
|
35
35
|
defines?: Record<string, string> | undefined;
|
|
36
36
|
extraFlags?: string[] | undefined;
|
|
37
37
|
}>>;
|
|
@@ -46,19 +46,19 @@ export declare const CuttlefishConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
46
46
|
buildTarget: z.ZodOptional<z.ZodString>;
|
|
47
47
|
board: z.ZodOptional<z.ZodString>;
|
|
48
48
|
}, "strict", z.ZodTypeAny, {
|
|
49
|
-
board?: string | undefined;
|
|
50
|
-
include?: string[] | undefined;
|
|
51
49
|
port?: string | undefined;
|
|
52
|
-
|
|
50
|
+
include?: string[] | undefined;
|
|
51
|
+
board?: string | undefined;
|
|
53
52
|
timeout?: number | undefined;
|
|
54
53
|
buildTarget?: string | undefined;
|
|
54
|
+
baudRate?: number | undefined;
|
|
55
55
|
}, {
|
|
56
|
-
board?: string | undefined;
|
|
57
|
-
include?: string[] | undefined;
|
|
58
56
|
port?: string | undefined;
|
|
59
|
-
|
|
57
|
+
include?: string[] | undefined;
|
|
58
|
+
board?: string | undefined;
|
|
60
59
|
timeout?: number | undefined;
|
|
61
60
|
buildTarget?: string | undefined;
|
|
61
|
+
baudRate?: number | undefined;
|
|
62
62
|
}>>;
|
|
63
63
|
toolchain: z.ZodOptional<z.ZodObject<{
|
|
64
64
|
type: z.ZodOptional<z.ZodString>;
|
|
@@ -81,6 +81,9 @@ export declare const CuttlefishConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
81
81
|
baudRate?: number | undefined;
|
|
82
82
|
}>>;
|
|
83
83
|
native: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
84
|
+
/** Display profile config (driver, wiring, touch) — loosely typed here so
|
|
85
|
+
* the loader's presence/shape extraction round-trips through validation. */
|
|
86
|
+
display: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
84
87
|
zephyr: z.ZodOptional<z.ZodObject<{
|
|
85
88
|
kconfig: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
86
89
|
cmakeArgs: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
@@ -95,165 +98,169 @@ export declare const CuttlefishConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
95
98
|
runner?: string | undefined;
|
|
96
99
|
}>>;
|
|
97
100
|
}, "strict", z.ZodTypeAny, {
|
|
98
|
-
|
|
101
|
+
console?: {
|
|
102
|
+
port?: string | undefined;
|
|
103
|
+
baudRate?: number | undefined;
|
|
104
|
+
} | undefined;
|
|
105
|
+
frameworkData?: Record<string, unknown> | undefined;
|
|
99
106
|
target?: string | undefined;
|
|
100
|
-
mcu?: string | undefined;
|
|
101
|
-
board?: string | undefined;
|
|
102
|
-
contract?: string | undefined;
|
|
103
|
-
framework?: string | undefined;
|
|
104
|
-
psram?: "opi" | "quad" | undefined;
|
|
105
107
|
output?: {
|
|
106
108
|
framework?: string | undefined;
|
|
107
|
-
optimize?: "none" | "size" | "speed" | "balanced" | undefined;
|
|
108
109
|
outDir?: string | undefined;
|
|
110
|
+
optimize?: "none" | "size" | "speed" | "balanced" | undefined;
|
|
109
111
|
defines?: Record<string, string> | undefined;
|
|
110
112
|
extraFlags?: string[] | undefined;
|
|
111
113
|
} | undefined;
|
|
112
|
-
frameworkData?: Record<string, unknown> | undefined;
|
|
113
114
|
include?: string[] | undefined;
|
|
115
|
+
board?: string | undefined;
|
|
116
|
+
entry?: string | undefined;
|
|
117
|
+
display?: Record<string, unknown> | undefined;
|
|
114
118
|
exclude?: string[] | undefined;
|
|
115
|
-
test?: {
|
|
116
|
-
board?: string | undefined;
|
|
117
|
-
include?: string[] | undefined;
|
|
118
|
-
port?: string | undefined;
|
|
119
|
-
baudRate?: number | undefined;
|
|
120
|
-
timeout?: number | undefined;
|
|
121
|
-
buildTarget?: string | undefined;
|
|
122
|
-
} | undefined;
|
|
123
119
|
toolchain?: {
|
|
124
120
|
type?: string | undefined;
|
|
125
121
|
frameworkOptions?: Record<string, unknown> | undefined;
|
|
126
122
|
} | undefined;
|
|
127
|
-
console?: {
|
|
128
|
-
port?: string | undefined;
|
|
129
|
-
baudRate?: number | undefined;
|
|
130
|
-
} | undefined;
|
|
131
|
-
native?: Record<string, unknown> | undefined;
|
|
132
123
|
zephyr?: {
|
|
133
124
|
kconfig?: Record<string, string> | undefined;
|
|
134
125
|
cmakeArgs?: string[] | undefined;
|
|
135
126
|
runner?: string | undefined;
|
|
136
127
|
} | undefined;
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
target?: string | undefined;
|
|
128
|
+
framework?: string | undefined;
|
|
129
|
+
native?: Record<string, unknown> | undefined;
|
|
140
130
|
mcu?: string | undefined;
|
|
141
|
-
board?: string | undefined;
|
|
142
131
|
contract?: string | undefined;
|
|
143
|
-
framework?: string | undefined;
|
|
144
132
|
psram?: "opi" | "quad" | undefined;
|
|
133
|
+
test?: {
|
|
134
|
+
port?: string | undefined;
|
|
135
|
+
include?: string[] | undefined;
|
|
136
|
+
board?: string | undefined;
|
|
137
|
+
timeout?: number | undefined;
|
|
138
|
+
buildTarget?: string | undefined;
|
|
139
|
+
baudRate?: number | undefined;
|
|
140
|
+
} | undefined;
|
|
141
|
+
}, {
|
|
142
|
+
console?: {
|
|
143
|
+
port?: string | undefined;
|
|
144
|
+
baudRate?: number | undefined;
|
|
145
|
+
} | undefined;
|
|
146
|
+
frameworkData?: Record<string, unknown> | undefined;
|
|
147
|
+
target?: string | undefined;
|
|
145
148
|
output?: {
|
|
146
149
|
framework?: string | undefined;
|
|
147
|
-
optimize?: "none" | "size" | "speed" | "balanced" | undefined;
|
|
148
150
|
outDir?: string | undefined;
|
|
151
|
+
optimize?: "none" | "size" | "speed" | "balanced" | undefined;
|
|
149
152
|
defines?: Record<string, string> | undefined;
|
|
150
153
|
extraFlags?: string[] | undefined;
|
|
151
154
|
} | undefined;
|
|
152
|
-
frameworkData?: Record<string, unknown> | undefined;
|
|
153
155
|
include?: string[] | undefined;
|
|
156
|
+
board?: string | undefined;
|
|
157
|
+
entry?: string | undefined;
|
|
158
|
+
display?: Record<string, unknown> | undefined;
|
|
154
159
|
exclude?: string[] | undefined;
|
|
155
|
-
test?: {
|
|
156
|
-
board?: string | undefined;
|
|
157
|
-
include?: string[] | undefined;
|
|
158
|
-
port?: string | undefined;
|
|
159
|
-
baudRate?: number | undefined;
|
|
160
|
-
timeout?: number | undefined;
|
|
161
|
-
buildTarget?: string | undefined;
|
|
162
|
-
} | undefined;
|
|
163
160
|
toolchain?: {
|
|
164
161
|
type?: string | undefined;
|
|
165
162
|
frameworkOptions?: Record<string, unknown> | undefined;
|
|
166
163
|
} | undefined;
|
|
167
|
-
console?: {
|
|
168
|
-
port?: string | undefined;
|
|
169
|
-
baudRate?: number | undefined;
|
|
170
|
-
} | undefined;
|
|
171
|
-
native?: Record<string, unknown> | undefined;
|
|
172
164
|
zephyr?: {
|
|
173
165
|
kconfig?: Record<string, string> | undefined;
|
|
174
166
|
cmakeArgs?: string[] | undefined;
|
|
175
167
|
runner?: string | undefined;
|
|
176
168
|
} | undefined;
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
target?: string | undefined;
|
|
169
|
+
framework?: string | undefined;
|
|
170
|
+
native?: Record<string, unknown> | undefined;
|
|
180
171
|
mcu?: string | undefined;
|
|
181
|
-
board?: string | undefined;
|
|
182
172
|
contract?: string | undefined;
|
|
183
|
-
framework?: string | undefined;
|
|
184
173
|
psram?: "opi" | "quad" | undefined;
|
|
174
|
+
test?: {
|
|
175
|
+
port?: string | undefined;
|
|
176
|
+
include?: string[] | undefined;
|
|
177
|
+
board?: string | undefined;
|
|
178
|
+
timeout?: number | undefined;
|
|
179
|
+
buildTarget?: string | undefined;
|
|
180
|
+
baudRate?: number | undefined;
|
|
181
|
+
} | undefined;
|
|
182
|
+
}>, {
|
|
183
|
+
console?: {
|
|
184
|
+
port?: string | undefined;
|
|
185
|
+
baudRate?: number | undefined;
|
|
186
|
+
} | undefined;
|
|
187
|
+
frameworkData?: Record<string, unknown> | undefined;
|
|
188
|
+
target?: string | undefined;
|
|
185
189
|
output?: {
|
|
186
190
|
framework?: string | undefined;
|
|
187
|
-
optimize?: "none" | "size" | "speed" | "balanced" | undefined;
|
|
188
191
|
outDir?: string | undefined;
|
|
192
|
+
optimize?: "none" | "size" | "speed" | "balanced" | undefined;
|
|
189
193
|
defines?: Record<string, string> | undefined;
|
|
190
194
|
extraFlags?: string[] | undefined;
|
|
191
195
|
} | undefined;
|
|
192
|
-
frameworkData?: Record<string, unknown> | undefined;
|
|
193
196
|
include?: string[] | undefined;
|
|
197
|
+
board?: string | undefined;
|
|
198
|
+
entry?: string | undefined;
|
|
199
|
+
display?: Record<string, unknown> | undefined;
|
|
194
200
|
exclude?: string[] | undefined;
|
|
195
|
-
test?: {
|
|
196
|
-
board?: string | undefined;
|
|
197
|
-
include?: string[] | undefined;
|
|
198
|
-
port?: string | undefined;
|
|
199
|
-
baudRate?: number | undefined;
|
|
200
|
-
timeout?: number | undefined;
|
|
201
|
-
buildTarget?: string | undefined;
|
|
202
|
-
} | undefined;
|
|
203
201
|
toolchain?: {
|
|
204
202
|
type?: string | undefined;
|
|
205
203
|
frameworkOptions?: Record<string, unknown> | undefined;
|
|
206
204
|
} | undefined;
|
|
207
|
-
console?: {
|
|
208
|
-
port?: string | undefined;
|
|
209
|
-
baudRate?: number | undefined;
|
|
210
|
-
} | undefined;
|
|
211
|
-
native?: Record<string, unknown> | undefined;
|
|
212
205
|
zephyr?: {
|
|
213
206
|
kconfig?: Record<string, string> | undefined;
|
|
214
207
|
cmakeArgs?: string[] | undefined;
|
|
215
208
|
runner?: string | undefined;
|
|
216
209
|
} | undefined;
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
target?: string | undefined;
|
|
210
|
+
framework?: string | undefined;
|
|
211
|
+
native?: Record<string, unknown> | undefined;
|
|
220
212
|
mcu?: string | undefined;
|
|
221
|
-
board?: string | undefined;
|
|
222
213
|
contract?: string | undefined;
|
|
223
|
-
framework?: string | undefined;
|
|
224
214
|
psram?: "opi" | "quad" | undefined;
|
|
215
|
+
test?: {
|
|
216
|
+
port?: string | undefined;
|
|
217
|
+
include?: string[] | undefined;
|
|
218
|
+
board?: string | undefined;
|
|
219
|
+
timeout?: number | undefined;
|
|
220
|
+
buildTarget?: string | undefined;
|
|
221
|
+
baudRate?: number | undefined;
|
|
222
|
+
} | undefined;
|
|
223
|
+
}, {
|
|
224
|
+
console?: {
|
|
225
|
+
port?: string | undefined;
|
|
226
|
+
baudRate?: number | undefined;
|
|
227
|
+
} | undefined;
|
|
228
|
+
frameworkData?: Record<string, unknown> | undefined;
|
|
229
|
+
target?: string | undefined;
|
|
225
230
|
output?: {
|
|
226
231
|
framework?: string | undefined;
|
|
227
|
-
optimize?: "none" | "size" | "speed" | "balanced" | undefined;
|
|
228
232
|
outDir?: string | undefined;
|
|
233
|
+
optimize?: "none" | "size" | "speed" | "balanced" | undefined;
|
|
229
234
|
defines?: Record<string, string> | undefined;
|
|
230
235
|
extraFlags?: string[] | undefined;
|
|
231
236
|
} | undefined;
|
|
232
|
-
frameworkData?: Record<string, unknown> | undefined;
|
|
233
237
|
include?: string[] | undefined;
|
|
238
|
+
board?: string | undefined;
|
|
239
|
+
entry?: string | undefined;
|
|
240
|
+
display?: Record<string, unknown> | undefined;
|
|
234
241
|
exclude?: string[] | undefined;
|
|
235
|
-
test?: {
|
|
236
|
-
board?: string | undefined;
|
|
237
|
-
include?: string[] | undefined;
|
|
238
|
-
port?: string | undefined;
|
|
239
|
-
baudRate?: number | undefined;
|
|
240
|
-
timeout?: number | undefined;
|
|
241
|
-
buildTarget?: string | undefined;
|
|
242
|
-
} | undefined;
|
|
243
242
|
toolchain?: {
|
|
244
243
|
type?: string | undefined;
|
|
245
244
|
frameworkOptions?: Record<string, unknown> | undefined;
|
|
246
245
|
} | undefined;
|
|
247
|
-
console?: {
|
|
248
|
-
port?: string | undefined;
|
|
249
|
-
baudRate?: number | undefined;
|
|
250
|
-
} | undefined;
|
|
251
|
-
native?: Record<string, unknown> | undefined;
|
|
252
246
|
zephyr?: {
|
|
253
247
|
kconfig?: Record<string, string> | undefined;
|
|
254
248
|
cmakeArgs?: string[] | undefined;
|
|
255
249
|
runner?: string | undefined;
|
|
256
250
|
} | undefined;
|
|
251
|
+
framework?: string | undefined;
|
|
252
|
+
native?: Record<string, unknown> | undefined;
|
|
253
|
+
mcu?: string | undefined;
|
|
254
|
+
contract?: string | undefined;
|
|
255
|
+
psram?: "opi" | "quad" | undefined;
|
|
256
|
+
test?: {
|
|
257
|
+
port?: string | undefined;
|
|
258
|
+
include?: string[] | undefined;
|
|
259
|
+
board?: string | undefined;
|
|
260
|
+
timeout?: number | undefined;
|
|
261
|
+
buildTarget?: string | undefined;
|
|
262
|
+
baudRate?: number | undefined;
|
|
263
|
+
} | undefined;
|
|
257
264
|
}>;
|
|
258
265
|
/** Inferred TypeScript type from the Zod schema. */
|
|
259
266
|
export type ValidatedCuttlefishConfig = z.infer<typeof CuttlefishConfigSchema>;
|
package/dist/config-schema.js
CHANGED
|
@@ -68,6 +68,9 @@ export const CuttlefishConfigSchema = z.object({
|
|
|
68
68
|
toolchain: ToolchainConfig.optional(),
|
|
69
69
|
console: ConsoleConfig.optional(),
|
|
70
70
|
native: z.record(z.string(), z.unknown()).optional(),
|
|
71
|
+
/** Display profile config (driver, wiring, touch) — loosely typed here so
|
|
72
|
+
* the loader's presence/shape extraction round-trips through validation. */
|
|
73
|
+
display: z.record(z.string(), z.unknown()).optional(),
|
|
71
74
|
zephyr: ZephyrConfig.optional(),
|
|
72
75
|
}).strict().refine(data => !(data.board && data.contract), {
|
|
73
76
|
message: "Specifying both 'board' and 'contract' is not allowed. Choose one.",
|