design-embed 0.1.0 → 0.1.1
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/LICENSE +1 -1
- package/README.md +93 -2
- package/dist/cli.d.mts +1 -0
- package/dist/cli.mjs +469 -0
- package/dist/index.d.mts +400 -0
- package/dist/index.mjs +2 -0
- package/dist/src-D3fnqGCq.mjs +511 -0
- package/package.json +8 -13
- package/src/cli.ts +18 -1
- package/src/commands/compile.ts +46 -63
- package/src/commands/generateTests.ts +17 -17
- package/src/commands/init.ts +54 -54
- package/src/commands/plugin.ts +3 -7
- package/src/targets/html.ts +68 -0
- package/dist/args.js +0 -36
- package/dist/cli.js +0 -35
- package/dist/commands/check.js +0 -4
- package/dist/commands/compile.js +0 -157
- package/dist/commands/generateTests.js +0 -113
- package/dist/commands/init.js +0 -102
- package/dist/commands/plugin.js +0 -68
- package/dist/index.js +0 -2
- package/node_modules/@design-embed/config/README.md +0 -5
- package/node_modules/@design-embed/config/dist/index.js +0 -283
- package/node_modules/@design-embed/config/package.json +0 -19
- package/node_modules/@design-embed/config/src/index.ts +0 -518
- package/node_modules/@design-embed/core/README.md +0 -5
- package/node_modules/@design-embed/core/dist/diagnostics/diagnostic.js +0 -3
- package/node_modules/@design-embed/core/dist/diagnostics/jsonDiagnostic.js +0 -35
- package/node_modules/@design-embed/core/dist/index.js +0 -351
- package/node_modules/@design-embed/core/dist/pipeline/checkMode.js +0 -29
- package/node_modules/@design-embed/core/dist/plugins/pluginApi.js +0 -1
- package/node_modules/@design-embed/core/dist/plugins/pluginRegistry.js +0 -25
- package/node_modules/@design-embed/core/package.json +0 -19
- package/node_modules/@design-embed/core/src/diagnostics/diagnostic.ts +0 -18
- package/node_modules/@design-embed/core/src/diagnostics/jsonDiagnostic.ts +0 -51
- package/node_modules/@design-embed/core/src/index.ts +0 -591
- package/node_modules/@design-embed/core/src/pipeline/checkMode.ts +0 -46
- package/node_modules/@design-embed/core/src/plugins/pluginApi.ts +0 -78
- package/node_modules/@design-embed/core/src/plugins/pluginRegistry.ts +0 -37
package/dist/index.d.mts
ADDED
|
@@ -0,0 +1,400 @@
|
|
|
1
|
+
//#region packages/config/src/index.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Minimal interface every source plugin instance must satisfy.
|
|
4
|
+
* Keep this interface in the config package so plugin packages can implement
|
|
5
|
+
* it without pulling in the heavier core package.
|
|
6
|
+
*/
|
|
7
|
+
interface PluginDefinition {
|
|
8
|
+
readonly name: string;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* External target adapter instance supplied by packages like
|
|
12
|
+
* `@design-embed/target-react`.
|
|
13
|
+
*/
|
|
14
|
+
interface TargetAdapterDefinition {
|
|
15
|
+
readonly name?: string;
|
|
16
|
+
emit(input: unknown): unknown;
|
|
17
|
+
generateTests?(input: unknown): unknown;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* A diagnostic reported during configuration loading or validation.
|
|
21
|
+
*/
|
|
22
|
+
interface ConfigDiagnostic {
|
|
23
|
+
/** Unique error code. */
|
|
24
|
+
code: string;
|
|
25
|
+
/** Human-readable message. */
|
|
26
|
+
message: string;
|
|
27
|
+
/** Severity of the issue. */
|
|
28
|
+
severity: "error" | "warning" | "info";
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* The root configuration object for design-embed.
|
|
32
|
+
*/
|
|
33
|
+
interface DesignEmbedConfig {
|
|
34
|
+
/** Output settings for the generated code. */
|
|
35
|
+
output?: {
|
|
36
|
+
/** Directory where generated views will be written. */viewsDir?: string; /** Directory for page-level assemblies. */
|
|
37
|
+
assembliesDir?: string; /** Target adapter instance. Omit to use built-in HTML output. */
|
|
38
|
+
target?: "html" | TargetAdapterDefinition; /** Name of the generated component/view. */
|
|
39
|
+
viewName?: string; /** How to handle styles: inline, Tailwind, or CSS Modules. */
|
|
40
|
+
styleMode?: StyleMode;
|
|
41
|
+
};
|
|
42
|
+
/** Mappings from HTML selectors to project components. */
|
|
43
|
+
components?: ComponentMapping[];
|
|
44
|
+
/** Design token scales for style snapping. */
|
|
45
|
+
tokens?: TokenConfig;
|
|
46
|
+
/** Mappings for Tailwind utility classes. */
|
|
47
|
+
styleMappings?: StyleMappings;
|
|
48
|
+
/** Source plugin instances to run when fetching HTML with `design-embed --out`. */
|
|
49
|
+
plugins?: PluginDefinition[];
|
|
50
|
+
/** Visual and layout test generation settings. */
|
|
51
|
+
tests?: TestGenerationConfig;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Configuration for generated regression tests.
|
|
55
|
+
*/
|
|
56
|
+
interface TestGenerationConfig {
|
|
57
|
+
/** Directory where generated test files and reference fixtures are written. */
|
|
58
|
+
outputDir?: string;
|
|
59
|
+
/** Test runner emitted by the generator. */
|
|
60
|
+
runner?: "playwright";
|
|
61
|
+
/** Source artifact paths used as the visual/layout reference. */
|
|
62
|
+
source?: {
|
|
63
|
+
/** Path to the reference design HTML, relative to the config directory or cwd. */html?: string; /** Optional path to external reference CSS, relative to the config directory or cwd. */
|
|
64
|
+
css?: string;
|
|
65
|
+
};
|
|
66
|
+
/** Viewports to verify. */
|
|
67
|
+
viewports?: TestViewport[];
|
|
68
|
+
/** Interaction states to verify for every viewport. */
|
|
69
|
+
states?: TestState[];
|
|
70
|
+
/** Assertion settings. */
|
|
71
|
+
assertions?: TestAssertions;
|
|
72
|
+
}
|
|
73
|
+
interface TestViewport {
|
|
74
|
+
/** Stable viewport name used in test titles. */
|
|
75
|
+
name?: string;
|
|
76
|
+
width: number;
|
|
77
|
+
height: number;
|
|
78
|
+
}
|
|
79
|
+
interface TestState {
|
|
80
|
+
/** Stable state name used in test titles. */
|
|
81
|
+
name: string;
|
|
82
|
+
/** Selector to hover before assertions. */
|
|
83
|
+
hover?: string;
|
|
84
|
+
/** Selector to focus before assertions. */
|
|
85
|
+
focus?: string;
|
|
86
|
+
/** Selector to click before assertions. */
|
|
87
|
+
click?: string;
|
|
88
|
+
/** Selector to wait for before assertions. */
|
|
89
|
+
waitFor?: string;
|
|
90
|
+
}
|
|
91
|
+
interface TestAssertions {
|
|
92
|
+
/** Whether to compare full-page screenshots. Defaults to true. */
|
|
93
|
+
screenshot?: boolean;
|
|
94
|
+
/** Whether to compare element bounding boxes. Defaults to true. */
|
|
95
|
+
layout?: boolean;
|
|
96
|
+
/** Maximum x/y/width/height drift in CSS pixels. Defaults to 0. */
|
|
97
|
+
layoutTolerance?: number;
|
|
98
|
+
/** Selectors to collect for layout comparison. Defaults to [":scope", ":scope *"]. */
|
|
99
|
+
selectors?: string[];
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Available styling modes.
|
|
103
|
+
*/
|
|
104
|
+
type StyleMode = "inline" | "css-modules" | "tailwind";
|
|
105
|
+
/**
|
|
106
|
+
* Defines how to map a design element to a project component.
|
|
107
|
+
*/
|
|
108
|
+
interface ComponentMapping {
|
|
109
|
+
/** CSS selector to match the element in the design HTML. */
|
|
110
|
+
selector: string;
|
|
111
|
+
/** Import path of the project component. */
|
|
112
|
+
component: string;
|
|
113
|
+
/** Named export of the component. */
|
|
114
|
+
importName?: string;
|
|
115
|
+
/** Prop values to pass, supports $text, $children, and $attr expressions. */
|
|
116
|
+
props?: Record<string, string>;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Configuration for design tokens.
|
|
120
|
+
*/
|
|
121
|
+
interface TokenConfig {
|
|
122
|
+
/** Spacing scale (e.g. padding, margin, gap). */
|
|
123
|
+
spacing?: {
|
|
124
|
+
/** Unit to use in generated styles. */unit?: "px" | "rem"; /** Max distance for value snapping. */
|
|
125
|
+
threshold?: number; /** The token scale mapping names to values. */
|
|
126
|
+
values?: Record<string, number>;
|
|
127
|
+
};
|
|
128
|
+
/** Sizing scale (e.g. width, height). */
|
|
129
|
+
sizing?: NumericTokenGroup;
|
|
130
|
+
/** Typography scale (e.g. font-size, line-height). */
|
|
131
|
+
typography?: NumericTokenGroup;
|
|
132
|
+
/** Border radius scale. */
|
|
133
|
+
radius?: Record<string, number>;
|
|
134
|
+
/** Border width scale. */
|
|
135
|
+
borderWidth?: Record<string, number>;
|
|
136
|
+
/** Box shadow scale. */
|
|
137
|
+
shadow?: Record<string, string>;
|
|
138
|
+
/** Color palette. */
|
|
139
|
+
colors?: Record<string, string>;
|
|
140
|
+
/** Color matching threshold (CIE76). */
|
|
141
|
+
colorThreshold?: number;
|
|
142
|
+
}
|
|
143
|
+
interface NumericTokenGroup {
|
|
144
|
+
unit?: "px" | "rem";
|
|
145
|
+
threshold?: number;
|
|
146
|
+
values?: Record<string, number>;
|
|
147
|
+
}
|
|
148
|
+
type StyleMappings = Record<string, Record<string, string>>;
|
|
149
|
+
/**
|
|
150
|
+
* Result of loading a configuration file.
|
|
151
|
+
*/
|
|
152
|
+
interface LoadConfigResult {
|
|
153
|
+
/** The loaded and validated config, if successful. */
|
|
154
|
+
config?: DesignEmbedConfig;
|
|
155
|
+
/** Any errors or warnings encountered during loading. */
|
|
156
|
+
diagnostics: ConfigDiagnostic[];
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Helper to define configuration with type safety.
|
|
160
|
+
*
|
|
161
|
+
* @param config - The configuration object.
|
|
162
|
+
* @returns The same configuration object.
|
|
163
|
+
*
|
|
164
|
+
* @example
|
|
165
|
+
* export default defineConfig({
|
|
166
|
+
* output: { target: reactTarget }
|
|
167
|
+
* });
|
|
168
|
+
*/
|
|
169
|
+
declare function defineConfig(config: DesignEmbedConfig): DesignEmbedConfig;
|
|
170
|
+
/**
|
|
171
|
+
* Asynchronously loads a configuration file from disk.
|
|
172
|
+
* Supports .ts, .js, and .mjs files via dynamic import.
|
|
173
|
+
*
|
|
174
|
+
* @param configPath - Path to the config file.
|
|
175
|
+
* @param cwd - Current working directory.
|
|
176
|
+
* @returns A promise resolving to the load result.
|
|
177
|
+
*/
|
|
178
|
+
declare function loadConfig(configPath: string, cwd?: string): Promise<LoadConfigResult>;
|
|
179
|
+
declare function validateConfig(config: DesignEmbedConfig): ConfigDiagnostic[];
|
|
180
|
+
//#endregion
|
|
181
|
+
//#region packages/core/src/diagnostics/diagnostic.d.ts
|
|
182
|
+
type DiagnosticSeverity = "error" | "warning" | "info";
|
|
183
|
+
interface Diagnostic {
|
|
184
|
+
code: string;
|
|
185
|
+
message: string;
|
|
186
|
+
severity: DiagnosticSeverity;
|
|
187
|
+
file?: string;
|
|
188
|
+
source?: SourceLocation;
|
|
189
|
+
selector?: string;
|
|
190
|
+
property?: string;
|
|
191
|
+
details?: Record<string, unknown>;
|
|
192
|
+
}
|
|
193
|
+
//#endregion
|
|
194
|
+
//#region packages/core/src/plugins/pluginApi.d.ts
|
|
195
|
+
interface GeneratedAsset {
|
|
196
|
+
path: string;
|
|
197
|
+
contents?: string | Uint8Array;
|
|
198
|
+
sourceUrl?: string;
|
|
199
|
+
}
|
|
200
|
+
interface SourcePlugin {
|
|
201
|
+
name: string;
|
|
202
|
+
run(input: SourcePluginInput): Promise<SourcePluginResult>;
|
|
203
|
+
}
|
|
204
|
+
interface SourcePluginInput {
|
|
205
|
+
cwd: string;
|
|
206
|
+
args: Record<string, string | boolean>;
|
|
207
|
+
config?: unknown;
|
|
208
|
+
}
|
|
209
|
+
interface SourcePluginResult {
|
|
210
|
+
html?: string;
|
|
211
|
+
css?: string;
|
|
212
|
+
assets?: GeneratedAsset[];
|
|
213
|
+
files?: GeneratedFile[];
|
|
214
|
+
diagnostics: Diagnostic[];
|
|
215
|
+
}
|
|
216
|
+
interface TargetEmitInput {
|
|
217
|
+
nodes: DesignNode[];
|
|
218
|
+
css?: string;
|
|
219
|
+
config?: DesignEmbedConfig;
|
|
220
|
+
diagnostics: Diagnostic[];
|
|
221
|
+
}
|
|
222
|
+
interface TargetEmitResult {
|
|
223
|
+
files: GeneratedFile[];
|
|
224
|
+
}
|
|
225
|
+
interface TargetEmitter {
|
|
226
|
+
name?: string;
|
|
227
|
+
emit(input: TargetEmitInput): TargetEmitResult;
|
|
228
|
+
}
|
|
229
|
+
interface TargetTestGenerateInput {
|
|
230
|
+
html: string;
|
|
231
|
+
css?: string;
|
|
232
|
+
config: DesignEmbedConfig;
|
|
233
|
+
diagnostics: Diagnostic[];
|
|
234
|
+
generatedFiles?: GeneratedFile[];
|
|
235
|
+
}
|
|
236
|
+
interface TargetTestGenerateResult {
|
|
237
|
+
files: GeneratedFile[];
|
|
238
|
+
}
|
|
239
|
+
interface TargetTestGenerator {
|
|
240
|
+
generateTests(input: TargetTestGenerateInput): TargetTestGenerateResult;
|
|
241
|
+
}
|
|
242
|
+
//#endregion
|
|
243
|
+
//#region packages/core/src/diagnostics/jsonDiagnostic.d.ts
|
|
244
|
+
interface JsonDiagnostic {
|
|
245
|
+
code: string;
|
|
246
|
+
severity: "error" | "warning" | "info";
|
|
247
|
+
message: string;
|
|
248
|
+
file?: string;
|
|
249
|
+
line?: number;
|
|
250
|
+
column?: number;
|
|
251
|
+
details?: Record<string, unknown>;
|
|
252
|
+
}
|
|
253
|
+
declare function toJsonDiagnostic(diagnostic: Diagnostic): JsonDiagnostic;
|
|
254
|
+
declare function toJsonDiagnostics(diagnostics: Diagnostic[]): JsonDiagnostic[];
|
|
255
|
+
declare function formatDiagnosticText(diagnostic: Diagnostic): string;
|
|
256
|
+
//#endregion
|
|
257
|
+
//#region packages/core/src/pipeline/checkMode.d.ts
|
|
258
|
+
interface CheckModeInput {
|
|
259
|
+
files: GeneratedFile[];
|
|
260
|
+
cwd: string;
|
|
261
|
+
readFile(path: string): string | undefined;
|
|
262
|
+
}
|
|
263
|
+
interface CheckModeResult {
|
|
264
|
+
ok: boolean;
|
|
265
|
+
diagnostics: Diagnostic[];
|
|
266
|
+
}
|
|
267
|
+
declare function checkGeneratedFiles(input: CheckModeInput): CheckModeResult;
|
|
268
|
+
//#endregion
|
|
269
|
+
//#region packages/core/src/plugins/pluginRegistry.d.ts
|
|
270
|
+
declare class PluginRegistry {
|
|
271
|
+
#private;
|
|
272
|
+
registerSource(plugin: SourcePlugin): void;
|
|
273
|
+
getSource(name: string): SourcePlugin | undefined;
|
|
274
|
+
listSources(): SourcePlugin[];
|
|
275
|
+
}
|
|
276
|
+
//#endregion
|
|
277
|
+
//#region packages/core/src/index.d.ts
|
|
278
|
+
/**
|
|
279
|
+
* Represents a file generated by the compiler.
|
|
280
|
+
*/
|
|
281
|
+
interface GeneratedFile {
|
|
282
|
+
/** Relative path from the output directory. */
|
|
283
|
+
path: string;
|
|
284
|
+
/** File content. */
|
|
285
|
+
contents: string;
|
|
286
|
+
}
|
|
287
|
+
/**
|
|
288
|
+
* Location in the source HTML file.
|
|
289
|
+
*/
|
|
290
|
+
interface SourceLocation {
|
|
291
|
+
/** Absolute offset in characters. */
|
|
292
|
+
offset: number;
|
|
293
|
+
/** 1-based line number. */
|
|
294
|
+
line: number;
|
|
295
|
+
/** 1-based column number. */
|
|
296
|
+
column: number;
|
|
297
|
+
}
|
|
298
|
+
/**
|
|
299
|
+
* A normalized node in the design AST.
|
|
300
|
+
*/
|
|
301
|
+
interface DesignNode {
|
|
302
|
+
/** The type of node. */
|
|
303
|
+
kind: "element" | "text" | "component";
|
|
304
|
+
/** HTML tag name (for element kind). */
|
|
305
|
+
tagName?: string;
|
|
306
|
+
/** HTML attributes (for element kind). */
|
|
307
|
+
attributes?: Record<string, string>;
|
|
308
|
+
/** Parsed inline styles (for element kind). */
|
|
309
|
+
styles?: Record<string, string>;
|
|
310
|
+
/** Utility classes to apply. */
|
|
311
|
+
generatedClassNames?: string[];
|
|
312
|
+
/** Child nodes. */
|
|
313
|
+
children?: DesignNode[];
|
|
314
|
+
/** Inner text content (for text kind). */
|
|
315
|
+
text?: string;
|
|
316
|
+
/** Original location in the source HTML. */
|
|
317
|
+
source?: SourceLocation;
|
|
318
|
+
/** Component name (for component kind). */
|
|
319
|
+
component?: string;
|
|
320
|
+
/** Named export of the component. */
|
|
321
|
+
importName?: string;
|
|
322
|
+
/** Mapped prop values for the component. */
|
|
323
|
+
props?: Record<string, PropValue>;
|
|
324
|
+
/** Import path of the component. */
|
|
325
|
+
importPath?: string;
|
|
326
|
+
}
|
|
327
|
+
/**
|
|
328
|
+
* A value passed to a component prop.
|
|
329
|
+
*/
|
|
330
|
+
type PropValue = {
|
|
331
|
+
kind: "literal";
|
|
332
|
+
value: string | number | boolean;
|
|
333
|
+
} | {
|
|
334
|
+
kind: "text";
|
|
335
|
+
value: string;
|
|
336
|
+
} | {
|
|
337
|
+
kind: "children";
|
|
338
|
+
value: DesignNode[];
|
|
339
|
+
};
|
|
340
|
+
/**
|
|
341
|
+
* A parsed CSS selector.
|
|
342
|
+
*/
|
|
343
|
+
interface ParsedSelector {
|
|
344
|
+
/** Optional tag name. */
|
|
345
|
+
tagName?: string;
|
|
346
|
+
/** Optional ID selector. */
|
|
347
|
+
id?: string;
|
|
348
|
+
/** List of class names. */
|
|
349
|
+
classes: string[];
|
|
350
|
+
/** Attribute selectors. */
|
|
351
|
+
attributes: Record<string, string>;
|
|
352
|
+
}
|
|
353
|
+
/**
|
|
354
|
+
* Input for the core embed function.
|
|
355
|
+
*/
|
|
356
|
+
interface DesignEmbedInput {
|
|
357
|
+
/** The source design HTML. */
|
|
358
|
+
html: string;
|
|
359
|
+
/** Optional external CSS. */
|
|
360
|
+
css?: string;
|
|
361
|
+
/** Optional path to the config file (for resolution). */
|
|
362
|
+
configPath?: string;
|
|
363
|
+
/** The compiler configuration. */
|
|
364
|
+
config?: DesignEmbedConfig;
|
|
365
|
+
/** Working directory. */
|
|
366
|
+
cwd?: string;
|
|
367
|
+
/** The target emitter to use. */
|
|
368
|
+
targetEmitter: TargetEmitter;
|
|
369
|
+
}
|
|
370
|
+
/**
|
|
371
|
+
* Result of the embedding process.
|
|
372
|
+
*/
|
|
373
|
+
interface DesignEmbedResult {
|
|
374
|
+
/** Generated files. */
|
|
375
|
+
files: GeneratedFile[];
|
|
376
|
+
/** Diagnostics reported during compilation. */
|
|
377
|
+
diagnostics: Diagnostic[];
|
|
378
|
+
}
|
|
379
|
+
/**
|
|
380
|
+
* The main compiler entry point.
|
|
381
|
+
* Parses HTML, applies component mappings, and emits files.
|
|
382
|
+
*
|
|
383
|
+
* @param input - The compilation input.
|
|
384
|
+
* @returns A promise resolving to the compilation result.
|
|
385
|
+
*
|
|
386
|
+
* @example
|
|
387
|
+
* const result = await embed({
|
|
388
|
+
* html: '<div class="btn">Click me</div>',
|
|
389
|
+
* config: myConfig,
|
|
390
|
+
* targetEmitter: reactEmitter
|
|
391
|
+
* });
|
|
392
|
+
*/
|
|
393
|
+
declare function embed(input: DesignEmbedInput): Promise<DesignEmbedResult>;
|
|
394
|
+
declare function applyComponentMappings(nodes: DesignNode[], mappings: ComponentMapping[], diagnostics?: Diagnostic[]): DesignNode[];
|
|
395
|
+
declare function parseSelector(selector: string): ParsedSelector | undefined;
|
|
396
|
+
declare function matchesSelector(node: DesignNode, selector: ParsedSelector): boolean;
|
|
397
|
+
declare function parseHtml(html: string): DesignNode[];
|
|
398
|
+
declare function parseInlineStyle(style: string | undefined): Record<string, string>;
|
|
399
|
+
//#endregion
|
|
400
|
+
export { type CheckModeInput, type CheckModeResult, ComponentMapping, ConfigDiagnostic, DesignEmbedConfig, DesignEmbedInput, DesignEmbedResult, DesignNode, type Diagnostic, type DiagnosticSeverity, type GeneratedAsset, GeneratedFile, type JsonDiagnostic, LoadConfigResult, NumericTokenGroup, ParsedSelector, PluginDefinition, PluginRegistry, PropValue, SourceLocation, type SourcePlugin, type SourcePluginInput, type SourcePluginResult, StyleMappings, StyleMode, TargetAdapterDefinition, type TargetEmitInput, type TargetEmitResult, type TargetEmitter, type TargetTestGenerateInput, type TargetTestGenerateResult, type TargetTestGenerator, TestAssertions, TestGenerationConfig, TestState, TestViewport, TokenConfig, applyComponentMappings, checkGeneratedFiles, defineConfig, embed, formatDiagnosticText, loadConfig, matchesSelector, parseHtml, parseInlineStyle, parseSelector, toJsonDiagnostic, toJsonDiagnostics, validateConfig };
|
package/dist/index.mjs
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { a as parseInlineStyle, c as checkGeneratedFiles, d as toJsonDiagnostics, f as defineConfig, i as parseHtml, l as formatDiagnosticText, m as validateConfig, n as embed, o as parseSelector, p as loadConfig, r as matchesSelector, s as PluginRegistry, t as applyComponentMappings, u as toJsonDiagnostic } from "./src-D3fnqGCq.mjs";
|
|
2
|
+
export { PluginRegistry, applyComponentMappings, checkGeneratedFiles, defineConfig, embed, formatDiagnosticText, loadConfig, matchesSelector, parseHtml, parseInlineStyle, parseSelector, toJsonDiagnostic, toJsonDiagnostics, validateConfig };
|