@spiracss/html-cli 0.3.1 → 0.3.3
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/README.md +5 -3
- package/dist/cli.js +62 -61
- package/dist/generator-core.d.ts +5 -2
- package/dist/generator-core.d.ts.map +1 -1
- package/dist/html-format.d.ts +6 -3
- package/dist/html-format.d.ts.map +1 -1
- package/dist/html-format.js +48 -47
- package/dist/html-lint.js +49 -48
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +55 -54
- package/dist/jsx-class-bindings.d.ts +12 -0
- package/dist/jsx-class-bindings.d.ts.map +1 -0
- package/package.json +1 -1
package/dist/generator-core.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type CheerioAPI } from 'cheerio';
|
|
2
2
|
import type { Element } from 'domhandler';
|
|
3
|
+
import { type JsxClassBindingOptions } from './jsx-class-bindings';
|
|
3
4
|
export type WordCase = 'kebab' | 'snake' | 'camel' | 'pascal';
|
|
4
5
|
export type FileNameCase = 'preserve' | WordCase;
|
|
5
6
|
export type VariantMode = 'data' | 'class';
|
|
@@ -63,11 +64,13 @@ export type GeneratorOptions = {
|
|
|
63
64
|
childFileCase?: FileNameCase;
|
|
64
65
|
selectorPolicy?: SelectorPolicy;
|
|
65
66
|
external?: ExternalOptions;
|
|
67
|
+
jsxClassBindings?: JsxClassBindingsConfig;
|
|
66
68
|
};
|
|
67
69
|
export type ExternalOptions = {
|
|
68
70
|
classes?: string[];
|
|
69
71
|
prefixes?: string[];
|
|
70
72
|
};
|
|
73
|
+
export type JsxClassBindingsConfig = Pick<JsxClassBindingOptions, 'memberAccessAllowlist'>;
|
|
71
74
|
export type GeneratedFile = {
|
|
72
75
|
path: string;
|
|
73
76
|
content: string;
|
|
@@ -80,7 +83,7 @@ type AttributeSelector = {
|
|
|
80
83
|
key: string;
|
|
81
84
|
value: string;
|
|
82
85
|
};
|
|
83
|
-
export declare function sanitizeHtml(raw: string): string;
|
|
86
|
+
export declare function sanitizeHtml(raw: string, jsxOptions?: JsxClassBindingsConfig): string;
|
|
84
87
|
export interface ComponentStructure {
|
|
85
88
|
baseClass: string;
|
|
86
89
|
isIndependent: boolean;
|
|
@@ -107,7 +110,7 @@ export declare function classifyBaseClass(name: string, naming: NamingOptions):
|
|
|
107
110
|
export declare function buildTree($: CheerioAPI, elem: Element, naming: NamingOptions, depth?: number): ComponentStructure | null;
|
|
108
111
|
export declare function buildTree($: CheerioAPI, elem: Element, naming: NamingOptions, selectorPolicy?: SelectorPolicy, depth?: number): ComponentStructure | null;
|
|
109
112
|
export declare function buildTree($: CheerioAPI, elem: Element, naming: NamingOptions, selectorPolicy?: SelectorPolicy, externalOptions?: ExternalOptions, depth?: number): ComponentStructure | null;
|
|
110
|
-
export declare function lintHtmlStructure(rawHtml: string, isRootMode: boolean, naming: NamingOptions, selectorPolicy?: SelectorPolicy, externalOptions?: ExternalOptions): HtmlLintIssue[];
|
|
113
|
+
export declare function lintHtmlStructure(rawHtml: string, isRootMode: boolean, naming: NamingOptions, selectorPolicy?: SelectorPolicy, externalOptions?: ExternalOptions, jsxClassBindings?: JsxClassBindingsConfig): HtmlLintIssue[];
|
|
111
114
|
export declare function generateFromHtml(rawHtml: string, docDir: string, isRootMode: boolean, opts: GeneratorOptions): GeneratedFile[];
|
|
112
115
|
export declare function summarizeRootBlocks(rawHtml: string, isRootMode: boolean, opts: GeneratorOptions): RootBlockSummary[];
|
|
113
116
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator-core.d.ts","sourceRoot":"","sources":["../src/generator-core.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,UAAU,EAAQ,MAAM,SAAS,CAAA;AAC/C,OAAO,KAAK,EAAW,OAAO,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"generator-core.d.ts","sourceRoot":"","sources":["../src/generator-core.ts"],"names":[],"mappings":"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"}
|
package/dist/html-format.d.ts
CHANGED
|
@@ -1,14 +1,17 @@
|
|
|
1
|
-
import { type NamingOptions } from './generator-core';
|
|
1
|
+
import { type JsxClassBindingsConfig, type NamingOptions } from './generator-core';
|
|
2
2
|
export type ClassAttribute = 'class' | 'className';
|
|
3
3
|
export type InsertPlaceholdersResult = {
|
|
4
4
|
html: string;
|
|
5
5
|
hasTemplateSyntax: boolean;
|
|
6
6
|
changeCount: number;
|
|
7
7
|
};
|
|
8
|
-
export
|
|
8
|
+
export type InsertPlaceholdersOptions = {
|
|
9
|
+
jsxClassBindings?: JsxClassBindingsConfig;
|
|
10
|
+
};
|
|
11
|
+
export declare function insertPlaceholders(html: string, naming: NamingOptions, classAttribute?: ClassAttribute, options?: InsertPlaceholdersOptions): string;
|
|
9
12
|
/**
|
|
10
13
|
* Insert placeholders and return details.
|
|
11
14
|
* If template syntax is detected, skip processing and return original HTML.
|
|
12
15
|
*/
|
|
13
|
-
export declare function insertPlaceholdersWithInfo(html: string, naming: NamingOptions, classAttribute?: ClassAttribute): InsertPlaceholdersResult;
|
|
16
|
+
export declare function insertPlaceholdersWithInfo(html: string, naming: NamingOptions, classAttribute?: ClassAttribute, options?: InsertPlaceholdersOptions): InsertPlaceholdersResult;
|
|
14
17
|
//# sourceMappingURL=html-format.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"html-format.d.ts","sourceRoot":"","sources":["../src/html-format.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"html-format.d.ts","sourceRoot":"","sources":["../src/html-format.ts"],"names":[],"mappings":"AAWA,OAAO,EAAqB,KAAK,sBAAsB,EAAE,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAkCrG,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,WAAW,CAAA;AA0TlD,MAAM,MAAM,wBAAwB,GAAG;IACrC,IAAI,EAAE,MAAM,CAAA;IACZ,iBAAiB,EAAE,OAAO,CAAA;IAC1B,WAAW,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG;IACtC,gBAAgB,CAAC,EAAE,sBAAsB,CAAA;CAC1C,CAAA;AAED,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,aAAa,EACrB,cAAc,GAAE,cAAwB,EACxC,OAAO,GAAE,yBAA8B,GACtC,MAAM,CAER;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,aAAa,EACrB,cAAc,GAAE,cAAwB,EACxC,OAAO,GAAE,yBAA8B,GACtC,wBAAwB,CA2D1B"}
|