@maverick-js/compiler
Version:
Maverick toolchain including the analyzer and compiler.
49 lines (48 loc) • 1.48 kB
TypeScript
import type { ComponentMeta, PropMeta } from '../meta/component';
import type { AnalyzePluginBuilder } from './AnalyzePlugin';
export interface VSCodePluginConfig extends Record<string, unknown> {
cwd: string;
outFile: string;
transformTagData?: (component: ComponentMeta, data: ITagData) => ITagData;
transformAttributeData?: (prop: PropMeta, data: IAttributeData) => IAttributeData;
}
/**
* Transforms component metadata into [VSCode Custom Data](https://github.com/microsoft/vscode-custom-data).
* This will run in the `transform` plugin lifecycle step.
*/
export declare const createVSCodePlugin: AnalyzePluginBuilder<Partial<VSCodePluginConfig>>;
/**
* https://github.com/microsoft/vscode-html-languageservice/blob/master/src/htmlLanguageTypes.ts#L164
*/
export interface IReference {
name: string;
url: string;
}
export interface ITagData {
name: string;
description?: string;
attributes: IAttributeData[];
references?: IReference[];
}
export interface IAttributeData {
name: string;
description?: string;
valueSet?: string;
values?: IValueData[];
references?: IReference[];
}
export interface IValueData {
name: string;
description?: string;
references?: IReference[];
}
export interface IValueSet {
name: string;
values: IValueData[];
}
export interface HTMLDataV1 {
version: 1 | 1.1;
tags?: ITagData[];
globalAttributes?: IAttributeData[];
valueSets?: IValueSet[];
}